COMPSCI61A
Download as PDF
The Structure and Interpretation of Computer Programs
Subject
COMPSCI
Course Number
61A
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
4
Maximum
4
Grading Basis
Default Letter Grade; P/NP Option
Method of Assessment
Written Exam
Instructors
Garcia, Hilfinger
American Cultures Requirement
No
Reading and Composition Requirement
None of the Reading and Composition Requirement
Prerequisite
Complete ANY of the following Courses:
Prerequisite
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 if the following the course(s) have already been completed.
-
Credit Restrictions
Students will receive no credit for COMPSCI 61A after completing COMPSCI 47A, COMPSCI 61AS, or COMPSCI W61A.
Credit Replacement Courses. Upon passing, students can use the following course(s) to replace a deficient grade for this course.
-
Formats
Lecture, Discussion, Laboratory
Term
Fall and Spring
Duration (in weeks)
15
Minimum Hours
3
Maximum Hours
3
Lecture Mode of Instruction
In Person, Online
Minimum Hours
1.5
Maximum Hours
1.5
Discussion Mode of Instruction
In Person, Online
Minimum Hours
1.5
Maximum Hours
1.5
Laboratory Mode of Instruction
In Person, Online
Outside Work Hours Min
6
Maximum Hours
6
Term
Summer
Duration (in weeks)
8
Minimum Hours
6
Maximum Hours
6
Lecture Mode of Instruction
In Person, Online
Minimum Hours
3
Maximum Hours
3
Discussion Mode of Instruction
In Person, Online
Minimum Hours
3
Maximum Hours
3
Laboratory Mode of Instruction
In Person, Online
Outside Work Hours Min
10.5
Maximum Hours
10.5