PS4
Welcome to PS4 for CS 320! This homework assignment has 2 parts: Circuits and Neural Networks.
Assignment logistics
This is a partner assignment, which means you should complete all pieces of the homework with your assigned partner. Anna sent out new partner assignments by email on 2/3/26. (Note that this means you should complete the assignment together. You should not divide-and-conquer.)
Collaboration and academic honesty
You can talk to others in the class about general problem solving strategies, but you should not share code, writing, or specific insights with people other than your partner. The standard class academic honesty policies apply (see the syllabus for more details, but the tldr is that you can freely use (with citation) documentation or materials on Moodle, you can use other static online material with caution, and you cannot use generative AI.) As always, reach out to Anna with and questions about collaboration or AI usage.
Setup
Download the starter files here. Then, upload the starter code to Google Drive. You'll complete each of the notebooks in Colab. Note that this is different than how the previous problem sets worked!
Part 1: Circuits
In ps4-nb1-circuits.ipynb, you'll draw a circuit and perform the backpropagation algorithm on it.
Part 2: Neural Networks
In ps4-nb2-neural-networks.ipynb, you'll fill in missing code to train a neural network.
Handing in the assignment
To prepare your submission, open collect_submission.ipynb in Colab and follow the instructions there.
Note that you only need to submit the PDF to Gradescope; you do not need to submit the code zip file.
Make sure that only one person in each partnership submits to Gradescope (after submitting, you can add the other partner as a group member).
Grading
Each notebook in this homework will be weighted equally. Each sub-problem will be graded out of 4 points, where 4 indicates mastery, 3 proficency, 2 significant progress, and 1 minimal progress. Your grade for each notebook will be the average of your score on each of its subparts. See Moodle for more details on homework grading.
Tips
- Make sure to save your work, especially in .py files and also in the .ipynb file!
- Double check that the images for Part 1 show up in the PDF you are submitting to Gradescope.
- If your kernel is disconnected (e.g., if you take a break from working), you will need to re-run all previous cells
- Please make sure you've run each notebook, in order, before submitting. I should be able to see all of the cell outputs, and if I rerun the whole notebook, I should see exactly the same cell outputs as what you submit.