About This Course
This course covers topics in Combinatorics and Algorithms Design. We comprehensively discuss basic concepts, theories, methods, and instances in Combinatorics while focusing on concepts and ideas. Selected topics include: the Pigeonhole Principle, counting, combinations, Polya counting, recurrence relations and generating functions, graph, and linear programming etc. We also discuss basic mathematics concepts in algorithms design including growth of function, Big-O notations and recurrence relations etc., and basic strategies of algorithms design including randomized algorithms, divide and conquer, and dynamic programming etc.
Course Staff
Staff Member #1
Yuchun Ma has received the Distinguished Teaching Award at Tsinghua and the First-prize award in Teaching competition at Beijing in 2013. She received her undergraduate degree in Computer Science from Xi’an Jiaotong University in 1999, and her Ph.D. in Computer Science from Tsinghua in 2004.
Staff Member #2
Ying Zhao received her Ph.D. degree in Computer Science and Bioinformatics from the University of Minnesota, Minneapolis, MN in 2005. Her research interests include data mining, machine learning, and autonomic computing. She has published book chapters and research papers in international journals and conferences and served on program committees for various international conferences. She is teaching "Combinatorics and Algorithms Design" and "Algorithms and Computational Complexity" at Tsinghua University.