大学生创业导论尔雅 大学生创业导论尔雅课后答案

文/苏椰(知乎)
很多学计算机的朋友,都有类似的困惑:我学了计算机专业,怎么还是做不出网站、软件、App?很多人误以为是教材不接轨,因此崇拜国外教材,其实不是那么回事 。我尽量详细地答一下,顺便也讲讲计算机科学到底是干什么的 。
假如有个同学,受过基本的语文训练,初学写作,梦想成为金庸那样的小说家 。他现在想知道,如何提高创作能力,并练习写第一篇小说 。这时,有个中文系的大学生路过,面对这位略有稚气的同学,给出了高票答案:
我不认为学生写小说有啥意义 。学生,就要沉得下心 。你看我懂文学理论,要写小说的时候,哪怕不会组词,有本辞典就能写了 。所以你不要浪费时间去搞那些,你要先把文学的本质理解透彻,达到我的境界,就能“会当凌绝顶” 。所以你现在应该学习《深入理解现当代诗歌》、《文本的结构和意义的生成》以及《音韵导论》,然后脚踏实地学习 2+ 年,这些才是语言的内功 。
这位同学当场被这些华丽的书名击倒,跑到知乎恭恭敬敬提问:
我想写小说,大师给我推荐三本经典,我应该按什么顺序学?学了这些,我能写出什么?
不用觉得滑稽,初学者被高大上的书目击倒是正常的,题主举例的这三本书也确实都是入门经典 。但是我们要先搞明白,它们入的是什么门 。
CSAPP 《深入理解计算机系统》:
这是 CMU 的“计算机科学导论”的教材 。是操作系统入门 。(这门课程要求学生有编程基础)
SICP 《计算机程序的构造和解释》:
这是 MIT 的 6.001 课程的教材 。是编程语言入门 。(这门课在好几年前就改成 Python 了)
CLRS 《算法导论》:
这是 MIT 的 6.006 课程的教材 。是算法分析入门 。
那么操作系统、编程语言、算法分析又属于什么呢?我们系统地看看,计算机科学到底是干什么的 。CS 大体可以分成这么几个大领域:硬件、系统、软件、网络、计算理论、计算方法 。
● 硬件—— 数字电路、集成电路、存储器、各种硬件设计和验证方法等 。
● 系统—— 计算机架构(指令集、串/并行、网格、云端之类)、嵌入式、实时系统等 。
● 软件—— 操作系统、虚拟机、编程语言、软件设计/开发/验证的工具和方法论等 。
● 网络—— 计算机网络的架构、协议、组件、路径算法、性能分析等 。
● 计算理论—— 可计算性、形式语言和自动机、密码、逻辑、算法分析等 。
展开全文

大学生创业导论尔雅 大学生创业导论尔雅课后答案

文章插图
● 计算方法—— 数值计算、符号计算、并行计算、计算机图形学、人工智能、机器学习等 。
你可以按这个提纲,逐个了解一下 CS 是干什么的 。但现在可以先看着这些词,大概感受一下 。我们再说那三本书:操作系统和编程语言,是软件领域中小领域,而算法分析是计算理论中的小领域,这是那三本书在计算机科学中的位置 。它们作为所谓“经典”,入的就是这几个门 。现在你知道这几本书是干什么的了,那么你的问题来了:做网站、做 App 又属于这里面的哪个位置?
答案是,哪个也不属于 。你看整个计算机科学,研究的都是非常底层或基础的东西,与你说的“现实中的产品开发”,基本上是没有关系的 。即使有些名称看着和开发有关,其实也不是一回事 。比如这里所说的“编程语言”,就好比语言学,是研究各种语言结构的,而不是教你用语言写作的 。你要认识到这一点,这不是教材好坏的问题,而是分工不同 。就像天文学不是教你制造望远镜的,机械动力学不是教你开挖掘机的 。