We really want everyone to succeed in CS161! In addition to resources like lecture materials, Ed, etc., here are some additional resources and information that may help.
Students who may need academic accommodations based on the impact of a disability should initiate the request with the Office of Accessible Education (OAE) and notify us as soon as possible. For exam accommodations, please notify us by April 12, if possible. For homework accommodations, please contact us a few days in advance of the due date if possible. It is the student’s responsibility to reach out to the course staff regarding their accommodations on exams and assignments in advance. Please email OAE forms to cs161-spr2223-staff@lists.stanford.edu.
Your mental health is important: In addition to algorithmic know-how, we hope that this course will produce/maintain happy and healthy students. Here are some resources for mental health on campus:
The folks on the other end of those resources are way more qualified than the course staff to help with mental health issues. That said, if there's something we can do in CS161 to help out, please let us know (post privately on Ed or email the staff list; note that the staff list is read only by Mary, the head CAs, and the Student Liaison CA). In particular, if you are feeling overwhelmed, we can work with you to come up with a plan to study/catch up/whatever you need.
Primary textbook(s): Algorithms Illuminated.
Supplementary textbook: CLRS.
You might also find the following textbooks to be helpful references:
Are you having trouble getting started on a homework problem, prepping for an exam, or simply looking to get a better grasp of how to approach algorithm-focused questions?
Then check out this handy Algorithms Problem-Solving Guide.
Here are some solved concept check problems from previous years that can help you practice your mastery over the material!
Check out our List of Summation Formulae for CS 161.
If you'd like a refresher on prerequisite material for the course, we'd recommend these handy guides from Ian Tullis:
We strongly recommend typesetting solutions to homework sets in LaTeX. LaTeX is the standard for typesetting CS/math/etc papers, and will likely come in handy outside CS161.
We'll be using a little bit of Python in CS161. It won't be too intense, but here are some resources to help you get familiar with Python if you haven't seen it before.
Your homeworks should be typed and clearly written with complete sentences and well-organized logic, and should definitely not be your first draft.
When we ask for pseudocode, we are expecting pseudocode that is clear enough that a CS106B student (and certainly the grader) can understand what your algorithm is doing, and could implement it in a language of their choice, without thinking too hard. It is good practice to include an English description of what your pseudocode is doing, to help out the reader. See the example homework before for good and bad examples of pseudocode.
Praneeth Kolichala (sunet ID pkolich) will be our dedicated SCPD CA, and SCPD students can email them about any particular concerns or accommodations. General questions about class material or homework should still be discussed on Ed. You can find a document outlining how to access course videos and other SCPD resources here.