Spring 2022
COMPSCI 61A 131 - DIS 131
The Structure and Interpretation of Computer Programs
Class #:21668
Units: 4
Instruction Mode:
In-Person Instruction
Offered through
Electrical Engineering and Computer Sciences
Current Enrollment
Total Open Seats:
36
Enrolled: 0
Waitlisted: 0
Capacity: 36
Waitlist Max: 25
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.
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.
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