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

NameRoleEmailOffice Hours
Gabriel SimmonsInstructorgsimmons@ucdavis.edu11am-noon, Fridays, Kemper 3052
Makan FarhoodimoghadamTAmfarhoodi@ucdavis.eduTuesdays from 11:00 AM to 12:00 PM, Virtual
Celine John PhilipTAcjphilip@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:

  1. Use a descriptive subject line.
  2. If you are asking for something, make it clear in the first 1-2 sentences.
  3. 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.
  4. 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:

  1. 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.

  2. 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 CategoryGrade Percentage
Project Group Signup1
Project Proposal2
Project Check-In3
Collaboration Survey 10.5
Peer Feedbacks3
Project Presentation15
Project Report and Code15
Collaboration Survey 20.5
Quizzes (6), equally weighted30
Homeworks (2-4), equally weighted20
Reflections (5), equally weighted10
Total100.

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

  1. Textbook

    Artificial Intelligence: A Modern Approach - Stuart Russell and Peter Norvig - 3rd Edition

  2. 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…
  3. 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.

  4. Piazza

    Please sign up for this course on Piazza. Check the Canvas announcements for signup instructions.

  5. 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
  1. 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.

EventTitleDateRecommended Reading
Lecture 1.1An introduction to the class2024-09-25 WedR&N Ch. 1
NO DiscussionNo discussion this week2024-09-26 Thu
Lecture 1.2Project Tips; Prereqs Guide2024-09-27 Fri
Lecture 1.3Prerequisites2024-09-30 Mon
Lecture 1.4AI Traditions2024-10-02 WedR&N Ch. 1
Lecture 2.1Introduction to Search2024-10-04 FriR&N Ch. 3
DiscussionPython programming setup2024-10-03 Thu
Lecture 2.2Iterative Search. BFS, DFS2024-10-07 MonR&N 3.4
ProjectGroup Formation Due2024-10-04 Fri
Lecture 2.3Iterative Search. A-Star and extensions2024-10-09 WedR&N 3.5, 3.6
Lecture 3.1Games & Game Theory2024-10-11 FriR&N 5.1, 5.2
DiscussionQuiz 1; Uninformed Search2024-10-10 Thu
Lecture 3.2Adversarial Search; Minimax2024-10-11 FriR&N 5.2, 5.3
ProjectProject Proposal Due2024-10-11 Fri
Lecture 3.3Alpha-Beta Pruning2024-10-14 MonR&N 5.3
Lecture 3.4Monte Carlo Tree Search2024-10-16 WedR&N 5.4
DiscussionQuiz 2; Topics after Quiz 1 thru Lec. 3.32024-10-17 Thu
Lecture 4.1Logic & Graph Basics2024-10-18 FriR&N 7.1, 7.2
HomeworkHomework 1 Due2024-10-18 Fri
Lecture 4.2PageRank and Random Walks on Graphs2024-10-21 Mon
Lecture 5.1Decision Trees pt. 1: Decision Tree Algorithm2024-10-23 WedR&N 19.1, 19.2
DiscussionNo Quiz; Supervised Machine Learning Practical Tips2024-10-24 Thu
Lecture 5.2Decision Trees pt. 2: Overfitting and Regularization2024-10-25 FriR&N 19.3
Lecture 5.3Decision Trees pt. 3: Ensemble Learning, Bagging and Boosting2024-10-28 MonR&N 19.3
Lecture 5.4Unsupervised Learning; Clustering2024-10-30 Wed
ReflectionReflection 1 Due (see GitHub Classroom)2024-10-31 Thu
DiscussionQuiz 3; see topic guide below2024-10-31 Thu
Lecture 6.1Neural Networks 1: Perceptron2024-11-01 FriR&N 21.1, 21.2
Lecture 6.2Neural Networks 2: Deep Neural Networks2024-11-04 Mon
ReflectionReflection 2 Due (see GitHub Classroom)2024-11-08 Fri
Lecture 6.3Neural Networks 3: CNNs2024-11-06 WedR&N 22.3
DiscussionQuiz 4; Discussion Content TBD2024-11-07 Thu
Lecture 6.4Neural Networks 4: Recurrent Neural Networks2024-11-08 FriR&N 22.4
No LectureNo Class - Veteran’s Day Holiday2024-11-11 Mon
ReflectionReflection 3 Due (see GitHub Classroom)2024-11-13 Wed
ProjectProject Check-In Due2024-11-13 Wed
ProjectCollaboration Survey 1 Due2024-11-13 Wed
Lecture 6.5Neural Networks 5: Word Embeddings2024-11-13 WedR&N 22.4, NLP For You
DiscussionQuiz 5; Discussion Content TBD2024-11-14 Thu
Lecture 6.6Neural Networks 6: Attention & Transformer2024-11-15 FriR&N 22.4, 23.2, Transformer Explainer
Lecture 6.7Conditional Language Modeling, In-Context Learning,2024-11-18 Mon
Lecture 7.15_Reinforcement_Learning.pdf2024-11-20 WedR&N 17.1, 17.2
HomeworkHomework 2 Due2024-11-20 Wed
ReflectionReflection 4 Due (see GitHub Classroom)2024-11-20 Wed
Lecture 7.2Lecture 7.2 Reinforcement Learning2024-11-22 FriR&N 22.5
DiscussionNo Quiz; Discussion Content TBD2024-11-21 Thu
Lecture 7.3Temporal Difference Q-Learning2024-11-25 MonR&N 22.5
Lecture 8.1RL Extensions & Applications2024-11-27 WedR&N 22.5
No DiscussionNo Discussion - Thanksgiving Holiday2024-11-28 Thu
No LectureNo Class - Thanksgiving Holiday2024-11-29 Fri
Lecture 8.3Buffer time, selected topics, AlphaGo & AlphaGoZero Deepmind Slides2024-12-02 Mon
ReflectionReflection 5 Due (see GitHub Classroom)2024-12-04 Wed
Lecture 9.1Alignment, Safety, Ethics2024-12-04 WedR&N 27.3
DiscussionQuiz 6; Discussion Content TBD2024-12-05 Thu
Lecture 9.2The Future of AI2024-12-06 Fri
ProjectCollaboration Survey 2 Due2024-12-06 Fri
Finals Week Begins2024-12-09 Mon
Final SessionFinal Session (Project Presentations)2024-12-10 Tue
ProjectProject Report & Code Due2024-12-10 Tue
Finals Week Ends2024-12-13 Fri

