Computer Science Curriculum

  • EECS 325 - Artificial Intelligence Programming

    CATALOG DESCRIPTION:Introduction to Lisp and programming knowledge-based systems and interfaces. Strong emphasis on writing maintainable, extensible systems. Topics include: semantic networks, frames, pattern matching, deductive inference rules, case-based reasoning, discrimination trees. Project-driven. Substantial programming assignments.

    Instructor's course page

  • EECS 337 - Introduction to Semantic Information Processing

    CATALOG DESCRIPTION:A semantics-oriented introduction to natural language processing, broadly construed. Representation of meaning and knowledge inference in story understanding, script/frame theory, plans and plan recognition, counter-planning, and thematic structures.

    • This course satisfies the project requirement 
  • EECS 344 - Design of Computer Problem Solvers

    CATALOG DESCRIPTION:Principles and practice of organizing and building AI reasoning systems. Topics include pattern-directed rule systems, truth-maintenance systems, and constraint languages.

    • This course satisfies the project requirement. 
  • EECS 348 - Introduction to Artificial Intelligence

    CATALOG DESCRIPTION:Core techniques and applications of artificial intelligence. Representation retrieving and application of knowledge for problem solving. Hypothesis exploration, theorem proving, vision and neural networks.

  • EECS 349 - Machine Learning

    CATALOG DESCRIPTION:Machine Learning is the study of algorithms that improve automatically through experience. Topics covered typically include Bayesian Learning, Decision Trees, Genetic Algorithms, Neural Networks.

  • EECS 360 - Introduction to Feedback Systems

    CATALOG DESCRIPTION:Linear feedback control systems, their physical behavior, dynamical analysis, and stability. Laplace transform, frequency spectrum, and root locus methods. System design and compensation using PID and lead-lag controllers. Digital implementations of analog controllers.

  • EECS 371 - Knowledge Representation and Reasoning

    COURSE DESCRIPTION: Principles and practices of knowledge representation, including logics, ontologies, common sense knowledge, and semantic web technologies.

    • Prerequisite: 348, 325, or equivalent experience with artificial intelligence.
    • This course satisfies the project requirement. 
  • EECS 372/472 - Designing and Constructing Models with Multi-Agent Languages

    CATALOG DESCRIPTION: This course focuses on the exploration, construction and analysis of multi-agent models. Sample models from a variety of content domains are explored and analyzed. Spatial and network topologies are introduced. The prominent agent-based frameworks are covered as well as methodology for replicating, verifying and validating agent-based models. We use state of the art ABM and complexity science tools. This course can help satisfy the project course and artificial intelligence area course requirement for CS and CIS majors, and satisfy the breadth requirement in artificial intelligence for Ph.D. students in CS. It also satisfies a design course requirement for Learning Sciences graduate students, counts towards the Cognitive Science specialization and as an advanced elective for the Cognitive Science major.

  • EECS 395/495 - Knowledge, Representation & Reasoning for Game Characters

    CATALOG DESCRIPTION: This course will explore the use of formal knowledge representation and reasoning methods from artificial intelligence in the use of an experimental computer game. Topics include logic programming and the Prolog language, knowledge representation, planning and action selection, and simple natural language dialog.

  • EECS 395/495 - Machine Learning: Foundations, Applications, and Algorithms

    COURSE DESCRIPTION:  From robotics, speech recognition, and analytics to finance and social network analysis, machine learning has become one of the most useful set of scientific tools of our age. With this course we want to bring interested students and researchers from a wide array of disciplines up to speed on the power and wide applicability of machine learning. The ultimate aim of the course is to equip you with all the modelling and optimization tools you’ll need in order to formulate and solve problems of interest in a machine learning framework. We hope to help build these skills through lectures and reading materials which introduce machine learning in the context of its many applications, as well as by describing in a detailed but user-friendly manner the modern techniques from nonlinear optimization used to solve them. In addition to a well curated collection of reference materials, registered students will receive a draft of a forthcoming manuscript authored by the instructors on machine learning to use as class notes.

    • This course counts towards the AI breadth requirement for both undergraduate and graduate students. Students may receive credit for both this course and EECS 349.
  • EECS 395/495 - Simulation-Based Virtual Characters for Interactive Entertainment

    CATALOG DESCRIPTION:This course will cover the basic principles of character simulation, including artificial intelligence, physical simulation, and animation.  Grading will be based on programming assignments and open projects involving the Twig procedural animation system.  AI topics will include: emotion and personality simulation, social simulation, behavior-based programming, reactive planning, and path planning.  Other topics will include physical simulation of rigid and non-rigid bodies, procedural animation, and control structures for interactive narrative.