有个叫做Teach Yourself Computer Science的网站[1]教如何自学计算机科学,关于Programming这个方向推荐了《Structure and Interpretation of Computer Programs, SICP》这本书(Peter Norvig在文章Teach Yourself Programming in Ten Years[12]中也提到这本书),同时还有伯克利的视频教学,视频在油管[2]和archive[3]上有,本文介绍的就是关于这个视频教学的相关资源。

伯克利的教学视频是2010年的,时间比较久远了,现在新的入门课程基本都是使用Python作为教学语言[5],而那时采用的是Scheme,新生代的人们估计很少见到那种需要数括号的语言。

关于讲义与字幕

由于时间比较早,视频清晰度不太高,视频中有些代码是看不清楚的,而且没有字幕。如果执意要看这个教学视频可能就要解决两个问题,一是清晰度不高,而是如果英语不太好没有字幕看。我在网上找到了差不多的课程讲义[4],如果视频中的代码看不清楚可以找一找讲义中有没有。至于字幕,可以在油管上看,然后使用机器翻译,可以看到相应的英语字幕,勉强可以参考,不行就只能硬看了。

关于解释器

我们可以使用DrRacket[6]或者STK[7]。

DrRacket有界面,使用起来挺好的,只是需要我们单独下载它的collection[8]。
STK下载下来可能无法使用,如果缺少x11,可以参考[9],安装X11[10]即可,关于安装我小结了一下[11]。

相关资源

《Structure and Interpretation of Computer Programs》,SICP是它的缩写。这本书有在线提供的网页版本[13] ,mitpress也给了pdf版本[14]。

其实麻省理工学院也有视频讲座(6.001)[15]。但Teach Yourself Computer Science建议Brian Harvey的SICP讲座(伯克利的61A课程)。

有人写的博客:我如何用二十天刷完 SICP [16],作者给了SICP 习题集的解[17],当然也还有更多的答案[18],[19],[20]。

mitpress作为出版社,提供了书的全文(html)[21] ,课后作业[22],书里的代码[23],教师使用说明[24],如何获取scheme[25],等。

Scheme语言入门[27]

垠神赞美过Lisp:谈语法[26]

参考

[1] https://teachyourselfcs.com/
[2] https://www.youtube.com/playlist?list=PLhMnuBfGeCDNgVzLPxF9o5UNKG1b-LFY9
[3] https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter
[4] https://inst.eecs.berkeley.edu/~cs61a/su10/lectures/
[5] https://inst.eecs.berkeley.edu/~cs61a/archives.html
[6] https://racket-lang.org/
[7] http://inst.eecs.berkeley.edu/~scheme/
[8] https://docs.racket-lang.org/sicp-manual/index.html
[9] https://tex.stackexchange.com/questions/208001/cant-compile-image-after-upgrading-to-os-x-yosemite
[10] http://osxdaily.com/2012/12/02/x11-mac-os-x-xquartz/
[11] https://blog.csdn.net/shanchuan2012/article/details/100188424
[12] http://norvig.com/21-days.html
[13] https://mitpress.mit.edu/sicp/full-text/book/book.html
[14] https://mitpress.mit.edu/sites/default/files/6515.pdf
[15] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
[16] http://numbbbbb.com/2016/03/28/20160328_%E6%88%91%E5%A6%82%E4%BD%95%E7%94%A8%E4%B8%A4%E5%91%A8%E6%97%B6%E9%97%B4%E5%88%B7%E5%AE%8C%20SICP/
[17] https://github.com/numbbbbb/sicp/tree/master/code/Chapter%201
[18] https://github.com/skanev/playground/tree/master/scheme/sicp
[19] https://github.com/huangz1990/SICP-answers
[20] http://sicp.readthedocs.io/en/latest/
[21] https://mitpress.mit.edu/sicp/full-text/book/book.html
[22] https://mitpress.mit.edu/sicp/psets/index.html
[23] https://mitpress.mit.edu/sicp/code/index.html
[24] https://mitpress.mit.edu/books/instructors-manual-ta-structure-and-interpretation-computer-programs
[25] https://mitpress.mit.edu/sicp/scheme/index.html
[26] http://www.yinwang.org/blog-cn/2013/03/08/on-syntax
[27] https://www.worldhello.net/doc/docbook_howto/ar01s04s06.html#idp5171200

