Teaching

 

  • CS 452/552 Data Science with Python

This course aims to equip graduate students with the practical Machine Learning skills to solve real-life Data Science problems using existing tools and Python programming language.

  • 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 451/561 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.

  • SEC 405 Artificial Intelligence: Impact on Humanity, Society and Business

To introduce students to human, societal and business impacts of Artificial Intelligence, as well as to equip them with the basic historical and philosophical background, intellectual tools, legal/ethical foundations and psychological framework to successfully adapt to the age of artificially intelligent technologies. Sec 405 pursues a cross-disciplinary investigation of the effects of emerging technologies of Artificial Intelligence, with an emphasis on its societal impacts. A variety of issues are covered, including an overview and history of Artificial Intelligence, the philosophical and ethical problems raised by it, the legal, social, economic, political and psychological impact of AI, and the future challenges posed by the new technologies.

  • CS 101 Computer Programming

This course introduces the student to the fundamental concepts of computers, computer programming, and algorithm design and implementation using a modern programming language (e.g. Java). It covers computer organization, hardware and software terminology, programming environments and tools, Java programming syntax, control statements (if-else, loops, break, continue), methods, parameters, classes, and principal software engineering guidelines.

  • CS 202 Database Management Systems

This course covers fundamental concepts in database management systems (DBMS). Topics include schemas, functional relations and normalization in relational databases, data storage medium, and file systems. In addition, new and emerging types DBMS that support object-oriented, semi-structured XML data models are discussed. Students learn to implement SQL queries and optimize them over open-source and/or commercial databases. They also develop applications using databases.

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

Recent Posts