CSE 40171 is a senior-level Computer Science and Engineering course at the University of Notre Dame that introduces students to the fundamentals of artificial intelligence. Once a topic of merely historical interest, artificial intelligence has re-emerged as one of the most vibrant subfields of computer science. Applications ranging from video games to autonomous vehicles now rely on breakthroughs related to data-driven learning algorithms and massively parallel hardware. And in light of these successes, one might think that the replication of general intelligence in a computer is just around the corner. However, the reality of the situation is quite the opposite: a comprehensive understanding of how the brain works has yet to emerge. While this divide is a significant stumbling block to progress, it also presents an intriguing opportunity to reverse engineer aspects of intelligence to forward engineer artificial solutions to real problems. A grasp of the limits and the potentials of various approaches to do this is essential. In this vein, this course will be a tour of the classic ideas (both good and bad) and state-of-the-art methods in AI, both within the context of our current understanding of how the brain processes information. An emphasis is placed on application domains where AI has achieved the most success: Games, Computer Vision and Natural Language Processing.
Upon successful completion of this course, students will be able to:
Understand the philosophical underpinnings of the field and motivations for pursuing the replication of certain competencies of the brain.
Relate real-life problems to perceptual and cognitive models that are able to solve aspects of them in an efficient manner.
Deploy general search algorithms that can be applied to a wide variety of tasks.
Formulate decision making processes that can be used for planning and classification purposes.
Build intelligent agents that perform simple tasks in an autonomous fashion.
Learn task-specific models from large collections of labeled training data samples using algorithms that are optimized using numeric solvers.
Utilize state-of-the-art software frameworks for building solutions to problems related to games, computer vision, natural language processing, and other general data science applications.
Identify problems that are solvable with today's AI algorithms and others that require novel solutions.
|Introduction||08/22||Introduction, Syllabus, History of AI Slides|
|08/24||Philosophical Perspectives Slides||R & N: Chpt. 1|
|The Brain||08/27||Perception Slides||D. Marr on AI|
|08/29||Cognition Slides||To Grow a Mind|
|08/31||Neural Computation Slides||The Connectome|
|Uninformed Search||09/3||Search Spaces Slides||R & N: 3.1-3.2; Homework 01|
|09/5||Search Trees Slides||R & N: 3.3-3.4|
|Informed Search||09/7||A* Search Slides||R & N: 3.5|
|09/10||Search Heuristics Slides||R & N: 3.6|
|Constraint Satisfaction Problems||09/12||Defining CSPs Slides||R & N: 6.1; Homework 02|
|09/14||Inference and Backtracking Search Slides||R & N: 6.2-6.3|
|09/17||Local Search and Problem Structure Slides||R & N: 4.1, 6.4-6.5|
|Adversarial Search||09/19||Games and Optimality Slides||R & N: 5.1-5.2|
|09/21||Game Trees: Alpha-Beta Pruning; Imperfect Decisions Slides||R & N: 5.3-5.4; Homework 03|
|09/24||Game Trees: Expectimax; Partial Observability Slides||R & N: 5.5-5.8|
|9/28||Checklist 01 Quiz 01|
|10/1||Probability Slides||R & N: 13.1-13.2; Project Proposal|
|10/3||Probability Slides||R & N: 13.3-13.4|
|10/5||Probability Distributions Slides||Prince, Chpt. 3; Homework 04|
|Bayesian Networks||10/8||Bayes' Theorem and Knowledge Representation Slides||R & N: 14.1-14.3|
|10/10||Bayesian Networks: Inference Slides||R & N: 14.4|
|10/12||Bayesian Networks: Sampling Slides||R & N: 14.5||Fall Break|
|Reasoning Over Time||10/22||Markov Models Slides||R & N: 15.1-15.2; Homework 05|
|10/24||Hidden Markov Models Slides||R & N: 15.3-15.4|
|10/26||Applications of Hidden Markov Models Slides||R & N: 15.5|
|Learning from Data||10/29||Supervised Learning Slides||R & N: 18.1-18.2|
|10/31||Unsupervised Learning Slides||R & N: 20.3; Homework 06|
|11/2||Best Practices for Training and Evaluation Slides||R & N: 18.11|
|Learning Algorithms||11/5||Naive Bayes Slides||R & N: 13.5 Project Update|
|11/7||Perceptrons Slides||R & N: 18.7.1-18.7.2|
|11/9||Kernel Machines Slides||R & N: 18.8-18.9; Homework 07|
|11/14||Checklist 02 Quiz 02|
|Artificial Neural Networks||11/16||Structure of Neural Networks|
|11/19||Gradient-based Optimization||Homework 08|
|11/26||Team Project Presentations||Team Presentations|
|11/28||Team Project Presentations|
|11/30||Team Project Presentations|
|12/3||Artificial Neural Network Architectures|
|Final Project||12/12||Project Due|
|Participation Participation in class, office hours, and slack discussions.||100|
|Homeworks Homework assignments.||8 × 100|
|Project Final group project.||700|
|Quizzes In-class quizzes.||2 × 200|
All Homeworks are to be submitted to your own private GitLab repository. Unless specified otherwise:
Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students.
Foreseeable absences should be discussed with the instructor ahead of time.
Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disabilities.
Any academic misconduct in this course is considered a serious offense, and the strongest possible academic penalties will be pursued for such behavior. Students may discuss high-level ideas with other students, but at the time of implementation (i.e., programming), each person must do his/her own work. Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, to allow another person to copy, all or part of an exam or a assignment, or to fake program output. It is also a violation of the Undergraduate Academic Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security and integrity of your own work.
In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.
Otherwise, a late penalty, as determined by the instructor, will be assessed to any late submission of an assignment. In general, the late penality is -10 points off for each day after the assigned deadline. The instructor reserves the right to refuse any unexcused late work.
Notre Dame has implemented a classroom recording system. This system allows us to record and distribute lectures to you in a secure environment. You can watch these recordings on your computer, tablet, or smartphone. The recordings can be accessed within Sakai.
Because we will be recording in the classroom on select occasions, your questions and comments may be recorded. (Video recordings typically only capture the front of the classroom.) If you have any concerns about your voice or image being recorded, please speak to me to determine an alternative means of participating. No content will be shared with individuals outside of your course without your permission except for faculty and staff that need access for support or specific academic purposes.
These recordings are jointly copyrighted by the University of Notre Dame and your instructor. Posting them to other websites, including YouTube, Facebook, Vimeo, or elsewhere without express, written permission may result in disciplinary action and possible civil prosecution.
For the assignments in this class, you may discuss with other students and consult printed and online resources. You may quote from books and online sources as long as you cite them properly. However, you may not look at another student's solution, and you may not copy solutions.
For further guidance please refer to the CSE Honor Code or ask the instructor.