学习伯克利CS 61A课程(Structure and Interpretation of Computer Programs, SICP)的相关资源相关推荐

  1. cs python课程 加州大学_加州大学伯克利分校是如何培养计算机学生的

    Photo by Anthony Hall / Unsplash 加州大学伯克利分校电子工程和计算机科学系(EECS)是世界知名的院系,计算机领域在2020 USNews排名第一.EECS的使命是教育 ...

  2. cs python课程 加州大学_B站的CS课程整理 搬运

    计算机系统基础:CMU 15-213 av24540152 操作系统原理:伯克利 CS162 av17833855 数据库原理:CMU 15-445 av39731185 计算机网络:斯坦福 CS14 ...

  3. 零基础转码:CS 61A自学笔记——week 1.1

    课程链接: CS 61A Spring 2022 CS 61A Fall 2021 以Fall 2021为主,Spring 2022为辅,零基础打开一看,真的好懵逼,字也太多了,一个一个捋吧.Piaz ...

  4. 假期只是玩就没意思了!告诉你一个学习麻省理工大学所有课程的好地方

    这里有一个可以让普通你我改变命运的计算机编程教学网站-OCW( https://ocw.mit.edu/about/ocw-stories/) 不信你看他们. MIT OCW(OpenCourseWa ...

  5. 设计模式在项目中的应用案例_项目化学习案例(五):菊花种植的秘密——项目化学习在菊种植课程中的应用设计案例...

    △ 戳蓝字,关注我△ 让孩子像科学家一样思考,像工程师一样解决问题. [引言] 今天推荐的是陈素平名师工作室陈芳芳老师分享的案例是基于农村学校拓展课程"一菊一世界"系列课程,以解决 ...

  6. java输出GPA_请完成下列Java程序:实现换算GPA,对于学生学习的每一门课程,都输入两个..._考试资料网...

    问答题请完成下列Java程序:实现换算GPA,对于学生学习的每一门课程,都输入两个数据:考试成绩和学分,考试成绩按如下公式换算: 90-100:5 75-89: 4 60-74: 3 40-59: 2 ...

  7. 学习计划【硬件课程设计】【课设】

    学习计划[硬件课程设计][课设] 前言 学习计划[硬件课程设计][课设] 时间内容及工作安排 一.基础实验(30分): 二.自选试验(70分): 三.时间安排: 四.关键时间节点和要求: 五.实验要求 ...

  8. 第2节--深度学习基础介绍-机器学习--课程介绍(下)

    接第1节–深度学习基础介绍-机器学习–课程介绍(上) 4.Demo - 微软实时语音翻译(一个说英语的人,系统模拟说话人的声音实时说出对应的汉语)- Google无人车送盲人去超市购物- Google ...

  9. Learning Lightroom CC 学习Lightroom CC Lynda课程中文字幕

    Learning Lightroom CC 中文字幕 学习Lightroom CC 中文字幕Learning Lightroom CC 开始使用Lightroom CC,这是Adobe强大的以云为中心 ...

最新文章

  1. Java RESTful 框架的性能比较
  2. Linux下多窗口分屏式终端--Terminator
  3. 你知道技术委员会吗?嗯,一个既重要却又鸡肋的神秘组织
  4. 利用汇编与机器码定位崩溃点
  5. Android控件——ListView之Adapter提供数据(其二)
  6. 英伟达RTX 2080 Ti值得买么?深度学习测试来了!
  7. 广发银行网上银行安全控件官方版
  8. python基础教程:Python实现动态给类和对象添加属性和方法操作示例
  9. 计算机科学基础word实验一,【实验2】熟悉WORD界面及其基本操作
  10. Html的页面演变史02
  11. 【青蛙旅行】想给呱儿子买外挂?小心有诈!
  12. 通过ip反查域名信息
  13. MATLAB 詹姆斯韦伯天文望远镜轨迹 粗略效果仿真 (二)
  14. J9数字论:什么是 DAO?DAO 的起源是什么
  15. 为什么学校计算机没有声音,为什么计算机一直没声音
  16. mybatis第三话 - mybatis的高端用法你会吗?
  17. oracle会话临时表会造成死锁,Oracle Temporary Tables(Oracle 临时表)
  18. sonarqube官方文档翻译之UserGuide
  19. GPU利用率不高问题记录
  20. 计算机考研视频哪个机构的好,计算机考研考点教学视频哪个好

热门文章

  1. 2021-08-12_简单的处理oracle常见错误ORA-12170、ORA-12541、ORA-12514、
  2. YAML——基本语法
  3. 性能优化专题十一--线程优化
  4. 深度学习各类优化器详解(动量、NAG、adam、Adagrad、adadelta、RMSprop、adaMax、Nadam、AMSGrad)
  5. Naxx Central District 1 Ice dragon saffron
  6. Saturday morning
  7. Python学习:给类或者类的对象添加打印内容 def __repr__(self)
  8. 2020年最新前端面试题(包含ES6+)
  9. Java/Sacla 获取间隔内的全部日期
  10. OSI与TCP/IP协议簇、数据链路层