• CS 462/562 Collective Decision Making In Multi-agent Systems

This course provides an overview of collective decision making within multiagent systems and its main concepts, theories, and algorithms. It covers utility theory, preference aggregation, voting methods, principles of automated negotiation, and group recommender systems.

  • CS 333 Algorithm Analysis

This course aims to equip students with the skills of designing algorithms for a range of computational problems (graph theoretic, number theoretic and general data processing) and analyzing the time efficiency and correctness of algorithms. It covers the following topics: Greedy/Dynamic Programming/ Divide and Conquer Algorithm Design Paradigms, Graph algorithms (minimum path, spanning tree, max flow), and intractability (NP & NP-complete problem classes).