Course: Introduction to Artificial Intelligence

COSC 4550 / COSC 5550
M/W/F 1:10-2:00pm
Room: Engineering 3076

Professor Nick Cheney
ncheney@uwyo.edu
Office hours: W 2-3pm, F 12-1pm (Engineering 4081B)

TA: Joost Huizinga
jhuizing@uwyo.edu
TA office hours: Tu 2-5pm, Th 1:30-3:30pm (Engineering 4086)

Syllabus (pdf)


Assigned Readings

Assigned readings should be completed before the class to which they are listed. Having a primer on the topics before going into the lectures will allow you to be more engaged with the subtler points in lectures and be able to ask more questions about the parts of the readings that you did not fully grasp. You are fully capable of reading the material in the textbook on your own -- so the lectures are not simply a time for me to show you that material again, but rather are a time for me to compliment the readings you do with real time help and feedback for your questions, to emphasize the parts of the readings that I find most relevant to our class, and to solidify the concepts in the readings with additional examples and hands-on exercises. In this spirit, all of the material from the readings will NOT be covered in the lectures. You are still responsible for the material not covered in class (e.g. for exams)!
(Note: "RN 1-1.5" translates to: In the Russell and Norvig textbook, please read from the start of chapter 1 to the end of section 1.5)

Day Date Topic Assigned Reading Assignments Slides
W 8/30 Course Logistics and Motivation -- pdf
F 9/1 What is AI? Brief History of AI RN 1-1.5 (30 pages) pdf
M 9/4 NO CLASS: Labor Day -- -- --
W 9/6 The Structure of Intelligent Agents RN 2-2.5 (25 pages) pdf
F 9/8 Problem Solving Agents and RN 3-3.4.2 (21 pages) pdf
M 9/11 Problem Solving with Basic Search Strategies RN 3.4.3-3.7 (25 pages) AIC 1 Due 9/10 pdf
W 9/13 Heuristic Search, Local Search, and Optimization RN 4-4.1 (9 pages) pdf
F 9/15 Optimization Algorithms and Search in Continuous Spaces RN 4.2 (4 pages) pdf
M 9/18 Optimal Decisions in Game Playing RN 5-5.3 (10 pages) AIC 2 Due 9/17 pdf
W 9/20 Refresher on Probabilty (guest lecture) RN 13-13.4 (15 pages) pdf
F 9/22 Evaluation Functions and Games of Chance RN 5.4-5.9 (not 5.6.1) (18 pages) pdf
M 9/25 Bayes Rule RN 13.5-13.7 (8 pages) AIC 3 Due 9/24 pdf
W 9/27 The Semantics of Bayesian Networks RN 14-14.3 (12 pages) pdf
F 9/29 Inference in Bayesian Networks RN 14.4-14.5 (17 pages) pdf
M 10/2 Probabilistic Reasoning Over Time RN 15-15.2 (12 pages) pdf
W 10/4 Hidden Markov Models and Kalman Filters RN 15.3-15.4 (11 pages) pdf
F 10/6 Dynamic Bayesian Networks, Sequential Decision Making RN 15.5-15.7, 17.1 (18 pages) pdf
M 10/9 Value Iteration and Policy Iteration RN 17.2-17.4 (14 pages) AIC 4 Due 10/8 pdf
W 10/11 Decision Trees RN 18-18.3 (14 pages) pdf
F 10/13 Regression and Classification RN 18.6 (10 pages) pdf code
M 10/16 Machine Learning Theory RN 18.4-18.5 (9 pages) pdf code
W 10/18 Artificial Neural Networks RN 18.7-18.7.3 (5 pages) pdf
F 10/20 Learning in Multilayer Networks RN 18.7.4-18.7.5 (4 pages) pdf
M 10/23 Learning in Multilayer Networks Part 2 RN 18.8 (7 pages) AIC 5 Due 10/22 pdf
W 10/25 Non-Parametric Models and Support Vector Machines RN 18.9-18.12 (14 pages) pdf
F 10/27 Deep Learning for Image Classification Deep Learning (LeCun Bengio Hinton, Nature 2015) (7 pages) Project Outline Due 10/27 pdf
M 10/30 NO CLASS: Advising Week -- -- --
W 11/1 NO CLASS: Advising Week -- -- --
F 11/3 NO CLASS: Advising Week -- -- --
M 11/6 Deep Learning Architectures Imagenet Classification With Deep Convolutional Neural Networks (Krizhevsky Sutskever Hinton, NIPS 2012) (8 pages) pdf
W 11/8 Deep Learning Tricks Dropout: A Simple Way to Prevent Neural Networks from Overfitting (Srivastava et al., JMLR 2014) (24 pages) pdf
F 11/10 Deep Reinforcement Learning Human-level control through deep reinforcement learning (Mnih et al., Nature 2015) (4 pages) pdf
M 11/13 Deep Reinforcement Learning Part 2 End to End Training of Deep Visuomotor Policies (Levine et al., JMLR_2016) (27 pages) pdf
W 11/15 Unsupervised Learning and Generative Adversarial Networks Unsupervised representation learning with deep convolutional generative adversarial networks (Radford et al., ICLR 2016) (10 pages) pdf
F 11/17 Unsupervised Learning Part 2 -- Project Check-in Due 11/17 pdf
M 11/20 Exam Day! Sample Exam -- --
W 11/22 NO CLASS: Thanksgiving Break -- -- --
F 11/24 NO CLASS: Thanksgiving Break -- -- --
M 11/27 Recurrent Neural Networks and Long Short Term Memory LSTM: a search space odyssey (Greff et al., IEEE Transactions on Neural Networks and Learning Systems 2015) (8 pages) pdf
W 11/29 Preprocessing and Data Pipelines Data Preprocessing for Supervised Leaning (Kotsiantis et al., IJCIE 2007) (5 pages) pdf
F 12/1 Machine Learning Examples in Python code
M 12/4 Embodied Intelligence Morphological change in machines accelerates the evolution of robust behavior (Bongard, PNAS 2011) (6 pages) pdf
W 12/6 The Ethics of Artificial Intelligence RN 26-26.4 (20 pages) pdf
F 12/8 Final Project Presentations -- Project Video Due 12/7
M 12/11 Final Project Presentations --
M 12/18 Final Project Presentations Time: 1:15-3:15pm


