Skip to main content



CS462/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 451/551 Introduction to Artificial Intelligence

The aim of this course is to introduce students main concepts and techniques of Artificial Intelligence (AI). The course targets equipping the students with the ability of building intelligent computational systems. Major topics of the course include: intelligent agents, heuristic search, game playing, constraint satisfaction, uncertain knowledge and reasoning, decision making and machine learning.

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).