Extra Resources

Quiz Topic Guide

Quiztopics
1search: DFS,BFS,UCS,A*,heuristics,framing search problems
2adversarial search: Minimax, Alpha-Beta Pruning
3supervised machine learning: decision trees, ensemble methods, regularization & overfitting, model complexity
4supervised machine learning: neural networks, perceptron, backpropagation, topics after quiz 3 to through the monday preceding the quiz
5supervised machine learning: neural networks, RNN, CNN, topics after quiz 4 to through the monday preceding the quiz
6reinforcement 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.

TitleDeadlineStarter Code RepoInvitation Link
Reflection 12024-10-31T06:59:00ZN/Ahttps://classroom.github.com/a/0ZUqONgi
Reflection 22024-11-07T07:59:00ZN/Ahttps://classroom.github.com/a/qJNQsT-Q
Reflection 32024-11-14T07:59:00ZN/Ahttps://classroom.github.com/a/HNmG4-6J
Reflection 42024-11-21T07:59:00ZN/Ahttps://classroom.github.com/a/WLOz0sFM
Reflection 52024-12-05T07:59:00ZN/Ahttps://classroom.github.com/a/3zUbw8FR
Homework 12024-10-24T06:59:00Zhttps://github.com/g-simmons-classes/g-simmons-classes-ecs170-fall-2024-homework-1-ECS170-homework-1https://classroom.github.com/a/vj8XQmgX
Homework 22024-11-21T06:59:00ZN/Ahttps://classroom.github.com/a/Ud4jNQ25
ProjectN/Ahttps://classroom.github.com/a/ZZBlsTtb
Group Formations2024-10-11T06:59:00Zhttps://github.com/g-simmons-classes/g-simmons-classes-ecs170-fall-2024-group-formations-group-formationhttps://classroom.github.com/a/kjMPGSSz
Project Proposalhttps://github.com/g-simmons-classes/g-simmons-classes-ecs170-fall-2024-project-proposal-ECS170-project-proposalhttps://classroom.github.com/a/LTKoW-j7
Project Check-In2024-11-14T06:59:00ZN/Ahttps://classroom.github.com/a/D118riuy
Collaboration Survey 12024-11-14T06:59:00ZN/Ahttps://classroom.github.com/a/DreZKhXS
Project2024-12-11T06:59:00ZN/Ahttps://classroom.github.com/a/ZZBlsTtb
Collaboration Survey 22024-12-11T06:59:00ZN/Ahttps://classroom.github.com/a/D5ZIpltZ
GradesN/Ahttps://github.com/g-simmons-classes/g-simmons-classes-ecs170-fall-2024-grades-ECS170-gradeshttps://classroom.github.com/a/zLeSQj0m

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).

0 2 4 6 7 Days Late 0% 25% 50% 75% 100% Penalty Assignment Late Penalty

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