计算机的本质是什么?当我们学习计算机的时候,我们在学习什么?

2023-04-02 13:16:57 +08:00
 baobao1270

最近在群里讨论这个问题,很多人都有不同的看法。有人觉得应当代码先行、Learn by code ,有人觉得反而是数学和逻辑更加重要。有人认为,实践的方法虽然能做出跟上业界的东西,但是也很容易过时,掌握了计算机本质与核心的思想,才是最重要的。

我们在此讨论的不是面向就业的课程,而是更加基础的计算机学科问题。

假如你有机会编写计算机科学与技术专业大学生入学的第一门课的教材,或者是高中计算机教育的大纲,假设你编写的内容不会受到教育以外因素的限制,你会怎样编写呢?

(希望这是一个大家一起思考的主题,因此请不要在这个主题下回复 AI 生成的文本,谢谢!)

8087 次点击
所在节点    程序员
76 条回复
encro
2023-04-03 11:53:26 +08:00
计算机的本质是工具,就如:

农民手中的锄头,

工人手中的扳手,

士兵手中的枪!


要很好掌握这个工具,我们得了解它的特点,并掌握他们的用法(软件操作和程序开发)。
libook
2023-04-03 12:02:26 +08:00
计算机科学不是自然科学,而是人类基于数学和物理学造出来的应用科学。计算机本身只是个工具,不同需求场景下,它的定位也不一样。

题主不想谈论就业问题,但很多人学习它、很多学校教授它就是奔着就业的方向去的,所以不可能绕过就业问题。

计算机知识是非常系统化的、环环相扣的,上层知识依赖底层知识的支撑。所以现在计算机专业课程都是从基础讲起,这些基础可能未来永远不会在职业中直接用到,但如果掌握了这些基础,就可以更容易理解上层的知识、解决上层问题。基础知识是相对比较稳定的,现行的教科书在知识大纲上问题不大,关键就是如何讲解得更加通俗易懂,以及如何培养兴趣的问题了。

虽说如此,如果我是大学或职教的老师,我恨不得先从职业规划入手,然后再从规划反推需要学习哪些基础知识,虽然大部分可以和课本重叠,但可以让学生的目标更加明确。
faust24601
2023-04-03 12:13:01 +08:00
生产资料,人机对话的方法
wanguorui123
2023-04-03 13:21:46 +08:00
计算机的本质是数学
marcong95
2023-04-03 13:54:16 +08:00
你不想奔着就业去,那就应该来点计算机组成原理。但是如果你让非 CS 专业乃至基础教育阶段教这些东西,就会被部分人批判为应试教育。毕竟这年头,连教个语数英都会被批评,买菜用不上文言微积分 English 如何这般。更何况计算机组成原理
kaddusabagei38
2023-04-03 13:58:00 +08:00
太闲可以学点新知识扩充自己,而不是在这里扯这些形而上学的东西

真要硬说的话,计算机本质是一种工具,学习计算机(比如编程)无非是在理解怎么更好的使用这个工具,或者是辅助自己做好工作(比如 CAD )而已。
treizeor
2023-04-03 13:58:30 +08:00
数学
thtznet
2023-04-03 14:38:18 +08:00
在当前需求下,对我来说,本质是:糊口。但凡糊不了口的,我都没兴趣深入。
apake
2023-04-03 18:15:29 +08:00
应该要区分计算与计算机. 计算, 或者说编程, 核心能力是良好的分解问题 和 抽象建模. 计算机, 非要说本质的话, 就是状态机.
emperinter
2023-04-03 20:14:23 +08:00
0 和 1
whypro
2023-04-03 20:29:29 +08:00
计算机的内涵在计算机外面,计算机的外延在计算机里面。
Me7426
2023-04-03 20:37:16 +08:00
回想下中学时候你的计算机课叫什么,不出意外的话,应该叫《信息与技术》吧?
dqzcwxb
2023-04-03 20:40:15 +08:00
人的本质是信息,模式是状态机
以及万事万物的本质都是信息,也是状态机
imv2er
2023-04-03 20:46:08 +08:00
本质:
数据+计算->数据结构+算法
YaKeya
2023-04-04 11:35:42 +08:00
本质就是信息交流
Pantheoon
2023-04-04 14:53:14 +08:00
对于我们普通人来说,学习一个知识,应该搞懂是什么,再来弄懂为什么,知识的产生也是如此,先是在哪个场景下,遇到了什么问题,然后基于这个问题产生了什么学术,这个符合人的思考习惯.

我上大学的时候,学习 c 的时候,一脸蒙蔽,这是个啥,学到数据结构更蒙蔽了,这又特么是个啥,到底能干啥,当然也有大佬能在不知道是啥的情况下,取得优异成绩也是很厉害的,我想我的老师,如果给我们上课的时候,多讲一些 c 语言能做啥事,我可能学习兴趣会更高点,不至于这个菜鸡样

回到题主的问题,我们在学习什么?我觉得是代码先行,最好是代码的成果先行,也就是从做出一个小小的,能贴近使用的功能,一个小功能,里面可能会涉及到网络,算法,数据结构,这就把整个体系搭建起来了,会对技术产生一个很明确的认识.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/929153

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX