ECS170 Course Info
Waitlist and PTA Numbers
Historically there has been a waitlist for this class. If you are on the waitlist, please see my guide on PTA numbers here: here
Meetings
- 30 Lectures, 50 minutes each, MWF
- 10 Discussions, 50 minutes each, T
Course Topics:
- Knowledge representation and reasoning
- Theory and advanced programming techniques
- Topics selected from areas of expert systems, natural language processing, image understanding, machine learning, games, and robotics
Course Staff
Name | Role | Office Hours | |
---|---|---|---|
Gabriel Simmons | Instructor | gsimmons@ucdavis.edu | 11am-noon, Fridays, Kemper 3052 |
Makan Farhoodimoghadam | TA | mfarhoodi@ucdavis.edu | Tuesdays from 11:00 AM to 12:00 PM, Virtual |
Celine John Philip | TA | cjphilip@ucdavis.edu |
Prerequisites
Pre-requisites: ECS 060 or ECS 032B or ECS 036C
Communication Policy
Please use email to communicate with course staff. Course staff will not respond to messages submitted via the Canvas messaging system.
Emails MUST include the course code in the subject line. Please. We’re begging you.
More tips for emails:
- Use a descriptive subject line.
- If you are asking for something, make it clear in the first 1-2 sentences.
- If you use ChatGPT or other email generators, use a prompt that encourages very succinct, direct emails. The default behavior of these tools is to generate long, rambling emails. I am much more likely to respond to a short, direct email with a clear ask.
- Don’t use email for questions that will take more than a paragraph of writing to conclude, either from yourself or from the course staff. Please use the Instructor and TA office hours for these sorts of open-ended discussions.
If you resolve your issue on your own, please send a follow-up in the same email thread (reply all to yourself and the course staff that you sent the email to). This can be as simple as “This issue is resolved, no help needed.” If you have more time, feel free to share how you resolved your email. Other students may be struggling with the same thing, and the course staff may share your feedback with them.
Who to contact, and how:
Please use Piazza for:
- Questions about lecture content or other course material
- Questions about course logistics that are relevant to the whole class
Please come to office hours for:
- Detailed feedback on project ideas
- Help with homework or course project
Please email the course instructor for:
- Personal issues that require accomodations for more than one assignment,
- Requests for Incomplete (I) grade
Please email the TAs and cc the course instructor for:
- Setting up a time to take a remote or in-person make-up quiz
- Resolving grading issues
If you’re unsure:
- Email the TAs
Auditing
In most cases, I am happy to have folks audit the class.
Send me an email with subject line `ECSXYZ request to audit`, replacing ECSXYZ with the real course code.
Please note the following:
-
I generally recommend that auditors do not participate in group work. If you really want to participate in group work, please ask. I will ask you to commit to giving the same level of effort that you would as a graded student.
-
Your individual work will probably not be graded, or may be graded at a lower priority than work from registered students. You are welcome to assess yourself based on any posted assignment solutions, rubrics, etc.
For each of the following 4 assignments:
-
Project Proposal
-
Project Check-in
-
Project Presentation
Create corresponding Peer Feedback 1 and Peer Feedback 2 assignments (6 peer feedback assignments in total)
-
Attendance
- Attendance is expected in-person, including all discussion sections
- We will try to provide video recordings of lectures and discussions and make them available on Canvas. This depends in part on the video recording facilities available in our assigned lecture and discussion rooms.
Grading
The table below indicates the grading policy for the course. There will be several in-person quizzes taken during discussion. The lowest (1) quiz grade will be dropped. In-person attendance at the final will be required. Please check Schedule Builder for the final exam date and time.
Students will be required to complete a group project implementing, evaluating, or critiquing an AI algorithm, dataset, or other AI-related artifact. Students will write a written report and present their work. Students may optionally produce a web application demonstrating their final project.
There will be a number of perspective readings on topics related to the history, philosophy, and technical details of artificial intelligence and related fields.
There will be 1-4 individual homework assignments requiring students to implement AI algorithms presented during lectures.
Assignment Category | Grade Percentage |
---|---|
Project Group Signup | 1 |
Project Proposal | 2 |
Project Check-In | 3 |
Collaboration Survey 1 | 0.5 |
Peer Feedbacks | 3 |
Project Presentation | 15 |
Project Report and Code | 15 |
Collaboration Survey 2 | 0.5 |
Quizzes (6), equally weighted | 30 |
Homeworks (2-4), equally weighted | 20 |
Reflections (5), equally weighted | 10 |
Total | 100. |
Regrade Requests
The availability of regrades is on a per-assignment basis. If regrades are available for an assignment, the last day to submit a regrade request is 1 week after the assignment deadline, or the last day of instruction (typically the Friday before finals week), whichever is earlier.
Materials
-
Textbook
Artificial Intelligence: A Modern Approach - Stuart Russell and Peter Norvig - 3rd Edition
-
Other Readings
Other selected readings for the course will be posted on Canvas. Readings from past versions of the course have included essays and book excerpts from:
- Melanie Mitchell (Artificial Intelligence)
- Brian Christian (The Alignment Problem)
- Stuart Russell
- Alan Turing
- Dan Hendrycks
- Richard Sutton
- and many more…
-
Canvas
Please make sure that you are added to this course on Canvas. Check Canvas for ECS 170 regularly. Announcements on important information about the course, including course assignments, will be made on Canvas.
-
Piazza
Please sign up for this course on Piazza. Check the Canvas announcements for signup instructions.
-
Assignments will be submitted using GitHub Classroom. Please add your name, email, and GitHub username to this spreadsheet by Friday, Sept 27. More instructions soon. https://docs.google.com/spreadsheets/d/1CFqikSrNuxauW_4QmHXOF6TC7XtmJmNsb0cCkQNqacg/edit?usp=sharing
- We will be using GitHub classroom for assignments, including the project report and reading reflections.
- Each assignment is a git repository, hosted on GitHub.
- If you are not familiar with git or GitHub, start getting familiar :) Ask around to find a knowledgeable friend in the class.
- Most writing submissions will be in GitHub-flavored Markdown
- Python
Use of the Python programming language will be encouraged (potentially required) for the programming assignments for this course. If you have not programmed in Python before, I would encourage you to explore the langauge via some tutorials. Ask around in class to find a knowledgeable friend.
Tentative Course Schedule
The table below provides a tentative schedule for the lectures. This schedule is subject to change. R&N = Russel & Norvig.
Event | Title | Date | Recommended Reading |
---|---|---|---|
Lecture 1.1 | An introduction to the class | 2024-09-25 Wed | R&N Ch. 1 |
NO Discussion | No discussion this week | 2024-09-26 Thu | |
Lecture 1.2 | Project Tips; Prereqs Guide | 2024-09-27 Fri | |
Lecture 1.3 | Prerequisites | 2024-09-30 Mon | |
Lecture 1.4 | AI Traditions | 2024-10-02 Wed | R&N Ch. 1 |
Lecture 2.1 | Introduction to Search | 2024-10-04 Fri | R&N Ch. 3 |
Discussion | Python programming setup | 2024-10-03 Thu | |
Lecture 2.2 | Iterative Search. BFS, DFS | 2024-10-07 Mon | R&N 3.4 |
Project | Group Formation Due | 2024-10-04 Fri | |
Lecture 2.3 | Iterative Search. A-Star and extensions | 2024-10-09 Wed | R&N 3.5, 3.6 |
Lecture 3.1 | Games & Game Theory | 2024-10-11 Fri | R&N 5.1, 5.2 |
Discussion | Quiz 1; Uninformed Search | 2024-10-10 Thu | |
Lecture 3.2 | Adversarial Search; Minimax | 2024-10-11 Fri | R&N 5.2, 5.3 |
Project | Project Proposal Due | 2024-10-11 Fri | |
Lecture 3.3 | Alpha-Beta Pruning | 2024-10-14 Mon | R&N 5.3 |
Lecture 3.4 | Monte Carlo Tree Search | 2024-10-16 Wed | R&N 5.4 |
Discussion | Quiz 2; Topics after Quiz 1 thru Lec. 3.3 | 2024-10-17 Thu | |
Lecture 4.1 | Logic & Graph Basics | 2024-10-18 Fri | R&N 7.1, 7.2 |
Homework | Homework 1 Due | 2024-10-18 Fri | |
Lecture 4.2 | PageRank and Random Walks on Graphs | 2024-10-21 Mon | |
Lecture 5.1 | Decision Trees pt. 1: Decision Tree Algorithm | 2024-10-23 Wed | R&N 19.1, 19.2 |
Discussion | No Quiz; Supervised Machine Learning Practical Tips | 2024-10-24 Thu | |
Lecture 5.2 | Decision Trees pt. 2: Overfitting and Regularization | 2024-10-25 Fri | R&N 19.3 |
Lecture 5.3 | Decision Trees pt. 3: Ensemble Learning, Bagging and Boosting | 2024-10-28 Mon | R&N 19.3 |
Lecture 5.4 | Unsupervised Learning; Clustering | 2024-10-30 Wed | |
Reflection | Reflection 1 Due (see GitHub Classroom) | 2024-10-31 Thu | |
Discussion | Quiz 3; see topic guide below | 2024-10-31 Thu | |
Lecture 6.1 | Neural Networks 1: Perceptron | 2024-11-01 Fri | R&N 21.1, 21.2 |
Lecture 6.2 | Neural Networks 2: Deep Neural Networks | 2024-11-04 Mon | |
Reflection | Reflection 2 Due (see GitHub Classroom) | 2024-11-08 Fri | |
Lecture 6.3 | Neural Networks 3: CNNs | 2024-11-06 Wed | R&N 22.3 |
Discussion | Quiz 4; Discussion Content TBD | 2024-11-07 Thu | |
Lecture 6.4 | Neural Networks 4: Recurrent Neural Networks | 2024-11-08 Fri | R&N 22.4 |
No Lecture | No Class - Veteran’s Day Holiday | 2024-11-11 Mon | |
Reflection | Reflection 3 Due (see GitHub Classroom) | 2024-11-13 Wed | |
Project | Project Check-In Due | 2024-11-13 Wed | |
Project | Collaboration Survey 1 Due | 2024-11-13 Wed | |
Lecture 6.5 | Neural Networks 5: Word Embeddings | 2024-11-13 Wed | R&N 22.4, NLP For You |
Discussion | Quiz 5; Discussion Content TBD | 2024-11-14 Thu | |
Lecture 6.6 | Neural Networks 6: Attention & Transformer | 2024-11-15 Fri | R&N 22.4, 23.2, Transformer Explainer |
Lecture 6.7 | Conditional Language Modeling, In-Context Learning, | 2024-11-18 Mon | |
Lecture 7.1 | 5_Reinforcement_Learning.pdf | 2024-11-20 Wed | R&N 17.1, 17.2 |
Homework | Homework 2 Due | 2024-11-20 Wed | |
Reflection | Reflection 4 Due (see GitHub Classroom) | 2024-11-20 Wed | |
Lecture 7.2 | Lecture 7.2 Reinforcement Learning | 2024-11-22 Fri | R&N 22.5 |
Discussion | No Quiz; Discussion Content TBD | 2024-11-21 Thu | |
Lecture 7.3 | Temporal Difference Q-Learning | 2024-11-25 Mon | R&N 22.5 |
Lecture 8.1 | RL Extensions & Applications | 2024-11-27 Wed | R&N 22.5 |
No Discussion | No Discussion - Thanksgiving Holiday | 2024-11-28 Thu | |
No Lecture | No Class - Thanksgiving Holiday | 2024-11-29 Fri | |
Lecture 8.3 | Buffer time, selected topics, AlphaGo & AlphaGoZero Deepmind Slides | 2024-12-02 Mon | |
Reflection | Reflection 5 Due (see GitHub Classroom) | 2024-12-04 Wed | |
Lecture 9.1 | Alignment, Safety, Ethics | 2024-12-04 Wed | R&N 27.3 |
Discussion | Quiz 6; Discussion Content TBD | 2024-12-05 Thu | |
Lecture 9.2 | The Future of AI | 2024-12-06 Fri | |
Project | Collaboration Survey 2 Due | 2024-12-06 Fri | |
Finals Week Begins | 2024-12-09 Mon | ||
Final Session | Final Session (Project Presentations) | 2024-12-10 Tue | |
Project | Project Report & Code Due | 2024-12-10 Tue | |
Finals Week Ends | 2024-12-13 Fri |
Extra Resources
Quiz Topic Guide
Quiz | topics |
---|---|
1 | search: DFS,BFS,UCS,A*,heuristics,framing search problems |
2 | adversarial search: Minimax, Alpha-Beta Pruning |
3 | supervised machine learning: decision trees, ensemble methods, regularization & overfitting, model complexity |
4 | supervised machine learning: neural networks, perceptron, backpropagation, topics after quiz 3 to through the monday preceding the quiz |
5 | supervised machine learning: neural networks, RNN, CNN, topics after quiz 4 to through the monday preceding the quiz |
6 | reinforcement learning: basic RL problem formulation, Markov Decision Processes, Direct Utility Estimation, Q-Learning, TD Utility Estimation, TD Q-Learning, Deep Q Learning, Policy Gradient methods, RL applications covered in class |
Assignments
These assignment links will take you to GitHub Classroom. Please read this guide on using GitHub Classroom.
Late Work
- Homeworks: Late work will be accepted with a linear penalty up to 1 week after the assignment deadline for Homeworks.
- Project: Late submissions will not be accepted for assignments related to the course project
- Reflections: Late submissions will be accepted with a linear penatly up to 1 week after the assignment deadline for Reflections.
Late Assignment Scoring
When an assignment is submitted late, the final score is calculated by first grading the assignment normally, then applying a late penalty that increases linearly over time, up to one week late.
Formula
For an assignment submitted d days late (where 0 ≤ d ≤ 7):
Examples
- If you score 90% on the assignment and submit 1 day late:
- Final Score = 90% × (1 - 1/7) = 77.1%
- If you score 80% on the assignment and submit 3 days late:
- Final Score = 80% × (1 - 3/7) = 45.7%
- If you submit more than 7 days late:
- Final Score = 0% (regardless of original score)
Note: Partial days are counted proportionally. For example, submitting 12 hours late would count as 0.5 days (d = 0.5).
Reflection Readings
Excerpts not linked here will be provided via the Canvas course files. Excerpts of copyrighted material are provided under fair use.
Other readings in the Canvas folder are optional and not for credit.
Some readings are excerpts from the following books:
- The Alignment Problem - Brian Christian
- Artificial Intelligence: A Guide for Thinking Humans - Melanie Mitchell
- Why Greatness Cannot be Planned: The Myth of the Objective - Kenneth Stanley, Joel Lehman
If you enjoy the reflection readings, I encourage you to buy a full copy of the book.
SDC Accomodations
Sufficient notice is needed in order to make the accommodations possible. If you need disability-related accommodations in this class, please email sdc@ucdavis.edu or call them at (530) 752-3184. The student disability center is the campus office responsible for verifying that students have disability-related needs for academic accommodations, and for planning appropriate accommodations in cooperation with the students themselves and their instructors.
Academic Honesty
Students are expected to follow the UC Davis Code of Academic Conduct. See: https://ossja.ucdavis.edu/code-academic-conduct
Note on Discrimination, Harassment, and Retaliation (DHR)
The University of California and UC Davis Health are committed to the principle of treating each community member with respect and dignity. Across all of its locations, including clinical settings, the University prohibits discrimination and harassment (including sexual assault and other forms of sexual harassment). For more on the University’s commitment to integrity, accountability and respect for all members of our community, please see the University’s Statement of Ethical Values and Standards of Ethical Conduct at: https://www.ucop.edu/ ethics-compliance-audit-services/index.html See also: https://compliance.ucdavis.edu/ compliance-program https://hdapp.ucdavis.edu/non-discrimination-statement
University Holidays
See the below URL to know about the University and National Holidays. https://registrar.ucdavis.edu/calendar/web/holidays
Policy on Add, Drop and Withdrawal
Please look at the below URL to know about the add, drop and withdrawal dates in Winter 2023: https://registrar.ucdavis.edu/registration/register-for-classes/schedule-adjustments/add-drop
Academic Calendar
Important dates are listed in the UC Davis Academic calendar: https://www.ucdavis.edu/ campus-life/things-to-do/calendar/academic