Hello, and welcome to CS61a! I took this class as an undergrad back in 2011 and really loved it, so I’m very happy to be here.
Please call me by my first name: “Molly”. “Ms. Nicholas” is too formal, and I’m not yet a Doctor. :)
Your success in this class is important to me. We will all need accommodations because we all learn differently. If there are aspects of this course that prevent you from learning or exclude you, please let me know, or visit this calendar to make an appointment with our Student Support TA, Cooper Bedin. You can also reach them via email at at cooper.bedin@berkeley.edu. Together we’ll develop strategies to meet both your needs and the requirements of the course.
I encourage you to visit Berkeley’s Disabled Students Program (DSP) to determine how you could improve your learning as well. If you need official accommodations, you have a right to have these met. There are also a range of resources on campus, including the Writing Center, Tutoring Center, and Academic Advising Center.
Lab Attendance: There are three ways to earn a participation point: 1) Attend the scheduled zoom event. Zoom will automatically track who attends each section. 2) Complete the lab before the start of lab and complete this lab attendance form. This means you must submit your completed lab before 9:30am on Tuesdays. 3) Skip this lab and miss a chance to get a point. You need to accrue 5 lab participation points throughout the semester, so you’ll have other chances to earn that point.
Discussion Attendance: There are three ways to earn a participation point: 1) Attend the scheduled zoom event. Zoom will automatically track who attends each section. 2) Complete all the discussion activities before Friday at 5pm and complete this discussion attendance form, or 3) Skip this lab and miss a chance to get a point. You need to accrue 5 lab participation points throughout the semester, so you’ll have other chances to earn that point.
Lab: Tuesdays 9:30-11am, Online (Zoom) Check the schedule on the 61a site for the link
Discussion: Thursdays 9:30-11am, Online (Zoom) Check the schedule on the 61a site for the link
Office Hours: Online. Check the schedule on the 61a site for the link
Email: molecule@berkeley.edu (Questions related to the course should be asked on Piazza)
Anonymous feedback form: Link
Slides: Disc 14 Video: Link |
Final review |
Slides: Lab 14 Video: Link |
Final review Zipped version of video, try this if the video link doesn't work |
Slides: Disc 13 Video: Link |
Regular Expressions, BNF (Note that I react to the news of the ongoing campus threat in the video recording) |
Slides: Lab 13 Video: Link |
Regular Expressions |
Slides: Disc 12 Video: Link |
Programs as Data |
Slides: Lab 12 Video: Link |
Scheme Data Abstraction |
Slides: Disc 11 Video: Link |
Interpreters, Tail recursion |
Slides: Lab 11 Video: Link |
Interpreters |
Slides: Disc 10 Video: Link |
Scheme, Scheme Lists |
Slides: Lab 10 Video: Link |
Scheme |
Slides: Lab 08 Video: Link |
Midterm 2 review |
Slides: Disc 07 Video: Link |
LinkedLists, Iterators, Generators |
Slides: Lab 07 Video: Link |
Mutable Trees, LinkedLists |
Slides: Disc 06 Video: Link |
String Representations, Trees. The video link is a short but detailed walk-thru of the tree recursion problem Height from Discussion 6. If you want to watch the rest of discussion 6, that link is here. |
Slides: Lab 06 Video: Link |
Object-Oriented Programming, String Representations |
Slides: Disc 05 Video: Link |
Sequences, Mutability, Object-Oriented Programming |
Slides: Lab 05 Video: Link |
Python Lists, Mutability |
Slides: Disc 04 Video: Link |
Recursion, Tree Recursion |
Slides: Lab 04 Video: Link |
Recursion, Tree Recursion. |
Slides: Disc 03 Video: Link |
Recursion. Yo dawg, I heard you like recursion, so I put a function call to your function inside your function. |
Slides: Lab 03 Video: Link |
No lab on Feb 8th! There is no lab this week because of the midterm. Good luck! |
Slides: Disc 02 Video: Link |
Environment diagrams, higher-order functions, lambdas, currying. (2022-02-03) |
Slides: Lab 02 Video: Link |
Higher-order Functions, lambdas, currying, applying environment diagrams. (2022-02-01) |
Slides: Disc 01 Video: Link |
Control, while loops, print statements, debugging, fizzbuzz (great interview prep). (2022-01-27) |
Slides: Lab 01 Video: Link |
Control, truthyness, falseyness, Parsons problems walk-through at the end. (2022-01-25) |
Slides: Disc 00 Video: Link |
Welcome, introductions, logistics. There is NO lab on Jan 18th. We will be meeting for Discussion 0 on Thursday, 01/20 at 9:30 AM! All classes start Berkeley Time, so we will officially begin at 9:40am. You're welcome to join the link as early as 9:30 to say hello! (2022-01-20) |
I’m a PhD student in CS here at Berkeley, and my research is in the sub-field of Human Computer Interaction. This means I like to think about how to design interesting, useful, and compelling user interfaces. Before I came to grad school, I worked on robots at Qualcomm. I didn’t discover programming until I was a freshman in college in 2005.
I recognize that my teaching and research work is located in the territory of Huichin, the ancestral and unceded lands of Chochenyo speaking Ohlone peoples, specifically, the Confederated Villages of Lisjan. The history of prolific technological development in this region has always depended on this land, and all of our technological infrastructures and activities take place on and in relation to this land. Through the Berkeley Center for New Media, I commit to supporting the sovereignty and ongoing stewardship of this place by Ohlone peoples through building long-term reciprocity and relationships with tribal leaders and organizations.
© 2023 / Molly Jane Nicholas / email