Time/Location: Tuesday/Thursday 9:30–10:50 am, Electrical Engineering 101
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: Chang Liu (chang do liu at ttu dot edu)
Office hours (Salman): Thursday 11 am -1 pm, EC306A
TA Office hours: Monday 3-5 pm EC202
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 knowledge representation, problem-solving via search, game playing, logical and probabilistic reasoning, planning, machine learning (decision trees, neural nets, reinforcement learning, and genetic algorithms), and logic representation.
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: 40% ( submitted via blackboard. You will be able to grade yourself)
Homeworks: 10% ( submitted via Gradescrope. You can have as many trials)
Midterm: 25% (Thursday, October 5th )
Final: 25% ( Non-cumulative. Last day in the class)
Project 0 is available on here and on blackboard and is due on Tuesday, September 7.
Homework 0 is available on Gradescope. It is due on Tuesday, September 7th.
Project 1 is available here and on blackboard. It is due on Tuesday, September 21st.
Homework 1 is available on Gradescope. It is due on Tuesday, September 21st.
Project 2 is available here and on blackboard. It is due on Tuesday, October 12th.
Homework 2 is available on Gradescope. It is due on Tuesday, October 5th.
Homework 3 is available on Gradescope. It is due on exam date (October 7th).
Homework 4 is available on Gradescope. It is due on October 25th.
Project 3 is available on blackboard. It is due on October 31st.
Homework 5 is available on Gradescope. It is due on November 15th.
Homework 6 and 7 is available on Gradescope. It is due on December 3rd. This is optional homework. It is worth 4 points.
Project 4 is available on blackboard. It is due on November 21st.
Project 5 is available on blackboard. It is due on December 5th.
Note that to access the videos, you need your TTU account to login to mediasite
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
Video: Pieter Abbeel giving the informed search lecture for the Spring 2018 Berkeley CS 188 course
part 1 of this lecture (Till A*)
Video: Dan Klein giving the uninformed search lecture for the Fall 2013 Berkeley CS 188 course
sort of part 2 of this lecture
Video: Pieter Abbeel giving the informed search lecture for the Fall 2013 Berkeley CS 188 course
part 1 of this lecture (Till A*)
Lecture 4 (Search part 3)
Date: September 2nd
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 2 of this lecture (A*)
Video: Pieter Abbeel giving the informed search lecture for the Fall 2013 Berkeley CS 188 course
part 2 of this lecture (A*)
Lecture 5 (Search part 4 and CSP part 1)
Date: September 7th
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 6 (CSP part 1)
Date: September 9th
Additional Resources:
Reading: Russel/Norvig, Chapter 6.1
Video: Dan Klein giving the CSP part 1 lecture for the Fall 2018 Berkeley CS 188 course and Dan Klein giving the CSP part 2 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 7 (CSP part 2 AS part 1)
Date: September 14th
Additional Resources:
Reading: Russel/Norvig, Chapter 6.2-5, and Chapter 5.2-5
Video: Dan Klein giving the CSP part 2 lecture for the Fall 2013 Berkeley CS 188 course and Pieter Abbeel giving the Game Tree: Minmax lecture for the Fall 2018 Berkeley CS 188 course
Lecture 8 (AS part 2 (pruning, depth-limited search, evaluation functions, and Expectmax))
Date: September 16th
Additional Resources:
Reading: Russel/Norvig, Chapters 5.2-5, 16.1-16.3
Video: Pieter Abbeel giving the Game Tree: Minmax lecture for the Fall 2018 Berkeley CS 188 course and Pieter Abbeel giving the Game Tree: Expectmax/Utilities lecture for the Fall 2018 Berkeley CS 188 course
Lecture 9 (AS part 3 (generalized game tree and utilities) and MDP part 1)
Date: September 21st
Additional Resources:
Reading: Russel/Norvig, Chapters 17.1-3
Video: Pieter Abbeel giving the Game Tree: Expectmax/Utilities lecture for the Fall 2018 Berkeley CS 188 course and Dan Klein giving the MDP part 1 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 10 (MDP part 2)
Date: September 23rd
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 and Dan Klein giving the MDP part 2 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 11 (MDP part 3 and RL part 1)
Date: September 28th
Additional Resources:
Reading: Russel/Norvig, Chapters 17.1-3, Chapter 21
Video: Dan Klein giving the MDP part 2 lecture for the Fall 2018 Berkeley CS 188 course and Pieter Abbeel giving the RL part 1 lecture for the Fall 2018 Berkeley CS 188 course
Lecture 12 (RL part 2)
Date: September 30th
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 13 (RL part 3)
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
Lecture 14 (Probability)
Date: October 12th
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 15 (BN Part 1)
Date: October 14th
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 16 (BN Part 2)
Date: October 19th
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
Lecture 17 (BN Part 3)
Date: October 21st
Additional Resources:
Reading: Russel/Norvig, Chapter 14.4
Video: Pieter Abbeel giving the Bayes nets II lecture for the Spring 2014 Berkeley CS 188 course, and Pieter Abbeel giving the Bayes nets III lecture for the Spring 2014 Berkeley CS 188 course
Lecture 18 (BN Part 4 and Decision Network)
Date: October 26th
Additional Resources:
Reading: Russel/Norvig, Chapter 16.5-6
Video: Pieter Abbeel giving the Bayes nets III lecture for the Spring 2014 Berkeley CS 188 course and Pieter Abbeel giving the decision diagrams/VPI lecture for the Spring 2014 Berkeley CS 188 course
Lecture 19 (VPI and HMM part 1)
Date: October 28th
Additional Resources:
Reading: Russel/Norvig, Chapter 16.6 and 15.2,5
Video: Pieter Abbeel giving the decision diagrams/VPI lecture for the Spring 2014 Berkeley CS 188 course and Pieter Abbel giving the hidden Markov models lecture for the Fall 2018 Berkeley CS 188 course
Lecture 20 (HMM part 2)
Date: November 2nd
Additional Resources:
Reading: Russel/Norvig, Chapter 15.2,5
Video: Pieter Abbel giving the hidden Markov models lecture for the Fall 2018 Berkeley CS 188 course
Lecture 21 (HMM, Filtering, and Particle Filtering)
Date: November 2nd
Additional Resources:
Reading: Russel/Norvig, Chapter 15.2,6
Video: Dan Klein giving the hidden Markov models lecture for the Fall 2018 Berkeley CS 188 course
Lecture 22 (Particle Filtering part 2 and NB part 1 )
Date: November 9th
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 and Dan Klein giving the Naive Bayes lecture for the Fall 2018 Berkeley CS 188 course
Lecture 23 (NB part 2)
Date: November 11th
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 24 (Perceptron)
Date: November 16th
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 25 (Logistic Regression and NN. NN is to be covered next lecture)
Date: November 18th
Additional Resources:
Reading: Russel/Norvig, chapter 18.6.3 and 18.8
Video: Pieter Abbeel giving the Perceptron lecture for the fall 2018 Berkeley CS 188 course and Pieter Abbeel giving the NN lecture for the fall 2018 Berkeley CS 188 course
Lecture 26 (NN)
Date: November 23th
Additional Resources:
Reading: Russel/Norvig, chapter 18.8
Video: Pieter Abbeel giving the NN lecture for the fall 2018 Berkeley CS 188 course and Pieter Abbeel giving the application lecture for the fall 2018 Berkeley CS 188 course (first half of lecture)
This course is based on the CS 188 course at UC Berkeley. You may find lectures, slides, and more there. It is also good to take a look at CS 188 course at UC Berkeley provided by edx
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.