国外是怎么学习计算机的?
大家好,我是轩辕。
随着自己持续的创作,关注的粉丝也不断增长,这些增长的粉丝不仅有来自国内的朋友,还有不少在国外留学的同学。
微信的好友列表里就有在德国、英国、日本、美国等国家留学的同学,每次遇到这些网友,我都喜欢问一个问题:你们那里是怎么教计算机的?
在跟他们的聊天对话中,我了解到了不同国家在计算机教育方面的差异。
我们很多新手都喜欢在知乎这样的平台去搜索计算机和编程的学习路线,学习方法。
在早期知乎上还很纯洁,大家都是真心回答的,没有那么多套路。但现在去知乎搜索这类问题,铺天盖地的都是培训机构和公众号引流的回答,很多回答都是从到处搬运七拼八凑而成,有些甚至是答非所问。
我就看到过无数次我的文章和回答被培训机构拿去引流,一开始还想点个举报,后来就算了,因为实在太多忙不过来。
一不小心扯远了,那天我就突发其想,国内的新手们习惯去知乎这样的网站去搜索计算机和编程的学习路线,那国外呢?他们学习计算机会不会有同样的问题,他们给的学习路线跟我们国内的又有什么不同呢?
同样是学习计算机和编程,感受国内外的差异,还真是一件挺有意思的事情。
Quora号称是美版知乎,我们来看几个出现频率最高的问题:
1、我该选择哪一个语言开始学习编程?
下面是Quora上的一个回答:
这个回答获得了三百多赞,分别列举了不同语言的优劣势,基本上和咱们国内的调调差不多。
比如C语言贴近计算机系统,Python库多而且语法简单,最受欢迎的是Java,这家伙还顺带黑了一把C++😂😂😂
这位答主强调的是:编程不要只看书,要动手实践,必须要在实际使用中才能掌握它。这条回答还以前端的HTML/CSS举了一个例子,获得了1.2K个赞。
再来看一个高赞回答:
这个回答中,答主认为:最好学习两种语言。一种语言贴近计算机底层,另一种更加贴近人的思维方式,并且推荐了C语言和Python两个代表,并指出这适合所有的CS专业的学生。
2、零基础学习计算机的学习路线是什么
说到这个问题,就不得不提到GitHub上一个非常知名的项目:OSSU——开源社会大学。
在他们的计算机学习项目里,给出了计算机自学的完整路径,从初级到高级需要学习的课程、书籍、视频等等。这里面的课程来自哈佛大学,普林斯顿大学,麻省理工学院等等,质量非常上乘。
https://github.com/ossu/computer-science#core-systems
其中的核心课程来瞅瞅都有哪些,摘选部分来看看:
《面向对象编程》、《设计模式》、《软件架构》、《操作系统》、《计算机网络》···
看吧,其实跟我们国内学的那些东西也差不了太多。
3、该如何学习C++
C++作为众多编程语言中难度排名前列的存在,国外的朋友又是怎么学习它的呢?
国外的程序员也喜欢玩梗啊,21天精通C++的梗图你看过吗?
这个高赞回答将C++程序员分成了不同的段位:
- 纯C程序员
- 会写带类的C语言的程序员
- 会用C++标准库的程序员,像vector、string、iterator等等
- 会写泛型的C++程序员
- C++11程序员
- 玩转Boost库的程序员
- 编译时程序员,玩转模板、constexpr的程序员
- C++规范黑客,熟练掌握各个C++版本规范的程序员
- C++标准委员会成员,他们创造了C++
这个回答下面还有一张非常出名的C++程序员的自信程度的曲线图:
另外我发现了一个非常全面给力的C++学习路线思维导图,图片比较大,这里只能看到局部:
作者从软技能和硬技能两个大的方面进行了梳理。技术学习重点在硬技能方面,又进一步从C++语言语法、编程开发的工具链、操作系统以及一些通用技术等方面进行了详细梳理。
以操作系统为例,作者又从内存、进程、线程、网络、文件系统、I/O、安全等方面进行了梳理。
原图片实在太大,需要的可以给公众号发送消息:“路线图” ,自动获取。
总结一下,看了一圈国外的相关学习路线和学习方法的帖子,大体来说跟国内的计算机教育差不了太多,主要的区别在国内的学习路线更多偏“实用”,做项目开发,国外的更偏向学习编程本身,对编程语言本身和计算机基础知识花费的精力会更多一些。
不知道有没有在国外的朋友在看这篇文章,可以在评论区聊聊自己所在的地方是如何学习计算机的,跟国内有什么不同呢?
往期推荐