计算概论学习笔记(2)

感谢北大李戈老师讲解的计算概论。

【道阻且长,行则将至】

很多年没有intensive coding,现在这个系列是coding retake,一点点回忆之前的知识,希望能重回到一线。主要内容包括C,C++,Pytorch学术前沿项目学习和实践,预计会在2024年内完成。


1. Skill,训练得技能!!!编程不能只学Knowledge

2. 须抓大放小

3. 多练简单题

4. 选一本薄的书 (个人认为,参考书必要不大,该课程已经可以构建较全的知识体系,其余应该通过QA-driven方式借助互联网学习)

我发现李戈老师上编程课的思路挺独特,底层逻辑就是:培养大家对于程序的兴趣,喜欢和程序待一起,日久生情,设计了一条特别缓的学习曲线,让大家的内心有特别好的接纳范围。因为说到编程,大家或多或少会有一定的畏难情绪,这对于大多数人而言,大学前并未接触过。

感性认识计算机

1. 写程序就是告诉计算机要做什么。我们怎么跟计算机说,它才能听懂。 涉及两个问题:

        Q1. 应该说些什么?(计算机能接收的内容范围)- 本质

        Q2. 以什么形式说?

2. 假如你的大脑是一台计算机

        这是个很意思的事情,给了个数列找最大最小,作为自己思维的觉察者,去观察自己是怎么找到的。>> 存储特别的数,然后不断用新的数和特别的数进行比较大小,更新特别的数,等遍历了数列,就能输出最大最小。

        其实,我们写程序跟这个过程是一模一样的。(我也是这次回过来看才恍然大悟,觉得“假设...”具有精妙之处)

3.如果你来设计一门编程语言 ~ 形式

        转换角色,能激发大家对语言设计更深层的体会(太棒了!!),很容易就有了global picture,也不容易陷入到繁琐的语法中。

        如果我们来设计编程语言,这个时候可能就需要回到“假如你的大脑是一台计算机”,提出以下经典3问:

        Q1. 是不是任意单词计算机都应该认识? NO

        Q2. 数、计算符号?        

Q3. 多少元逻辑才怎么表示纷繁复杂的逻辑?(我最喜欢问题3,这就是从表象的纷繁复杂发掘了本质,这点很不简单

4. 快步走进C程序一二三

顺序结构、分支语句(if)、循环语句(for)、常用的结构:数组

程序可读性:必要的注释

5. 没有解决方案就没用程序

回溯S1提到的,我们写程序就是要从“应该说什么”以及“以什么形式说”两方面去告诉计算机。

显然,解决方案就是“应该说什么”,语法和规则就是“以什么形式说”。

切饼问题

Warining: 没用解决方案的时候,千万不要着急动手去求解!

6. 现有构想,再些程序

描述一个问题并不容易(现在是在用结构化程序设计来进行描述)

顿悟!!!现实世界要清楚、无歧义描述一个事情也不是很容易

7.体验结构化编程

能感知清晰的结构化程序设计的思想:‘模块思维’、模块内“高内聚”、模块间“低耦合”

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值