MWF 10:30-11:20am, Davies Aud.
Introduction to artificial intelligence research, focusing on reasoning and perception. Topics include knowledge representation, predicate calculus, temporal reasoning, vision, robotics, planning, and learning.
Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both Python 2.7 and 3.3— the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in Python code.
If you need help writing programs in Python 3, or want to update older Python 2 code, this book is just the ticket. Packed with practical recipes written and tested with Python 3.3, this unique cookbook is for experienced Python programmers who want to focus on modern tools and idioms
It's easy to start writing code with Python: that's why the language is so immensely popular. However, Python has unique strengths, charms, and expressivity that can be hard to grasp at first -- as well as hidden pitfalls that can easily trip you up if you aren't aware of them. Effective Python will help you harness the full power of Python to write exceptionally robust, efficient, maintainable, and well-performing code. Utilizing the concise, scenario-driven style pioneered in Scott Meyers's best-selling Effective C++, Brett Slatkin brings together 59 Python best practices, tips, shortcuts, and realistic code examples from expert programmers.
The course requirements consist of class attendance, (more-or-less) weekly programming assignments in Python and occasional written homework, a midterm exam and a final exam. Plan on spending between 6-8 hours per week on the course outside of class. The programming assignments are an integral part of the course.
Please try not to leave the homework to the last minute. You will be more efficient, learn more, have more chance to get help, and generally be calmer and happier if you do the associated reading first and start the programming or other problems early.
The student will be able to propose a topic of her choice, within certian guidelines. We would like to encourage independent research. We will also provide a list of suggested topics.
The final grade in the course will be based on class participation, your performance on the programming assignments and other homework, and the exams. The weighting of these components will be approximately 40% on homework and 60% on exams. (For CS 570: 10% project, 30% homework, 60% exams).
Late work without a Dean's excuse will be assessed a penalty of 5 points per day, based on the day and time recorded by the Zoo electronic submit program. At the end of term, up to 25 points will be deducted from the total lateness penalties your homework has accrued. However, according to Yale College regulations, *no* homework can be accepted after the end of Reading Week without a Temporary Incomplete (TI) authorized by your dean.
If you have a Dean's excuse or a TI, making up missed work may involve alternative assignments, at the discretion of the instructor; please check with the instructor in this case.
Unless otherwise specified, the homework assignments are your individual responsibility. Plagiarism is a violation of University rules and will not be tolerated. You must neither copy work from others (at Yale or elsewhere) nor allow your own work to be copied. You are definitely on the wrong side of the boundary if you give or receive a printed or electronic copy of your or anyone else's work for the course from this term or previous terms.
You are encouraged to ask others for help with the computers and Unix, with questions about Python, general questions about the concepts and material of the course, but if you need more extensive help with a program or other assignment, please ask a ULA or the instructor for assistance. Working in groups to solve homework problems is not permitted in this course. Please talk to the instructor if you have any questions about this policy.
Week | Date | Topic | Reading | Jupyter Notebook |
---|---|---|---|---|
1 | Jan 13, 15, 17 | Introduction. Python. Jupyter Notebooks. | AIMA 1 | |
2 | Jan 22, 24 | Intelligent Agents. | AIMA 2 | Agents |
3 | Jan 27, 29, 31 | Search. | AIMA 3-4 | Search |
4 | Feb 3, 5, 7 | Adversarial Search and Game Playing. | AIMA 5 | Games |
5 | Feb 10, 12, 14 | Constraint Satisfaction, Propositional Logic, First Order Logic. | AIMA 6-9 | Constraint Satisfaction Problems and Logic |
6 | Feb 17, 19, 21 | Planning and Knowledge Representation. | AIMA 10-12 | Planning |
7 | Feb 24, 26, 28 | Reasoning Under Uncertainty. | AIMA 13-17 | Probability and Making Complex Decisions |
8 | Mar 2, 4, 6 | (3/2) Midterm Exam. Learning. | AIMA 18-20 | Learning |
9 | Mar 23, 25, 27 | 3/23: guest speaker: Alborz Geramifard, Facebook
Reinforcement Learning. | AIMA 21 | Reinforcement Learning |
10 | Mar 30, Apr 1, 3 | Natural Language Processing. | AIMA 22-23 | Statistical Learning Tools (Text)
and Natural Language Processing |
11 | Apr 6, 8, 10 | Machine Perception. | AIMA 24 | |
12 | Apr 13, 15, 17 | 4/17: guest speaker, Marynel Vazquez, Yale Robotics. | AIMA 25 | |
13 | Apr 20, 22, 24 | Philosophical Foundations and the Future of AI. | AIMA 26-27 | Friday May 1, 2pm | Final Exam, RTBA |