CS61A是伯克利的一门编程课,对应的教材是《计算机程序的构造和解释》。其核心**是抽象(函数构造抽象和数据构造抽象),主要讲解了函数式编程、面向对象编程(OOP)和声明式编程(SQL)三种编程范式。最后讲解了Scheme语言,并用Python实现了一个简单的Scheme解释器。另外,课程也涉及了一些编程的核心主题,如递归、宏、流、迭代器和生成器等,以及基础的数据结构链表和树。
My solution to UCB CS61A course SICP-Python Lab HomeWork & Project
https://inst.eecs.berkeley.edu/~cs61a/su19/
https://www.bilibili.com/video/BV1nJ41157p6
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.
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.
CS 61A primarily uses the Python 3 programming language. Python is a popular language in both industry and academia. It is also particularly well-suited to the task of exploring the topics taught in this course. It is an open-source language developed by a large volunteer community that prides itself on the diversity of its contributors. We will also examine the Scheme programming language, as well as the Structured Query Language (SQL) in the latter half of the course.
Mastery of a particular programming language is a very useful side effect of CS 61A. However, our goal is not to choose what language you use in your future studies and career. Instead, 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.