Courses

ENGINEERING COMPUTATION

CS 110

Some fundamental numerical method for engineering are taught

ANALYSIS OF ALGORITHMS

CS 333

A fundamental computer science course on algorithm correctness, complexity and intractability

Automata Theory and Formal Languages

CS 410

A fundamental computer science course on the theory of abstract machines and formal languages. Topics of decidability and undecidability are covered.

INTRODUCTION to Robot PROGRAMMING

CS 511

A graduate course in introductory robotics and robot programming. Kinematics, dynamics and basic control concepts are covered with a focus on programming and building a basic robotic simulation.

Deep REINFORCEMENT LEARNING

CS 545

A Reinforcement Learning course with a focus on function approximation with (deep) neural networks. In addition to value based RL methods, policy gradient methods that can be applied to continuous state and continuous action problems are also covered.

INTRODUCTION to Neural Networks and MACHINE LEARNING

CS 554

A classical neural network course covering fundamental neural network architectures and machine learning methods.

Theory of COMPUTATION

CS 555

A course on theory of computation spanning CS333 and CS410 with more depth

INTRODUCTION TO ARTIFICIAL INTELLIGENCE

CS 561

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.

COLLECTIVE DECISION MAKING IN MULTI-AGENT SYSTEMS

CS 562

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