|
Grading
Exam date/time/location: June 7, 12:15pm-3:15pm, location TBA.
Please note that we will not be able to accommodate students with a final exam conflict due to enrollment in a conflicting course. Students should make sure that they are able to take the CS 221 final exam at the normal time if they are enrolled in a conflicting course.
For SCPD students, your exams will be distributed through the SCPD office once you have set up an exam monitor.
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.
For inspiration, we have made some previous CS221 projects available for viewing.
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.
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
---|---|---|---|---|---|---|---|
Week 1 | Mar 28 | Mar 29 | Sep 30 | Sep 31 | Apr 1 | Apr 2 | Apr 3 |
Lecture: Intro / Overview 1:30-3pm [foundations] homework release |
Lecture: Machine Learning 1 (Linear Models) 1:30-3pm |
Section 1 3:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 2 | Apr 4 | Apr 5 | Apr 6 | Apr 7 | Apr 8 | Apr 9 | Apr 10 |
Lecture: Machine Learning 2 (Neural Networks) 1:30-3pm [foundations] homework due [sentiment] homework release |
Lecture: Machine Learning 3 (Unsupervised Learning) 1:30-3pm |
Section 2 3:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 3 | Apr 11 | Apr 12 | Apr 13 | Apr 14 | Apr 15 | Apr 16 | Apr 17 |
No lecture |
Lecture: Search 1:30-3pm |
Project interest form due Section 33:15-4:45pm [Slides] [Problems] [Solution] [Video] |
|||||
Week 4 | Apr 18 | Apr 19 | Apr 20 | Apr 21 | Apr 22 | Apr 23 | Apr 24 |
Lecture: Search and Heuristics 1:30-3pm [foundations] solutions release [sentiment] homework due [reconstruct] homework release |
Lecture: Policy 1:30-3pm |
Section 4 3:15-4:45pm [Slides] [Problems] [Solution] [Video] |
|||||
Week 5 | Apr 25 | Apr 26 | Apr 27 | Apr 28 | Apr 29 | Apr 30 | May 1 |
Lecture: Reinforcement Learning / SARSA 1:30-3pm [sentiment] solutions release [reconstruct] homework due [blackjack] homework release |
Lecture: Minimax Problems 1:30-3pm |
Project proposal due Section 53:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 6 | May 2 | May 3 | May 4 | May 5 | May 6 | May 7 | May 8 |
Lecture: TD Learning 1:30-3pm [reconstruct] solutions release [blackjack] homework due [pacman] homework release |
Lecture: Constraints 1:30-3pm |
Section 6 3:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 7 | May 9 | May 10 | May 11 | May 12 | May 13 | May 14 | May 15 |
Lecture: Beam Search 1:30-3pm [blackjack] solutions release [pacman] homework due [scheduling] homework release |
Lecture: Bayesian networks 1:30-3pm |
Section 7 3:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 8 | May 16 | May 17 | May 18 | May 19 | May 20 | May 21 | May 22 |
Lecture: Forward-Backward Algorithm 1:30-3pm [pacman] solutions release [scheduling] homework due [car] homework release |
Lecture: Bayes Learning and EM 1:30-3pm |
Project progress report due Section 83:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 9 | May 23 | May 24 | May 25 | May 26 | May 27 | May 28 | May 29 |
Lecture: Logic (semantics) 1:30-3pm [scheduling] solutions release [car] homework due [logic] homework release |
Lecture: Logic (first-order) 1:30-3pm |
Section 9 3:15-4:45pm [Problems] [Solutions] [Video] |
|||||
Week 10 | May 30 | May 31 | June 1 | June 2 | June 3 | June 4 | June 5 |
No classes (Memorial day) [car] solutions release [logic] homework due |
Lecture: Summary and future of AI 1:30-3pm |
Project final report due Section 10 3:15-4:45pm |
[logic] solutions release |
||||
Week 11 | June 6 | June 7 | June 8 | June 9 | June 10 | June 11 | June 12 |
Final Exam 12:15-3:15pm |