We are also making three changes to the course structure:
|
|
With ProjectWithout Project
- Homeworks: 50%.
- Exams: 30%.
- Project: 20%.
- Homeworks: 60%.
- Exams: 40%.
Exam 1
Exam 2
- Date: released at 2:30PT on Wednesday, May 5; due at 2:30PT on Thursday, May 6.
- Length: 100 minutes. Designed to be completed within 80 minutes, with an additional 20-minute leeway for scanning and/or uploading.
- Format: The exam will be open book and distributed and administered through Gradescope and will be available for 24 hours. Students can choose any block of time within the designated window above to take the exam.
Conflict: If you have a major time conflict for either exam (e.g., an academic conference), you should let us know privately via email by Friday, January 29 (week 3).
- Date: released at 2:30PT on Wednesday, June 2; due at 2:30PT on Thursday, June 3.
- Length: 120 minutes. Designed to be completed within 80 minutes, with an additional 40-minute leeway for scanning and/or uploading.
- Format: Same as Exam 1.
The project will be something that you work on throughout the course and we have set up some milestones to help you along the way:
Regardless of the group size, all groups must submit the work detailed in each milestone and will be graded on the same criteria. Although we allow 1-2 person project groups, we encourage groups of 3-4 members. We encourage teams of 3-4 students because this size typically best fits the expectations for CS 221 projects. We expect each team to submit a completed project (even for team of 1 or 2). All projects require that students spend time gathering data, and setting up the infrastructure to reach an end result. A 3 or 4 person team can share these tasks much better, allowing the team to focus more on the interesting results and discussion in the project. Each member of the team should contribute in both technical and non-technical components of the project. We will provide resources on Ed and the project page that can help you find group members.
Homeworks
The programming assignments are designed to be run
in GNU/Linux environments.
Most or all of the grading code may incidentally work on other
systems such as MacOS or Windows, and students may optionally
choose to do most of their development in one of these alternative
environments. However, no technical support will be provided for
issues that only arise on an alternative environment. Moreover,
no matter what environment is used during development, students
must confirm that their code (specifically, the student's submission.py
) runs on Gradescope.
The submitted code will not be graded if it has one of the following issues:
grader.py
script (operating on the
submitted submission.py
) may not exit normally
if you use calls such as quit()
, exit()
,
sys.exit()
, and os._exit()
.
Also note that Python packages outside the standard library are not guaranteed to work. Therefore, do not use packages like numpy, scikit-learn, and pandas.Submission
grader.py
on the programming questions and give you feedback on non-hidden test cases.
You are responsible for checking that your program runs properly on these cases. You will not get credit otherwise.
If anything goes wrong, please ask a question on Ed or contact a course assistant.
Do not email us your submission.
Partial work is better than not submitting any work.
For assignments with a programming component, we will automatically sanity check your code in some basic test cases, but we will grade your code on additional test cases. Important: just because you pass the basic test cases, you are by no means guaranteed to get full credit on the other, hidden test cases, so you should test the program more thoroughly yourself!
Unless the assignment instructs otherwise, all of your code modifications
should be in submission.py
and all of your written answers
in <assignment ID>.pdf
. Upload the former to Gradescope
under the "Programming" section, and the latter under the "Written" section.
group.txt
file which should contain the SUNetIDs of the entire
group, one per line.
No late days can be taken for exams; you can start the timed exams any time during the one-dat window.
Nooks links included in the schedule below assume you have already signed into our Nooks space following our class specific link shared on Canvas and Ed.
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
---|---|---|---|---|---|---|---|
Week 1 | Mar 29 | Mar 30 | Mar 31 | Apr 1 | Apr 2 | Apr 3 | Apr 4 |
Modules Introduction Prerequisites Machine Learning I Homework [Foundations] |
Live Lecture: Introduction (Chelsea) 1:00-2:20pm |
Problem Session 1 1:00-2:20pm [Problems] [Video] [Solutions] |
Python Tutorial & Homework Introduction 10:30am-11:50am [Colab Link] [Recording] |
||||
Week 2 | Apr 5 |
Apr 6 |
Apr 7 | Apr 8 | Apr 9 | Apr 10 | Apr 11 |
Modules Machine Learning II Homework [Sentiment] |
Live Lecture: Machine Learning II (Chelsea) 1:00-2:20pm Foundations HW due |
Problem Session 2 1:00-2:20pm [Problems] [Video] [Solutions] |
Homework Party 10:00am-12:00pm Project Mixer 6:00-8:00pm |
Homework Party 1:00-3:00pm |
|||
Week 3 | Apr 12 |
Apr 13 | Apr 14 | Apr 15 | Apr 16 |
Apr 17 | Apr 18 |
Modules Search Homework [Reconstruct] |
Live Lecture: Search (Nima) 1:00-2:20pm Sentiment HW due |
Problem Session 3 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Project Interest Form Due Final Study List Deadline |
Homework Party 6:00-8:00pm |
Homework Party 6:00-8:00pm |
||
Week 4 | Apr 19 |
Apr 20 |
Apr 21 | Apr 22 | Apr 23 | Apr 24 | Apr 25 |
Modules MDPs Homework [Blackjack] |
Live Lecture: MDPs (Chelsea) 1:00-2:20pm Reconstruct HW due |
Problem Session 4 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Homework Party 10:00am-12:00pm |
Homework Party 1:00-3:00pm |
|||
Week 5 | Apr 26 |
Apr 27 |
Apr 28 | Apr 29 | Apr 30 | May 1 | May 2 |
Modules Games Homework [Pacman] |
Live Lecture: Games (Chelsea) 1:00-2:20pm Blackjack HW due |
Problem Session 5 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Project Proposal due |
Homework Party 10:00am-12:00pm |
Homework Party 1:00-3:00pm |
||
Week 6 | May 3 |
May 4 |
May 5 | May 6 | May 7 | May 8 | May 9 |
Modules N/A |
No lecture Pacman HW due |
No problem session Exam 1 released at 2:30PT |
Exam 1 Due at 2:30PT |
Project Party 10:00-11:00am |
|||
Week 7 | May 10 |
May 11 |
May 12 | May 13 | May 14 | May 15 | May 16 |
Modules Factor Graphs Homework [Scheduling] |
Live Lecture: Factor Graphs (Nima) 1:00-2:20pm |
Problem Session 6 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Homework Party 10:00am-12:00pm |
Homework Party 1:00-3:00pm |
|||
Week 8 | May 17 |
May 18 |
May 19 | May 20 | May 21 | May 22 | May 23 |
Modules Bayesian Networks Homework [Car] |
Live Lecture: Bayesian Networks (Nima) 1:00-2:20pm Scheduling HW due |
Problem Session 7 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Project Progress Report due |
Homework Party 10:00am-12:00pm |
Homework Party 1:00-3:00pm |
||
Week 9 | May 24 |
May 25 |
May 26 | May 27 | May 28 | May 29 | May 30 |
Modules Logic Conclusion Homework [Logic] |
Live Lecture: Logic (Nima) 1:00-2:20pm Car HW due |
Problem Session 8 1:00-2:20pm [Problems] [Slides] [Video] [Solutions] |
Homework Party 6:00-8:00pm |
Homework Party 6:00-8:00pm |
|||
Week 10 | May 31 |
Jun 1 |
Jun 2 | Jun 3 | Jun 4 | Jun 5 | Jun 6 |
Modules N/A |
No lecture Logic HW due |
No problem session Exam 2 released at 2:30PT |
Exam 2 due at 2:30PT |
Project Final Report due |