AI Challenges (AIC)

The AI Challenges are hands-on opportunities to demonstrate your knowledge of the concepts covered in class as well as your ability to think creatively and code-up effective and cool programs! The assigned algorithm/agent implementations are meant to test your grasp of these concepts, and thus are to be done independently. This means to code sharing between students, and no usage of existing AI or machine learning packages -- though imports of basic data structures (e.g. NumPy arrays) are completely acceptable.
(Note: all assignments are due by 11:59pm on the day listed below)

Day Due Date Assignment Topics Covered Link
M 9/11 AI Challenge #1 Building Your First Intelligent Agent zip
Su 9/17 AI Challenge #2 Basic Search Strategies zip
Su 9/24 AI Challenge #3 Advanced Search Strategies zip
Su 10/8 AI Challenge #4 Game Playing Agents zip
Su 10/22 AI Challenge #5 Optimal Behavior in Uncertain Environments zip


Course Projects

Course projects are a way to get your hands dirty and work on real problems that you care about, while showing off what you've learned this semester and becoming a practicing AI researcher! Projects are meant to be undertaken individually (but please ask if you are interested in a joint project between multiple people -- or between multiple classes). You will be asked to impelment a variation of a method we've shown in class and/or use AI to solve a new problem we haven't talked about in class. At the end of the semester, you'll create a video to share with your class (and the world!) and talk about what you've made. A couple check-in along the way are meant to keep you on track. I've listed the dates for these check in's below, and they should be emailed to me by 11:59pm on the day listed.

Day Due Date Deliverable Description
F 10/27 Project Proposal/Outline pdf
F 11/17 Mid-project Check-in pdf
Th 12/7 Final Project Video Due! pdf