Mining Communities in Big-Data with Algorithms and Computational Thinking
Algorithm, Cloud & Security     /     X-Cluster
This workshop will teach students how to use algorithms and computational thinking (CT) for community detection in large graphs built from big-data, and to use them to gain insights and solve real world problems. Computational thinking is about applying powerful ideas in computer science (problem formulation, abstraction, decomposition, pattern recognition, and algorithm design) to formulate and tackle real world problems.

Students will apply what they learn to a mini-project where they do knowledge discovery from big data in the real world. They work in teams, they choose their own topics, find appropriate datasets from the real world, and they learn to model their datasets using graphs, and then use algorithms to identify communities in these graphs. Then they apply ideas in CT knowledge to analyze the communities identified in the search of new knowledge or insights about the communities. For example, the communities can provide new insights to how the individual nodes interact, the role of certain nodes in the communities (the driver nodes, the hubs and authorities in the graph), can also help to condense large graphs into communities, and can help in visualization of these large graphs which is helpful in many other big-data analytics tasks

Learning Goals/Objectives
  • how to do in-depth design and analysis of algorithms
  • develop insights into CD algorithms and their strengths and weaknesses;
  • ability to use big data platforms to implement CD projects,
  • learn how to define graph models from big data,
  • ability to use CD algorithms,
  • be able apply CT to formulate appropriate questions about communities identified,
  • learn to have big picture view of data questions
  • learn to have independent thinking and good learning attitudes,
  • encourage initiative, and growth mindset.
  • learn to openly express ideas, brainstorm solutions, and have healthy discussion.
  • learning teamwork and leadership, and how to be a good team member.
  • realise that learning is all about you yourself, and not about competition with others.
  • touch on useful life skills and attitudes for university study and future work/career.
  • most importantly, help you to have fun and fall in love with algorithms!
Students must:
  • have completed at least Year 2 in CS-related majors
  • have taken 2 or more programming and data-structure courses,
  • know basic data structures (arrays, matrices, lists, stacks, queues, trees and graphs)
  • have actually programmed with graph algorithms
  • knows complexity analysis of algorithms using the O,θ notations. 

  • (We allow a small number of Year 1 CS-related majors who are strong in the above topics, and can do well in our assignment)
Students should have curiosity and an open mind to learn and change.
About Professor
Professor Leong Hon Wai
Department of Computer Science, School of Computing, NUS

Prof Leong received the B.Sc. (Hon) in Mathematics from University of Malaya and Ph.D. degree in Computer Science from the University of Illinois at Urbana-Champaign. 
His research interests are in the design and analysis of algorithms, optimization and discrete mathematics. He works in many areas including VLSI design, transportation logistics, multimedia systems, and computational biology. 
He is known for his inspiring teaching style where he excels in finding simple ways to explain complicated subject matters. He loves to integrate CT and growth-mindset into his classes. He is passionate about fostering the love for Computing and Mathematics in all students, especially young students. He gives outreach talks/workshops on CT, creative problem solving, matheMAGIC and CS-Unplugged. He also mentors many students’ research projects. 
In Singapore, he started the Singapore training program for the IOI (International Olympiad in Informatics). Since 2007, he has been co-organizing the code::XtremeApps competition, especially the Junior category for Primary School students. He is a member of ACM, IEEE, ISCB, and a Fellow of the Singapore Computer Society.