Time/Location: Tuesday/Thursday 5:00–6:30 pm, Media & Communication 00067
Class material will be posted here and on Blackboard.
Piazza for the course is now alive. Please ask all questions/discussions via Piazza
Instructor: Tara Salman (tsalman at ttu dot edu)
TA: Rukayat Olapojoye (rolapojoye at ttu dot edu)
Office hours (Salman): Tuesday/Thursday 3-5 pm, EC306A
TA Office hours: Mondays/Wednesday 12–1pm, ECB: RM 202B
This course is an introduction to Artificial Intelligent (AI) course that will focus on how to build systems that think and act like humans or rationally on some absolute scale. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. Topic covered includes problem-solving via search, game playing, logical and probabilistic reasoning, planning, Markov modeling, and machine learning (neural nets, reinforcement learning, and genetic algorithms).
By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable, and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.
The course targets graduate students and advanced undergraduates. Evaluation is based on programming assignments, written/ electronic assignments, a midterm exam, and a final exam.
If you are unsure about any of these, please speak to the instructor
The course is for graduate students
For face-to-face, you need to be in CS or Software Engineering
Classes Prerequisites: CS 2382 (discrete mathematics), CS2413 (data structures and programming principles), CS3364 (design and analysis algorithms), or permission from the department
Knowledge Prerequisites:
Lots of Python programming! This will be critical to complete the programming assignments. If you do not know Python, or are rusty, you may find some resources below. Project 0 will help you assess your knowledge in python
Some basic knowledge of statistics, probabilities, and logical thinking. Homework 0 will help you assess your knowledge
Projects/programming assignments: 45% ( submitted via blackboard. You will be able to grade yourself)
Attendance/participation: 5%
HWs (optional): 5-10% (submitted via gradescope)
Midterm: 25% (Thursday, October 13th 5:00 pm to 6:30 pm )
Final: 25% ( Friday December 9th, 7:30 pm to 10:00 pm)
Homework 0 is available on Gradescope. It is due on Tuesday, September 6th.
Project 0 is available on here and on blackboard and is due on Tuesday, September 13th.
Homework 1 is available on Gradescope. It is due on Tuesday, September 20th.
Project 1 is available on here and on blackboard and is due on Tuesday, September 27th.
Homework 2 is available on Gradescope. It is due on Tuesday, October 4th.
Homework 3 is available on Gradescope. It is due on Tuesday, October 11th.
Project 2 is available on here and on blackboard and is due on Tuesday, October 18th.
Homework 4 is available on Gradescope. It is due on Tuesday, October 25th.
Project 3 is available on here and on blackboard and is due on Tuesday, November 8th.
Homework 5 is available on Gradescope. It is due on Tuesday, November 8th.
Project 4 is available and on blackboard and is due on Thursday, December 1st.
You may consider Project 5 (ML) if you were interested in the ML part of the course.
Note that to access the videos, you need both link and passcode
Lecture 1 (Introduction to AI)
Reading: Russel/Norvig, Chapter 1, Sections 26.3 and 27.4
Video: Pieter Abbeel giving the introductory lecture for the Spring 2018 Berkeley CS 188 course
Video: Dan Klein giving the introductory lecture for the Fall 2013 Berkeley CS 188 course
Lecture 2 (Search part 1)
Reading: Russel/Norvig, Chapter 3.1 to 3.4
Video: Pieter Abbeel giving the uninformed search lecture for the Spring 2018 Berkeley CS 188 course
Video: Dan Klein giving the uninformed search lecture for the Fall 2013 Berkeley CS 188 course
Lecture 3 (Search part 2)
Reading: Russel/Norvig, Chapter 3.1 to 3.4
Video: Pieter Abbeel giving the uninformed search lecture for the Spring 2018 Berkeley CS 188 course
sort of part 2 of this lecture (last few slides starting with UCS)
Video: Pieter Abbeel giving the informed search lecture for the Spring 2018 Berkeley CS 188 course
part 1 of this lecture (Till Creating Heuristics)
Lecture 4 (Search part 3, review)
Date: September 6th
Lecture slides: 1PP 4PP video Passcode: 8h1@fu=$ in-class exercises
Additional Resources:
Reading: Russel/Norvig, Chapter 3.5 and 3.6
Video: Pieter Abbeel giving the informed search lecture for the Spring 2018 Berkeley CS 188 course
part 3 of this lecture (heuristics and graph search)
Video: Pieter Abbeel giving the informed search for the Fall 2013 Berkeley CS 188 course
part 3 of this lecture (heuristics and graph search)
Lecture 5 (CSP part 1)
Date: September 9th
Additional Resources:
Reading: Russel/Norvig, Chapter 6.1
Lecture 6 (CSP part 2)
Date: September 13th
Additional Resources:
Reading: Russel/Norvig, Chapter 6.1
Lecture 7 (AS part 1)
Date: September 15th
Additional Resources:
Reading: Russel/Norvig, Chapter 6.2-5, and Chapter 5.2-5
Video: Pieter Abbeel giving the Game Tree: Minmax lecture for the Fall 2018 Berkeley CS 188 course
Lecture 8 (AS part 2)
Date: September 20th
Additional Resources:
Reading: Russel/Norvig, Chapters 5.2-5, 16.1-16.3
Video: Pieter Abbeel giving the Game Tree: Expectmax/Utilities lecture for the Fall 2018 Berkeley CS 188 course (part of it only)
Lecture 9 (MDP part 1)
Date: September 22nd
Additional Resources:
Reading: Russel/Norvig, Chapters 17.1-3
Video: Dan Klein giving the MDP part 1 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 10 (MDP part 2)
Date: September 27th
Additional Resources:
Reading: Russel/Norvig, Chapters 17.1-3
Video: Dan Klein giving the MDP part 2 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 11 (RL part 1)
Date: October 4th
Additional Resources:
Reading: Russel/Norvig, Chapter 21
Video: Pieter Abbeel giving the RL part 1 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 12 (RL part 2)
Date: October 6th
Additional Resources:
Reading: Russel/Norvig, Chapter 21
Video: Pieter Abbeel giving the RL part 2 lecture for the Fall 2018 Berkeley CS 188 course
Review Session
Date: October 11th
Review Material: Exam Prep, Exam Prep Solution, Sample exam, video Passcode: 37Qba9$Q
Additional Resources:
Lecture 13 (Probability)
Date: October 18th
Additional Resources:
Reading: Russel/Norvig, Chapter 13.1-5
Video: Dan Klein giving the probability lecture for the Fall 2018 Berkeley CS 188 course
Lecture 14 (BN Part 1)
Date: October 20th
Additional Resources:
Reading: Russel/Norvig, Chapter 14.1-2,4
Video: Dan Klein giving the BN Representation lecture for the Fall 2018 Berkeley CS 188 course
Lecture 15 (BN Part 2)
Date: October 25th
Lecture slides: 1PP, 4PP, video Passcode: %f%=3rUE, exam preps
Additional Resources:
Reading: Russel/Norvig, Chapter 14.1-2,4
Video: Dan Kleingiving the BN Independence lecture for the Fall 2018 Berkeley CS 188 course (first part)
Lecture 16 (BN Part 3)
Date: October 27th
Additional Resources:
Reading: Russel/Norvig, Chapter 14.1-2,4
Video: Dan Kleingiving the BN Independence lecture for the Fall 2018 Berkeley CS 188 course second part and Dan Kleingiving the BN inference lecture for the Fall 2018 Berkeley CS 188 course
Lecture 17 (BN Part 4)
Date: November 1st
Lecture slides: 1PP, 4PP, review questions , review answer key, video Passcode: siq=9yt6
Additional Resources:
Reading: Russel/Norvig, Chapter 14.1-2,4
Video: Dan Kleingiving the BN inference lecture for the Fall 2018 Berkeley CS 188 course
Lecture 18 (Decision Network and VPI)
Date: November 3rd
Lecture slides: 1PP, 4PP, video, review questions
Additional Resources:
Reading: Russel/Norvig, Chapter 16.5-6
Video: Pieter Abbeel giving the decision diagrams/VPI lecture for the Spring 2014 Berkeley CS 188 course
Lecture 19 (HMM part 1)
Date: November 8th
Additional Resources:
Reading: Russel/Norvig, Chapter 16.6 and 15.2,5
Video: Pieter Abbel giving the hidden Markov models lecture for the Fall 2018 Berkeley CS 188 course (not all.. first 3/4 only)
Lecture 20 (HMM and PF)
Date: November 10th
Additional Resources:
Reading: Russel/Norvig, Chapter 15.2,6 and chapter 20.1-20.2.2
Video: Dan Klein giving the hidden Markov models lecture for the Fall 2018 Berkeley CS 188 course
Lecture 21 (NB part 1)
Date: November 15th
Additional Resources:
Reading: Russel/Norvig, chapter 20.1-20.2.2
Video: Dan Klein giving the Naive Bayes lecture for the Fall 2018 Berkeley CS 188 course
Lecture 22 (NB part 2)
Date: November 17th
Lecture slides: 1PP, 4PP, exam prep, video Passcode: 5nERD%YK
Additional Resources:
Reading: Russel/Norvig, chapter 20.1-20.2.2
Video: Dan Klein giving the Naive Bayes lecture for the Fall 2018 Berkeley CS 188 course
Lecture 23 (Perceptron and Logistic regression)
Date: November 22nd
Lecture slides: 1PP, 4PP, exam prep, video Passcode: 1$WmFcS4
Additional Resources:
Reading: Russel/Norvig, chapter 18.6.3
Video: Pieter Abbeel giving the Perceptron lecture for the fall 2018 Berkeley CS 188 course
Lecture 24 (NN)
Date: November 29th
Additional Resources:
Reading: Russel/Norvig, chapter 18.8
Video: Pieter Abbeel giving the NN lecture for the fall 2018 Berkeley CS 188 course
This course is based on the CS 188 course at UC Berkeley. You may find lectures, slides, and more there.
The recommended book for this course is Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig. Either the second or third edition is fine. This is a classic textbook and highly recommended! You can download the book from here.
Another good reference for reinforcement learning is Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto. The book is available online here.
The official Python tutorial is quite comprehensive. There is also a useful glossary.
The tutorial for the CS 188 AI course at Berkeley also contains a bit of information related to Project 0.
There is an interactive lesson plan available on Codecademy.
You might also find Google Python Class interesting.