之所以写这样一篇稿子,是我想了很多年,受到昨天看到的一个视频的启发。前端框架Vue.js的作者尤雨溪说:“很大程度上,编程和数学的交集不是很大。编程需要更多的逻辑。如果数学的逻辑没有根植于根,编程和数学在实际应用层面的交集已经很浅了。”
我先介绍一下尤雨溪,不接触编程的人可能不太熟悉。尤雨溪毕业于上海复旦附中,在美国完成大学学业,毕业于高露洁大学,获得学士学位,后在帕森斯设计学院获得设计技术硕士学位,就职于纽约谷歌创意实验室。尤雨溪在大学的专业不是计算机科学。大学期间学的是室内艺术和艺术史,后来又考了艺术设计与工艺硕士。正是在读硕士期间,他偶然接触到了Javascript,并被这种编程语言深深吸引,开始了他的前端生涯。2014年2月开发了前端开发库Vue.js。Vue.js是一个用于构建Web界面的Javascript库,是一个通过简洁的API提供高效数据绑定和灵活组件的系统。

你看到亮点了吗?一开始不是计算机专业的,后来接触到Javascript就一发不可收拾了。我不知道他后来有没有深入研究数学,但可以肯定的是,一开始没有,这并不影响他成为编程界有突出贡献的人。
先不讨论他说的对不对,看看中外计算机课程的对比。
哈佛大学计算机科学

课程主要是教授算法思维和解题能力。涉及的主题包括抽象、算法、数据结构、封装、资源管理、安全和软件工程。需要上8周的课。第一周是入门,第二周是C语言,第三周是数组,第四周是算法,第五周是内存,第六周是数据结构,第七周是Python,第八周是SQL。最后两周可以让你自由选择三个方向。学完这些,可以继续学习一些高级的分支课程,比如Web程序开发、人工智能、游戏开发、移动应用开发、法学院学生Python分析等。
其他大学,如斯坦福大学和加州大学,也有类似的课程。我想给你看的是,你不仅是一个专业的学生,还是一个码农或者机修工,因为这么多人懂。他们认为只有学习深不可测的数学,才是大学生。
来看看我们国内的计算机专业都有哪些课程?让我简单介绍一下我在大学的课程安排。我是2014年考的本科,已经上过高等数学、离散数学、线性代数、概率论、计算方法、Java基础、Java高级、数据结构、大学物理、冥想、计算机网络、SSH、SSM、Android开发等必修课。,这样我就不用提那些乱七八糟的选修课了,比如大学物理实验,电路实验等等。

同济大学的《高等数学》是数学专业的教材,其他很多专业可能也会用到。我们计算机专业很荣幸用上。一学期学了一本书,好几本。学过这本书的人都知道有一定难度,和高中数学有很大区别。这样的课程会占用很多学生的学习精力,这是不言而喻的。大的学习生活基本都被它掌控了,而Java基础更像是可有可无。计算机编程不是很难。难的是入门。一旦你进了门,你会得到一个马平川。但就是因为高等数学这门课,让很多大一新生怀疑自己的人生,厌学情绪随着时间的推移逐渐膨胀,很多人最终放弃了。
上面这本书是我们当时的计算方法老师自己写的。他曾在课堂上大方地说:“你一定要听课。课本上有很多错误,你自己可能也看不懂。”是的,我自己看了也没看懂。不仅有许多错误和遗漏,而且严重跑题。一本应该理论联系实际的书,却偏偏变成了数学理论课。有些人可能会奇怪,在错误和遗漏如此之多的情况下,为什么他们还在使用这样一本书。学生使用是有出版费的!一个大学物理老师教的选修课也是用自己的书。这是开卷考试。只是复制它。不买书是过不了的。
许多公司甚至更喜欢受过训练的学生,而不是应届毕业生。前几天他们看到一个头条说他们大学计算机专业毕业后除了那些数学课连HelloWorld都输出不了。
总结一下!国内外对计算机编程课程的认识有一定差距。可能是受教学经验和老师的影响,国内的课程安排没有国外那么务实,但在某些人眼里更科学更神圣。相信再过十年,这种情况会有所改变,希望能培养出更多优秀的人才。


