COMPSCI61A
Download as PDF
COMPSCI 61A - The Structure and Interpretation of Computer Programs
Subject
COMPSCI
Course Number
61A
Department
Course Level
Undergraduate
Course Title
The Structure and Interpretation of Computer Programs
Course 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.
Minimum Units
4
Maximum Units
4
Grading Basis
Default Letter Grade; P/NP Option
Method of Assessment
Written Exam
Instructors
Garcia, Hilfinger
-
-
Prerequisites
MATH 1A (may be taken concurrently) or Math 10A or Math 16A. Programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science exam.
Repeat Rules
Course is not repeatable for credit.
Credit Restriction Courses. Students will receive no credit for this course after completing the course(s) below.
-
Credit Restrictions
Students will receive no credit for COMPSCI 61A after completing COMPSCI 47A, COMPSCI 61AS, or COMPSCI W61A.
Credit Replacement Courses
-
Formats
Lecture, Discussion, Laboratory
Term
Fall and Spring
Weeks
15 weeks
Weeks
15
Lecture Hours
3
Lecture Hours Min
3
Lecture Hours Max
3
Lecture Mode of Instruction
In Person, Online
Discussion Hours
1.5
Discussion Hours Min
1.5
Discussion Hours Max
1.5
Discussion Mode of Instruction
In Person, Online
Laboratory Hours
1.5
Laboratory Hours Min
1.5
Laboratory Hours Max
1.5
Laboratory Mode of Instruction
In Person, Online
Outside Work Hours
6
Outside Work Hours Min
6
Outside Work Hours Max
6
Term
Summer
Weeks
8 weeks
Weeks
8
Lecture Hours
6
Lecture Hours Min
6
Lecture Hours Max
6
Lecture Mode of Instruction
In Person, Online
Discussion Hours
3
Discussion Hours Min
3
Discussion Hours Max
3
Discussion Mode of Instruction
In Person, Online
Laboratory Hours
3
Laboratory Hours Min
3
Laboratory Hours Max
3
Laboratory Mode of Instruction
In Person, Online
Outside Work Hours
10.5
Outside Work Hours Min
10.5
Outside Work Hours Max
10.5