给马来人的一点小建议。回晚了,生怕她没看见,重发一下

马来人:再问问兄贵,中学娃,计算机基础课,从哪里开始,操作系统,组成,数据库,算法,不会微积分,哪里入手?

微积分,据我经验,仅仅在 ML机器学习,和Graphics 中用到。其他方面几乎碰不到。

中学可以从下面4个地方,任何一个方面开始:

1)先学一门编程语言,推荐 Python 或者 Java,我个人十分推崇 Python,但是 学习 Java,一石二鸟,可以考 AP CSA

2)先学 计算机基本原理,这个也有两个路子来学,一个是 按 AP computer science principles 的 课程来学,一个是 按 acsl.org 的 内容来学 https://www.acsl.org/get-started/study-materials

3)也可以先学 数据库基本知识。我儿子是初中时先学 SQL 开始了,参加了 BPA SQL 竞赛。虽然 SQL 不是一门通用语言,但是 SQL语言更接近英语,语法相对简单,易于理解,而且非常有用,还有就是培养了孩子 structural thinking 和 declarative thinking。SQL 语言,按老的划分是第四代语言,你需要的是告诉数据库你要什么,而不是如何做

4)也可以从 JavaScript 开始学,如果对网页感兴趣。JavaScript 现在特别强大,不仅可以在 client side运行,也可以在 server side运行,也可以编写 手机app,特别适合编写一些 game 程序,又特别容易,因为它不是 strongly typed 的 dynamic语言,我小孩沉溺于编程,是从JavaScript开始的,不是从SQL开始的。

总之,在整个学习过程中,激发,保持,维护小孩对 CS 的兴趣,是非常重要的。如果孩子喜欢 Scratch之类的,也很好,我女儿只喜欢 Scratch,其他语言没有兴趣。

至于算法,计算机组成,操作系统,应该在上面这些熟悉后再学习。

算法是CS重点,需要好好学。大学期间还要反复学,算法基本上是学无止境。

计算机组成可以留到大学再学,因为那是必修课。

而操作系统 需要在计算机语言,算法,和组成都十分熟悉后才能学,不要急着学。

 

登录后才可评论.