====== Schedule ====== ===== Announcements ===== Lecture videos are available from the Canvas site (in the menu on the left) by selecting [[cs545|Echo 360]]. To use jupyter notebooks on our CS department machines, you must add this line to your .bashrc file: export PATH=/usr/local/anaconda/bin:$PATH This is a tentative schedule of CS440 topics for Fall, 2018. This will be updated during the summer and as the fall semester continues. ===== August ===== |< 100% 10% 20% 30% 20% 20% >| ^ Week ^ Topic ^ Material ^ Reading ^ Assignments ^ | Week 1:\\ Aug 20 - Aug 24 | What is AI? Promises and fears.\\ Python review.\\ Problem-Solving Agents. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/01 Introduction to AI.ipynb|01 Introduction to AI]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/02 Introduction to Python.ipynb|02 Introduction to Python]] | Chapters 1, 2, 3.1 of Russell and Norvig.\\ [[http://science.sciencemag.org/content/357/6346/7.full|AI, People, and Society]], by Eric Horvitz.\\ [[https://aeon.co/essays/can-we-design-machines-to-make-ethical-decisions|Automated Ethics]], by Tom Chatfield.\\ [[http://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html?_r=0|The Great A.I. Awakening]], by Gideon Lewis-Krause, NYT, Dec 14, 2016.\\ [[https://www.commondreams.org/news/2017/07/19/fundamental-existential-threat-lawmakers-warned-risks-killer-robots|"Fundamental Existential Threat": Lawmakers Warned of the Risks of Killer Robots]], by Julia Conley\\ Section 1 of [[http://www.scipy-lectures.org|Scipy Lecture Notes]] | | | Week 2:\\ Aug 27 - Aug 31 | Problem-solving search and how to measure performance.\\ Iterative deepening and other uninformed search methods. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/03 Problem-Solving Agents.ipynb|03 Problem-Solving Agents]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/04 Measuring Search Performance.ipynb|04 Measuring Search Performance]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/05 Iterative Deepening and Other Uninformed Search Methods.ipynb|05 Iterative Deepening and Other Uninformed Search Methods]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/06 Python Implementation of Iterative Deepening.ipynb|06 Python Implementation of Iterative Deepening]] | Sections 3.1 - 3.4 of Russell and Norvig | | ===== September ===== |< 100% 10% 20% 30% 20% 20% >| ^ Week ^ Topic ^ Material ^ Reading ^ Assignments ^ | Week 3:\\ Sept 4 - Sept 7\\ No class on the Sept 3 (University Holiday) and Sept 5(instructor traveling). Sept 7 is optional. GTAs will answer assignment questions. | Informed search. A* search. Python classes, sorting, numpy arrays. | | Rest of Chapter 3 | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A1 Uninformed Search.ipynb|A1 Uninformed Search]] due Friday, Sept. 7, 10:00 PM. Submit your notebook in Canvas.\\ Here are [[http://www.cs.colostate.edu/~anderson/cs440/notebooks/goodones|good solutions from your classmates]] | | Week 4:\\ Sept 10 - Sept 14 | Informed search. A* search. Python classes, sorting, numpy arrays. A* optimality, admissible heuristics, effective branching factor.\\ Local search and optimization. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/07 Informed Search.ipynb|07 Informed Search]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/08 Python Classes.ipynb|08 Python Classes]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/09 Heuristic Functions.ipynb|09 Heuristic Functions]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/10 Local Search.ipynb|10 Local Search]] | Chapter 4 | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A2 Iterative-Deepening Search.ipynb|A2 Iterative-Deepening Search]] due Friday, Sept. 14, 10:00 PM. Submit your notebook in Canvas.\\ Here are [[http://www.cs.colostate.edu/~anderson/cs440/notebooks/goodones|good solutions from your classmates]] | | Week 5:\\ Sept 17 - Sept 21 | Adversarial search. Minimax. Alpha-beta pruning. Stochastic games. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/11 Adversarial Search.ipynb|11 Adversarial Search]] | Chapter 5 | | Week 6:\\ Sept 24 - Sept 28 | Negamax, with pruning. Introduction to Reinforcement Learning. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/12 Negamax.ipynb|12 Negamax]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/13 Modern Game Playing.ipynb|13 Modern Game Playing]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/14 Introduction to Reinforcement Learning.ipynb|14 Introduction to Reinforcement Learning]] | Chapter 21\\ [[http://incompleteideas.net/book/bookdraft2017nov5.pdf|Reinforcement Learning: An Introduction]] | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A3 A*, IDS, and Effective Branching Factor.ipynb|A3 A*, IDS, and Effective Branching Factor]] due Wednesday, Sept. 26, 10:00 PM. Submit your notebook in Canvas. | ===== October ===== |< 100% 10% 20% 30% 20% 20% >| ^ Week ^ Topic ^ Material ^ Reading ^ Assignments ^ | Week 7:\\ Oct 1 - Oct 5 | Reinforcement Learning for Two-Player Games. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/14 Introduction to Reinforcement Learning.ipynb|14 Introduction to Reinforcement Learning]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/15 Reinforcement Learning for Two-Player Games.ipynb|15 Reinforcement Learning for Two-Player Games]] | Chapter 21\\ [[http://incompleteideas.net/book/bookdraft2017nov5.pdf|Reinforcement Learning: An Introduction]] | | | Week 8:\\ Oct 8 - Oct 12 | Introduction to Neural Networks | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/16 Introduction to Neural Networks.ipynb|16 Introduction to Neural Networks]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/17 More Introduction to Neural Networks.ipynb|17 More Introduction to Neural Networks]] | Sections 18.6 and 18.7 | | | Week 9:\\ Oct 15 - Oct 19 | More Neural Networks. Autoencoders. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/17 More Introduction to Neural Networks.ipynb|17 More Introduction to Neural Networks]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/22 Autoencoder Neural Networks.ipynb|22 Autoencoder Neural Networks]] | | Week 10:\\ Oct 22 - Oct 26 | Introduction to Classification. Bayes Rule. Generative versus Discriminative. Linear Logistic Regression. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/18 Introduction to Classification.ipynb|18 Introduction to Classification]] | | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A4 Reinforcement Learning Solution to Towers of Hanoi.ipynb|A4 Reinforcement Learning Solution to Towers of Hanoi]] due Monday, Oct. 22, 10:00 PM. Submit your notebook in Canvas. | | ===== November ===== |< 100% 10% 20% 30% 20% 20% >| ^ Week ^ Topic ^ Material ^ Reading ^ Assignments ^ | Week 11:\\ Oct 29 - Nov 2 | Classification with Neural Networks. Reinforcement Learning with Neural Networks. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/19 Classification with Linear Logistic Regression.ipynb|19 Classification with Linear Logistic Regression]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/20 Classification with Nonlinear Logistic Regression Using Neural Networks.ipynb|20 Classification with Nonlinear Logistic Regression Using Neural Networks]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/21 Reinforcement Learning with a Neural Network as the Q Function.ipynb|21 Reinforcement Learning with a Neural Network as the Q Function]] | | | | Week 12:\\ Nov 5 - Nov 9 | Introduction to Pytorch.\\ Constraint satisfaction.\\ Min-conflicts. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/23 Introduction to Pytorch.ipynb|23 Introduction to Pytorch]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/24 Constraint Satisfaction Problems.ipynb|24 Constraint Satisfaction Problems]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/25 Min-Conflicts in Python with Examples.ipynb|25 Min-Conflicts in Python with Examples]] | Chapter 6\\ [[http://dl.acm.org/citation.cfm?id=1928809|A new iterated local search algorithm for solving broadcast scheduling problems in packet radio networks]] | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A5 Neural Networks.ipynb|A5 Neural Networks]] due Monday, Nov. 5, 10:00 PM.\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/Project Proposal.ipynb|Project Proposal]] due Friday, November 9th, at 10:00 PM. | | Week 13:\\ Nov 12 - Nov 16 | Natural language understanding and translation. | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/26 Natural Language.ipynb|26 Natural Language]]\\ [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/27 Word Embeddings.ipynb|27 Word Embeddings]] | [[https://towardsdatascience.com/word-embedding-with-word2vec-and-fasttext-a209c1d3e12c|Word2Vec and FastText Word Embedding with Gensim]] | | | Nov 19 - Nov 23 | Fall Recess | | Week 14:\\ Nov 26 - Nov 30 | Faster Reinforcement Learning | [[http://www.cs.colostate.edu/~anderson/cs440/notebooks/15ijcnn.pdf|Slides for Faster Reinforcement Learning After Pretraining]] | [[http://www.cs.colostate.edu/~anderson/res/rl/pretrainijcnn15.pdf|Faster Reinforcement Learning After Pretraining Deep Networks to Predict State Dynamics]] by Anderson, Lee and Elliott | [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/A6 Min-Conflicts.ipynb|A6 Min-Conflicts]] due Wednesday, Nov. 28, 10:00 PM. | ===== December ===== |< 100% 10% 20% 30% 20% 20% >| ^ Week ^ Topic ^ Material ^ Reading ^ Assignments ^ | Week 15:\\ Dec 3 - Dec 7 | Voluntary in-class project presentations. | **Dec 3:**\\ Tom Cavey: //Image Classification and Object Detection of Things Around CSU//\\ Jason Stock: //Classification of Data from the Sloan Digital Sky Survey//\\ Marylou Nash: //Physical Routing on ICs or PCBs with A*//\\ **Dec 5:**\\ Jake Walker: //Legal, Ethical, and Security Concerns for Autonomous Driving Technologies//\\ Andy Dolan: //Using Machine Learning Methods to Classify BGP Messages//\\ Miles Wood: //Using Q-Learning to Learn to Play Chad, a Chess Variant//\\ Apoorv Pandey: //Using Q-Learning to Learn to Play 2x2 Dots and Boxes//\\ **Dec 7:**\\ Markus Dabell: //Classification of Handwritten Digits from the MNIST Dataset//\\ Sajeeb Roy Chowdhury: //Searching for Optimal Schreier Trees in the Field of Combinatorics//\\ Mike Hamilton: //The Amazon AWS DeepRacer Platform for Reinforcement Learning Experimentation// | | | Final Exam Week:\\ Dec 10 - Dec 14 | | | | Final Project notebook is due Tuesday, Dec 11th, 10:00 pm. Here is an [[http://nbviewer.ipython.org/url/www.cs.colostate.edu/~anderson/cs440/notebooks/Example of Project Report.ipynb|notebook explaining what is expected]] for your final report. |