Teaching


Molly’s 61a page

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. :)

Inclusive Learning Statement

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.

Logistics

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

Resources

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)

My background

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.

Land Acknowledgement

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