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.

Units: 4

Related Areas:

Prerequisites: MATH 51 (may be taken concurrently); or MATH 10A; or MATH 16A; and programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science exam.

Credit Restrictions: Students will receive no credit for COMPSCI 61A after completing COMPSCI 47A, COMPSCI 61AS, or COMPSCI W61A. A deficient grade in COMPSCI 61A may be removed by taking COMPSCI 61AS, or COMPSCI W61A.

Formats:
Fall: 3.0 hours of lecture, 1.5 hours of discussion, and 1.5 hours of laboratory per week
Summer: 6.0 hours of lecture, 3.0 hours of discussion, and 3.0 hours of laboratory per week
Spring: 3.0 hours of lecture, 1.5 hours of discussion, and 1.5 hours of laboratory per week

Grading Basis: letter

Final Exam Status: Written final exam conducted during the scheduled final exam period


Class Schedule (Spring 2025):
CS 61A – MoWeFr 14:00-14:59, Wheeler 150 – John DeNero

Class Notes
* Time conflicts ARE allowed with this class

* Lecture WILL be recorded for playback later

* An alternate final exam WILL be offered.

Class Schedule (Fall 2025):
CS 61A – MoWeFr 13:00-13:59, Wheeler 150 – John DeNero

Class Notes
* To enroll in this class, enroll in Lecture 1, Discussion 999, and Lab 999A. Actual lab and discussion assignments will be done outside the system during the first class.

* Time conflicts ARE allowed.

* Lecture will be recorded.

Class homepage on inst.eecs

Links: