The Structure and Interpretation of Computer Programs (61A)

1 Review

Teachers: University of California, Berkeley

About: 31½ hours, 38 lessons, Certificate of Completion

The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer's point of view. This first course concentrates mostly on the idea of abstraction, allowing the programmer to think in terms appropriate to the problem rather than in low-level operations dictated by the computer hardware. The next course, CS 61B, will deal with the more advanced engineering aspects of software, such as constructing and analyzing large programs. Finally, CS 61C concentrates on machines and how they carry out the programs you write.

In CS 61A, we are interested in teaching you about pro … Read More


More Details

Course Description

The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer's point of view. This first course concentrates mostly on the idea of abstraction, allowing the programmer to think in terms appropriate to the problem rather than in low-level operations dictated by the computer hardware. The next course, CS 61B, will deal with the more advanced engineering aspects of software, such as constructing and analyzing large programs. Finally, CS 61C concentrates on machines and how they carry out the programs you write.

In CS 61A, we are interested in teaching you about programming, not about how to use one particular programming language. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, and object-oriented programming. Mastery of a particular programming language is a very useful side effect of studying these general techniques. However, our hope is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days' work.

Taught by John S. DeNero in the spring semester of 2015

License: CC BY-NC-ND

Curriculum

Module 1: Spring Semester

Lesson 1: Lecture 1
The Structure and Interpretation of Computer Programs
Lesson 2: Lecture 2
Computer Science 61A - 2015-01-23
Lesson 3: Lecture 3
Computer Science 61A - 2015-01-26
Lesson 4: Lecture 4
Computer Science 61A - 2015-01-28
Lesson 5: Lecture 5
Computer Science 61A - 2015-01-30
Lesson 6: Lecture 6
Computer Science 61A - 2015-02-02
Lesson 7: Lecture 7
Computer Science 61A - 2015-02-04
Lesson 8: Lecture 8
Computer Science 61A - 2015-02-06
Lesson 9: Lecture 9
Computer Science 61A - 2015-02-11
Lesson 10: Lecture 10
Computer Science 61A - 2015-02-13
Lesson 11: Lecture 11
Computer Science 61A - 2015-02-18
Lesson 12: Lecture 12
Computer Science 61A - 2015-02-20
Lesson 13: Lecture 13
Computer Science 61A - 2015-02-23
Lesson 14: Lecture 14
Computer Science 61A - 2015-02-25
Lesson 15: Lecture 15
Computer Science 61A - 2015-02-27
Lesson 16: Lecture 16
Computer Science 61A - 2015-03-02
Lesson 17: Lecture 17
Computer Science 61A - 2015-03-04
Lesson 18: Lecture 18
Computer Science 61A - 2015-03-06
Lesson 19: Lecture 19
Computer Science 61A - 2015-03-09
Lesson 20: Lecture 20
Computer Science 61A - 2015-03-11
Lesson 21: Lecture 21
Computer Science 61A - 2015-03-13
Lesson 22: Lecture 22
Computer Science 61A - 2015-03-16
Lesson 23: Lecture 23
Computer Science 61A - 2015-03-20
Lesson 24: Lecture 24
Computer Science 61A - 2015-03-30
Lesson 25: Lecture 25
Computer Science 61A - 2015-04-01
Lesson 26: Lecture 26
Computer Science 61A - 2015-04-03
Lesson 27: Lecture 27
Computer Science 61A - 2015-04-06
Lesson 28: Lecture 28
Computer Science 61A - 2015-04-08
Lesson 29: Lecture 29
Computer Science 61A - 2015-04-10
Lesson 30: Lecture 30
Computer Science 61A - 2015-04-13
Lesson 31: Lecture 31
Computer Science 61A - 2015-04-15
Lesson 32: Lecture 32
Computer Science 61A - 2015-04-17
Lesson 33: Lecture 33
Computer Science 61A - 2015-04-20
Lesson 34: Lecture 34
Computer Science 61A - 2015-04-22
Lesson 35: Lecture 35
Computer Science 61A - 2015-04-24
Lesson 36: Lecture 36
Computer Science 61A - 2015-04-27
Lesson 37: Lecture 37
Computer Science 61A - 2015-04-29
Lesson 38: Lecture 38
Computer Science 61A - 2015-05-01

Reviews (1 Review)

Ari Haverinen February 11th, 2017