COMPSCI61A

Download as PDF

The Structure and Interpretation of Computer Programs

Electrical Engineering and Computer SciencesUndergraduateCOE - College of Engineering

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