从小接触计算机比较多的话,其实是会积累许多的「常识性内容」,这种常识很多时候会起到触类旁通、举一反三的效果。
举一个简单的例子,在上计算机体系架构之前,自己装过台式机的同学就知道什么是 CPU、内存、硬盘、显卡、主板、BIOS 等等。即使他不曾系统学习过计算机网络,什么是 TCP、UDP、IP、端口等等也不会太陌生。
这是常识中的专业部分。还有很多并不那么硬核,但同样会起到影响的。比如如何搜集信息、如何快速熟悉一个新上手的软件、如何使用计算机对重复性操作进行优化等等。
当然,很多时候,积累的常识并不会体现在考试分数上。我倒是觉得平时的各种 lab、assignment 更见功底。
学计算机的话,我觉得要尽可能地成为一个 creative problem solver,掌握技巧是必须的,但提出问题、灵活变通、精细设计同样重要。单纯的做题很多时候是在练习定式,而将定式运用于解决具体的实际问题(或者说做应用题那种感觉?)也是需要练习的。
所以说:如果你觉得基础不如其他同学,那么很可能是缺失了计算机常识的积累。对于这个问题,积极地搜索、了解各种你缺乏的知识,保持好奇,对你所接触的事物发问,广泛涉猎了解,大概就可以了吧。当然,这不可能对你的成绩有什么立竿见影的提升。
想想你平时接触的世界,计算机开机到进入登录界面都发生了什么?你是如何接入网络的?你如何能访问到位于地球另一端的网站?那些大型网站为什么能承载这么大的流量?文本编辑器是如何实现的?输入法为什么能够猜出我想打什么字?……这些是我即兴想到的一些问题。是的,它们之中,许多琐碎而不重要,但做一个搜索,做一些思考,也能获取些刨根问底的乐趣。说到底,知识就是在帮助我们认知、理解与改造世界。
所以你的同学在学习课内知识的时候,或许会将学到的知识与他的常识联系起来,与表征的现实世界联系起来,进行「拓展性思考」,既加深了对知识的理解,同时也得到了理论与实践相结合的乐趣。这将给予一种做题很难得到的成就感。
啊,似乎有点离题了。总之这就是我对所谓「计算机基础」的粗浅理解吧。其实归根结底,对症下药,在我看来,成绩差,就针对考什么、怎么考进行刻意训练,似乎才是比较自然的思路。当然情景不同,也需要具体分析。
再说句不太好听也不太励志的话吧,有的人,怀揣着兴趣与热情,投入精力与时间,自发地了解、学习、积累了这样那样的知识,凭什么随随便便被逆袭?如果他们反而不能在评测指标中 outperform average,那么我觉得评价系统本身就是有问题的。
不幸的是,我认识的许多学长恰恰放弃了在 GPA 上的内卷,才能获得广阔的自我发展的空间。这无疑是对教育的莫大讽刺。