2020 Fall
COMPSCI 61A 001 - LEC 001
The Structure and Interpretation of Computer Programs
John S. DeNero, Hany Farid
Aug 26, 2020 - Dec 11, 2020
Mo, We, Fr
02:00 pm - 02:59 pm
Internet/Online
Class #:27678
Units: 4
Instruction Mode:
Remote Instruction
Asynchronous Instruction
Time Conflict Enrollment Allowed
Offered through
Electrical Engineering and Computer Sciences
Current Enrollment
Total Open Seats:
352
Enrolled: 1748
Waitlisted: 0
Capacity: 2100
Waitlist Max: 500
No Reserved Seats
Hours & Workload
1.5 hours of instructional experiences requiring special laboratory equipment and facilities per week, 3 hours of instructor presentation of course materials per week, 6 hours of outside work hours per week, and 1.5 hours of the exchange of opinions or questions on course material per week.
Final Exam
THU, DECEMBER 17TH
03:00 pm - 06:00 pm
Other classes by John S. DeNero
Other classes by Hany Farid
Course Catalog Description
An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects.
Class Notes
* Lecture will be synchronous for the first couple of weeks of class and will then switch to asynchronous. Synchronous lectures will be recorded.
* Lab and Discussion sections will be synchronous but ACTUAL meeting times have not yet been determined.
* In addition to the le.. show more
* Lab and Discussion sections will be synchronous but ACTUAL meeting times have not yet been determined.
* In addition to the le.. show more
* Lecture will be synchronous for the first couple of weeks of class and will then switch to asynchronous. Synchronous lectures will be recorded.
* Lab and Discussion sections will be synchronous but ACTUAL meeting times have not yet been determined.
* In addition to the lecture, you must in enroll in DIS 999 and LAB 999A to enroll in the course. Selection and assignment into the actual discussions happen outside of CalCentral and will be managed by teaching staff.
* See the class website for more information: https://www2.eecs.berkeley.edu/Courses/CS61A/ show less
* Lab and Discussion sections will be synchronous but ACTUAL meeting times have not yet been determined.
* In addition to the lecture, you must in enroll in DIS 999 and LAB 999A to enroll in the course. Selection and assignment into the actual discussions happen outside of CalCentral and will be managed by teaching staff.
* See the class website for more information: https://www2.eecs.berkeley.edu/Courses/CS61A/ show less
Rules & Requirements
Credit Restrictions
Students will receive no credit for Computer Science 61A after completing Computer Science 47A or Computer Science 61AS. A deficient grade in Computer Science 61AS may be removed by taking Computer Science 61A.
Repeat Rules
Course is not repeatable for credit.
Reserved Seats
Current Enrollment
No Reserved Seats
Textbooks & Materials
See class syllabus or https://calstudentstore.berkeley.edu/textbooks for the most current information.
Guide to Open, Free, & Affordable Course Materials