COMPSCI61A

Download as PDF

COMPSCI 61A - The Structure and Interpretation of Computer Programs

Electrical Engineering and Computer Sciences Undergraduate COE - 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 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