CS61A学习笔记 lecture1 Computer science
SICP: Structure and Interpretation of Computer Programs 计算机程序的构造和解释
一开始其实是想做南大的SICP学习笔记的,但是没有找到南大这门课的视频,还有就是他是CS61A的clone,网上也有CS61A的视频,就打算直接学习CS61A了
文章目录
- CS61A学习笔记 lecture1 Computer science
- 课程资源
- What is Computer Science
- What is This Course About
- Composing Programs (demo)
- 一些感想
- 相关资源
课程资源
-
课程的写代码网站
-
textbook: Composing Programs
-
可视化网站python tutor
-
CS61A 视频
-
CS 61A Fall 2022 课程主页
EMMM 第一次跟国外这种很有名的课, 课程主页设置真的让我orz slides还提供三种版本的orz
然后.py文件打开是这样的orz … 切实体会到和名校的差距了
自动作业评测网站…
切身体会之后,再去看当时撇了一眼的CS自救指南,真是打开了一个新世界…
What is Computer Science
- It turns out that all computer scientists regardless of where in this grand hierarchy. They all have a common enemy and that is complexity and we have a common tool to manage complexity and that is called abstraction.
What is This Course About
-
A course about managing complexity
-
Mastering abstraction
-
It’s of course about managing the that results from writing large computer programs and the main tool that we will use is called abstraction which turns out to be something that you’re already good at.
-
what abstraction is ?
- giving something a name and talking about it without worrying about its details.
下面这里老师讲的好好哈哈
-
You can refer to me John as your instructor without worrying about exactly what my organs are doing or what they’re made out of. l mean there’s not going on inside me like there’s all these proteinsand water and those are made up of individual elements but that isnot something that you worry about. When you say. Oh John isteaching this course because you’re using abstraction
-
That same idea translates into computer programming which is something thatwe will focus on a great deal in this course.
-
-
Programming paradigms /ˈpær.ə.daɪm/ 编程范式
- Programming paradigms which are very broad ideas about how to organize as programs so that you can manage complexity exactly how they work is something that we’ll talk about as we go through the course.
-
-
An introduction to programming
- Full understanding of Python fundamentals
- We’re going to go through and talk about one programming language called python a lot and you’ll know it’s fundamentals very well by the end of this course.
- Combining multiple ideas in large projects
- You’re going to learn ideas for how to use it and then combine them in large projects.
- How computers interpret programming languages 计算机如何解释编程语言
- We’ll also even talk about how it is the computers interpret programming languages so that it’s not just that it’s a magic that’s happening but instead it’s a process that we can understandand even interact with
-
Different types of languages: Scheme & SQL
- We’ll also talk about different kinds of programming languages because there isn’t just one perfect way to tell a computer.
- What to do depending on what you wanted to do.Different languages might be a better choice.And so we’ll give you a variety not because these are these are the most important languages in the world, but because they’re representative of the different kinds of languages that people use and also they all get used a lot and sometimes in combination. That’s a lot to fit into one.
-
A challenging course that will demand a lot of you
Computer Science is no more about computers than astronomy is about telescopes. ----Edsger W. Dijkstra 计算机科学不只是计算机,就像天文学不只是望远镜一样。
谷歌实时字幕yyds
Composing Programs (demo)
- 先是在终端里做了一些python数学运算的例子
- 然后引入了字符串
- 然后以一段莎士比亚的文本做了很多探究
- 涉及到了set , 循环, 切片, and so on
- 这段很吸引我,因为我觉得这一段可以作为NLP入门的很好的引子
一些感想
-
深深地震撼… 难掩一种发现新大陆的激动
-
不只是因为慕名而来所以震撼, 刚上课就给了我很不一样的感觉 ,比如what is computer science ,那里我感觉真的是一种引导式的循循善诱的教育
-
另外就是太先进了… 一门课上好几个助教来发言打招呼 OTZ
-
以及讲了syllabus,还有下面种种, 很多都是给我带来了理念层面的刷新
-
还有只能orz的就是他们课程还有个写代码的网站…
呜呜呜,还真的可以sign up 然后login!
好激动诶!
相关资源
-
在南大的PA实验网站上看到SICP这门课,好奇的点进去看了看…只能orz
- 你在南京大学上过最牛的课是什么? - 亦成的回答 - 知乎 https://www.zhihu.com/question/356467344/answer/947566703
- 大佬的笔记
-
B站上找到一些lab的讲解
https://www.bilibili.com/video/BV1NG411g79f/?spm_id_from=333.337.search-card.all.click&vd_source=0e8431ba6fd78bb2215c36307a75ac1a
https://www.bilibili.com/video/BV1Qh411s7iL/?vd_source=0e8431ba6fd78bb2215c36307a75ac1a
-
B站【完结🎉】UCB CS 61A: Computer Programs, Fall 2020
-
B站 CS61C:Great ideas in Computer Architecture
-
B站 CS61B Data Structures
-
MIT名课 SICP
- GitHub MIT SICP中文翻译项目
- github 大佬的整理
-
一些帖子
- github 大佬的整理
-
一些帖子
-
B站大佬的总结