小孩子 计算机语言学习方面的 一点心得体会

此地无银三千两
我儿子现在6岁,玩过这里列过的几个玩具:
Snap Circuits完全不需要等到7-8岁。我在他五岁生日的时候送的Snap Circuits第一套,后来他太喜欢了就买了第二三套。概念上我只告诉他电流要像水一样从高处移到低出,别短路了,剩下的靠他自己看图纸玩。主要锻炼他follow instruction和空间想象力,因为很多线需要交叉,有图纸也需要想象力。最近他不怎么玩了,迷上了thinkfun的circuit maze。
 LEGO Technic,像楼主说的,搭太大的LEGO没有什么意思,而且太费眼睛。我看儿子不用图纸开始搭一些想象中的飞机什么的就开始帮他买各种motor,servo motor,齿轮之类的作为平常让他干家务的奖励。他每天乐此不疲的搭遥控汽车,造飞机,经常为了塞进去一个原件拆了重来,非常锻炼动手能力和耐心。
编程,试过图形化编程,python terminal和jupyter notebook,没想到他更喜欢python terminal,知道变量怎么用,但是打字太慢,屏幕时间太长,放弃。以后开始学还是从c开始。python不用学type和懂pointer,也就是不懂memory,这样是学不会编程的。
Arduino,我直接上raspberry pi和pi car,再加上google的coral usb 加速器,我有时也会用它来试computer vision的模型。儿子很感兴趣,天天吵着要玩,我没时间,间歇性放弃。其实raspberry pi比Arduino好玩,传感器也很多,有GPIO输出电信号,有library直接操作GPIO,符合如今软件定义一切的潮流。
国际象棋,陪他玩过一段时间,偶尔会输给他,太费眼睛,放弃。作为体育运动没啥意思,以后也不会去捡起来了。
l
lazycat12345
我儿子现在6岁,玩过这里列过的几个玩具:
Snap Circuits完全不需要等到7-8岁。我在他五岁生日的时候送的Snap Circuits第一套,后来他太喜欢了就买了第二三套。概念上我只告诉他电流要像水一样从高处移到低出,别短路了,剩下的靠他自己看图纸玩。主要锻炼他follow instruction和空间想象力,因为很多很多线需要交叉,有图纸也需要想象力。最近他不怎么玩了,迷上了thinkfun的circuit maze。
 LEGO Technic,像楼主说的,搭太大的LEGO没有什么意思,而且太费眼睛。我看儿子不用图纸开始搭一些想象中的飞机什么的就开始帮他买各种motor,servo motor,齿轮之类的作为平常让他干家务的奖励。他每天乐此不疲的搭遥控汽车,造飞机,经常为了塞进去一个原件拆了重来,非常锻炼动手能力和耐心。
编程,试过图形化编程,python terminal和jupyter notebook,没想到他更喜欢python terminal,知道变量怎么用,但是打字太慢,屏幕时间太长,放弃。以后开始学还是从c开始。python不用学type和懂pointer,也就是不懂memory,这样是学不会编程的。
Arduino,我直接上raspberry pi和pi car,再加上google的coral usb 加速器,我有时也会用它来试computer vision的模型。儿子很感兴趣,天天吵着要玩,我没时间,间歇性放弃。其实raspberry pi比Arduino好玩,传感器也很多,有GPIO输出电信号,有library直接操作GPIO,符合如今软件定义一切的潮流。
国际象棋,陪他玩过一段时间,偶尔会输给他,太费眼睛,放弃。作为体育运动没啥意思,以后也不会去捡起来了。
此地无银三千两 发表于 2022-08-25 01:28

感觉lz被卷了😂
i
ilgh
马克 谢谢分享
千渔千寻
我觉得还是多教一点数学+物理。那些数电和编程,给孩子培养点兴趣就可以了,搞多了也没意思,无非是0/1。难道还要去学习x86/Arm的寄存器指令和架构么?我觉得都很繁琐。
L
LBLD
mark
千渔千寻
回复 97楼lazycat12345的帖子
这么早学c,真是揠苗助长。
我的高中同桌,去了科大学物理,结果在c语言上挂科了还是60分。也就是说没接触过编程的人,一开始就上c其实会很难理解的。
小狐狸123
mark,多谢分享
w
westcampus
我LG是在美国读的CS本科,他开始上本科时,CS零基础,不过数学物理底子都好,也照样学得很好。除了中学要打竞赛,我自己感觉不需要推太早。
t
ted.hanks
不同意楼上关于python 的说法。
如果说正经的科班,传统的应该是SICP, 玩Lisp,Schema, Racket。 研究programming language, 上来就是编译原理。 —— 估计就直接劝退了。
关于内存和指针,这种贴近计算机架构的知识要不要学。 我认为如果你不是做嵌入式,没有必要。 很多现代的语言,比如JVM上的, Go 都是有GC的, 真的没有必要去扣那么细。 计算机科学对小盆友来说就是数据结构和算法。 如果真的打算走下去,再去看看计算机体系架构。
python 对于描述数据结构和算法非常有优势, 除了速度慢, 没有什么缺点。
c
cherry-nancy
非常感谢分享!
此地无银三千两
回复 107楼ted.hanks的帖子
你的理解显然是错的。任何学科都是有本源的,从本源开始循序渐进,才能对有些当前的做法知道原委,也才能更容易应对知识的更新换代。所以现在本科最好的计算机入门书是“深入理解计算机系统”,而不是其他。
你知道JVM的GC为什么会stall吗,resource为什么会leak吗?不知道这些根本就无法去debug一个用java写的backend。还有,一个不考虑memory complexity的数据结构叫有用的数据结构吗?
python唯一的好处是prototype起来快,但这也决定了它只能作为前端的胶水语言,没法写大的系统,写了也没法maintain,很快会被推倒重来。
千渔千寻
回复 107楼ted.hanks的帖子
我是不会推小孩学编程的。够聪明让他跳级提前把数学和物理多学点。编程有个基础概念就可以了。USACO真是没必要。算法工作中真是很少用到,完全没有必要往深了推。





小海螺
Mark孩子学编程
千渔千寻
回复 109楼此地无银三千两的帖子
学cs,搞编程吃饭的当然要往深了学。关键是小孩以后未必想学cs。我觉得推数学和物理,更重要。只要长大了不要去主修这些专业,投资数理比推编程回报会大多了。
人家比尔盖兹特别看不起只会写程序的,思路不开阔,数理训练也不够.
M
Maomaomini80
厉害👍!!!
w
webdriver
小孩子学电脑不能只学编程语言,要教授和理解全面的电脑知识才能更加自如的当码工 -- 码工的真水平是无论什么语言都能几天到几周搞定。 诚如一些老程序员所言,python看似简单快速但并不是很好的完备的编程语言,玩玩可以,但学完后再跳其他语言会有很大gap。
正确的做法是 C -> Java/C++/C#
w
webdriver
另外搞个学习环境还去折腾RPi,除非正好要教孩子玩这个,否则就是旧电脑上跑Linux 桌面,而且要老版本,本来linux上游戏就少。 网游要屏蔽的话,直接在router上禁掉 域名。
S
Swissrollmm
lz辛苦码了这么多字,谢谢
z
ziyi99
mark,先收藏了
W
WYCL
Mark 儿童学编程
此地无银三千两
回复 112楼千渔千寻的帖子
推计算机还是推数理本来只是术的区别,更何况会编程和会外语一样,和其他科学结合会有意想不到的优势。
抛开这些不讲,养成良好的学习习惯,培养正确的思维方式,保持对新鲜事物的好奇心才是真正的道。小朋友感兴趣,追着要学, 那给他们指出正确的路才是家长应该做的。我不明白在这方面推A会比推B更高明。
比尔盖兹那个例子肯定是扯淡的,即使是真的,天下也没有小时候学了点编程就一定会变成“只会写程序”的程序员。
L
Lindaleo
真不错,感谢分享
h
huaren_2018
我家小孩喜欢玩roblox,也用roblox studio 编写游戏。就自己在那瞎弄。还很刻苦。周末整了一整天。 scratch,也是,把别人的程序改吧改吧。 没正经学,不让教。随他去。
馨月格格
天呐!楼主神人啊!收藏了!
d
doubt
身边完全外行的想推孩子学编程的都是类似思路,恨不得越早越好,才不管是不是拔苗助长呢,真正的码工们家里都反而没这么着急,数学和物理学到一定程度再去学编程事半功倍,初中高中甚至大学开始都来得及啊,我们这一代大学才开始接触编程的多了去了,一点也不妨碍后来去各大厂成为顶尖高手。
迁徙16
回复 123楼doubt的帖子
特别赞同你!楼主推计算机也没啥问题,不过就编程来说起步早,推得早既无必要也无优势!
我就是物理硕士和计算机方面的博士。大家争论的各种语言优劣都不无道理。因为计算机语言本来就是基于不同的设计理念为达成不同的目的而设计的,各有优劣很正常。
我不推孩子编程,他啥都玩过,乐高机器人,scratch,sphero,他想玩就玩,不想玩就算了。但是英语和数学必须尽可能深入学习理解。华人孩子的一个普遍弱点:英语!对英语文化,历史,文学,艺术的了解普遍不深入。语言的精准优质表达也不尽人意。在美国(包括澳大利亚),华人孩子对英语的把握比起洋人中优秀的那一部分是有欠缺的。我一定要推孩子英语!至于数学,数学最重要的特点是抽象思维!代数,微积分,离散数学,数论,逻辑等等。这个世界上没有比数学更为简洁,优美,有效的思想体系了!拥有了数学的抽象思维和逻辑思维能力,来学习编程那简直是分分钟的事情。数学强语言表达能力强的学生学计算机简直信手拈来!
我个人认为,要培养孩子成为有创新能力的人就必须推数学和英语,能推多远推多远!与其把时间大把花在编程上,不如多背诵英语名著,阅读数学的思维发展进程名著。与英语和数学相比,编程真的不难!

g
gotye
mark 小孩学计算机
M
Marshmalloworld
Mark 多谢楼主!
f
flyongrass
马上要开学了,我贡献一点 小孩子 在计算机语言 学习方面的 一点体会,希望对大家有点帮助。特别是 家长不是 CS 或 EE 专业的。 在这里推荐的,基本都在100美元以内。偶尔有些超过的,也绝对不超过 150美元。
1. 关于小孩子的 计算机语言学习的 启蒙教育,首推 scratch 图形化编程语言。6,7岁以上就可以开始学习一点了。官方网址是 https://scratch.mit.edu/
建议在 中文学校 报个 scratch 学习班。一个是 小孩一起 可以互相学习,另一个是 培训老师 还是有个 大纲 和进度表,循序渐进,小孩子可以 跟着进度学。比自己的东一榔头 西一锤的 学习,还是 系统多了。
如果当地没有中文学校 或 想自己学的话,我家买过一个 玩具机器人 UBTECH JIMU Robot,在amazon 网址是 https://www.amazon.com/UBTECH-JIMU-Robot-Builderbots-App-Enabled/dp/B07GQ7FWNZ/ref=sr_1_7?crid=2A16OGI3HP4M&keywords=jimu+robot&qid=1658597782&sprefix=%2Caps%2C44&sr=8-7 不贵,现在70来块钱。在 iPad 或 android tablet上可以用 scratch编程。这个机器人的 各种sensor 都比较全。
但对于6周岁的孩子,按照指导书 来把机器人搭好,还是有点难度。需要大人在傍边指导。但一旦搭好后,小孩子就可以在 tablet上 学习 scratch 图形化编程了,基本的 条件语句,循环语句都有了。6岁以上小孩子 基本上都学得会的。 这个比纯粹在电脑上 学习 scratch编程要好的多,有具体的 活动的 玩具来反馈,小孩兴趣会比较高,作为初步入门不错。如果想进一步深入,那就要到 官方网站 去进一步学习了
后来发现 这个 UBTECH JIMU robot 用的是 google 的 blockly 语言,不是 scratch。我以为 图形化编程 就是 scratch了,不过,也大同小异。而且 最近好像 blockly 和 scratch 正在联合起来。
我们这边中文学校 培训班,用了另外一个机器人,iRobot Root rt0 Coding Robot, 网址如下 https://www.amazon.com/iRobot-Root-rt0-Coding-Robot/dp/B08LM3KXY7/ref=sr_1_3?crid=3UKXXLBPR29M2&keywords=root%2Brobot&qid=1658642521&sprefix=root%2Brobot%2Caps%2C79&sr=8-3&th=1 优点是 这个robot 已经组装好了,是一个整体,你只要拿过来用,来编程 就可以了,省事不少。也推荐这个。这个也是 scratch图形化编程,缺点是 稍微贵一点。 以上这二个robot 里面选一个 就可以了
后来发现,这个也不是 scratch,底层用的是 SWIFT,PYTHON和JAVASCRIPT。我一直把 图形化编程 当作 scratch了。 这个 编程序 有 3层level,不过我们只用了 前2层 图形化的 编程界面,和 scratch 也大同小异。后面的 第3层 文字编程 就没有用了。
2. 下一步 7,8岁孩子的话,可以先学习一点 电路基本知识,有点感性认识。推荐 Snap Circuits Extreme SC-750 Electronics Exploration Kit,家长可以辅导一下。网址是 https://www.amazon.com/dp/B0002AHQWS/ref=redir_mobile_desktop?_encoding=UTF8&aaxitk=d33b48106cb8037098d5a6a99d7cf64c&content-id=amzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786%3Aamzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786&hsa_cr_id=3617700710501&pd_rd_plhdr=t&pd_rd_r=534d2cfd-7a33-4315-bbc6-88849ba78185&pd_rd_w=89Zx4&pd_rd_wg=XL2Vo&qid=1658616128&ref_=sbx_be_s_sparkle_mcd_asin_1_title&sr=1-2-a094db1c-5033-42c6-82a2-587d01f975e8&th=1 我家用过,还可以。
3. 再下一步,9,10岁左右,就可以学习 Arduino了。在amazon上 有官方的或第三方的 Arduino Starter Kit 来购买。我也买过,但是在面包板上连线还是一件很枯燥 很费时间的事,还很容易出错,消磨小孩子的热情和兴趣。 在这里推荐 Freenove Projects Kit with Control Board V4,导线都在印刷电路板上连接好了,省下了大量的枯燥的导线连接的时间 在amazon的网址是 https://www.amazon.com/dp/B09DNTTH25?ref=ppx_yo2ov_dt_b_product_details&th=1 我家买了,不贵,用下来还不错。作为初步学习 Arduino 还可以,比较省事。
当然,这个学完后,还对 Arduino 感兴趣,可以继续用 Arduino Starter Kit。这个灵活性就大多了,可以按照你的要求 任意组合, 完成更复杂的 project。当然也需要 自己在 面包板上连线了。
4. 10岁以上的孩子 就可以学习 正规的计算机语言了。首推 python。 并推荐IDE PyCharm. 网址是 https://www.jetbrains.com/pycharm/ 然后下载 community 版本。VSCode 对于初学者 还是有点麻烦,要配置一些东西。不如IDE 比较傻瓜一点。不过也是有 很多人 用 VS Code 加各种 plug in 的。
学习语言,首先从 YouTube上 找到课程学习,然后再学教科书,这样速度会快不少,效果也好一点。当然,最后加深记忆的 还是要多做 project. python 的 YouTube课程推荐 Python Tutorial - Python Full Course for Beginners. 网址是
https://www.youtube.com/watch?v=_uQrJ0TkZlc&t=118s
我还出了20块钱,买了他的付费的完整教程。这个老师 是用 VS Code的,跟着他也可以。
教科书 推荐 Python Crash Course, 2nd Edition。 网址是 https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280/ref=sr_1_1?crid=303TFO81BABDP&keywords=python+crash+course&qid=1658617871&sprefix=python+cru%2Caps%2C67&sr=8-1 我学了开始几章,还不错。
有人曾经把 python 和 Minecraft 结合起来,这是一个很好的 学习python 的切入点。在 amazon 上有书籍介绍,不过我还没 试过 。 一般建议 学一门 python 足够了,到高中都够了。没必要去学 第二门 语言了。python 学好后,可以学点 pygame,让小孩子 自己去编游戏,提高他的 学习兴趣。
5. 如果 15岁以后,想进一步学习 计算机语言,我推荐 C语言。有人可能认为 C++ 或者 Java 更好,工作机会更多。见仁见智了,我认为 C 语言 比 C++ 语法简单不少,比较容易学一点,更贴近实际硬件,只是 指针方面 稍微有点绕。Java 我没学过,不好评价。
先上课,C Programming Tutorial for Beginners, youtube 网址如下。我没学过,已经不需要学了,但看上去 评价不错。
https://www.youtube.com/watch?v=KJgsSFOSQv0

教科书推荐 C Programming: A Modern Approach. 我用过,不错。比C语言 发明者本身写的教材 C Programming Language 要好。网址如下 https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504/ref=sr_1_1?crid=3RWGI1EM52UFH&keywords=c+programming+modern+approach&qid=1658619674&sprefix=C+programming+a+morder%2Caps%2C70&sr=8-1
IDE开发环境 一个就像 教学视频里 提到的 Code::Blocks, 然后按照他的提示 一步步安装,就可以了。 还有很多人 用微软的 Visual Studio Community 版本。但他比较臃肿,安装文件比较大。它的最大缺点 是 C语言还 停留在 C89 的标准上,1989年的标准,太旧了,连 复数都不支持。当然 对 初学者来说 是够用了。以后学到 C99 或 C11 的时候再换 别的开发环境。 另外,我也用过 Pelles C, Windows 版本,支持 C99, C11 一直到 C17. 下载网址如下 http://www.smorgasbordet.com/pellesc/
6. JAVA 学习 有人建议在 Python后 学习 JAVA。我本人 对 JAVA一点不懂。所以这边 就不推荐了。有人 有建议的吗?
希望版主 加个 精华
jack54321 发表于 2022-08-24 20:53

谢分享!
w
wdong
回复 97楼lazycat12345的帖子
这么早学c,真是揠苗助长。
我的高中同桌,去了科大学物理,结果在c语言上挂科了还是60分。也就是说没接触过编程的人,一开始就上c其实会很难理解的。
千渔千寻 发表于 2022-08-25 02:12

你这论证,不正好说明了要提前学吗?
胖果儿
谢谢楼主无私分享
f
frogw
Mark一下,谢谢分享
w
welkin25
6岁就学编程是不是有点拔苗助长…… 刚问了一下认识的IOI金牌,人家11岁才开始编程 天赋这种东西根本不是早开始就能练出来的
如果不为比赛为了将来工作,第一你现在就知道你小孩将来要当码工?第二这样的话到高中开始都不迟,甚至有些人大学开始学cs照样能找到工作
小马和小猴
mark msrk mark
d
dana466
谢谢分享
f
fanglu2000
收藏
i
ilovepurple
马上要开学了,我贡献一点 小孩子 在计算机语言 学习方面的 一点体会,希望对大家有点帮助。特别是 家长不是 CS 或 EE 专业的。 在这里推荐的,基本都在100美元以内。偶尔有些超过的,也绝对不超过 150美元。
1. 关于小孩子的 计算机语言学习的 启蒙教育,首推 scratch 图形化编程语言。6,7岁以上就可以开始学习一点了。官方网址是 https://scratch.mit.edu/
建议在 中文学校 报个 scratch 学习班。一个是 小孩一起 可以互相学习,另一个是 培训老师 还是有个 大纲 和进度表,循序渐进,小孩子可以 跟着进度学。比自己的东一榔头 西一锤的 学习,还是 系统多了。
如果当地没有中文学校 或 想自己学的话,我家买过一个 玩具机器人 UBTECH JIMU Robot,在amazon 网址是 https://www.amazon.com/UBTECH-JIMU-Robot-Builderbots-App-Enabled/dp/B07GQ7FWNZ/ref=sr_1_7?crid=2A16OGI3HP4M&keywords=jimu+robot&qid=1658597782&sprefix=%2Caps%2C44&sr=8-7 不贵,现在70来块钱。在 iPad 或 android tablet上可以用 scratch编程。这个机器人的 各种sensor 都比较全。
但对于6周岁的孩子,按照指导书 来把机器人搭好,还是有点难度。需要大人在傍边指导。但一旦搭好后,小孩子就可以在 tablet上 学习 scratch 图形化编程了,基本的 条件语句,循环语句都有了。6岁以上小孩子 基本上都学得会的。 这个比纯粹在电脑上 学习 scratch编程要好的多,有具体的 活动的 玩具来反馈,小孩兴趣会比较高,作为初步入门不错。如果想进一步深入,那就要到 官方网站 去进一步学习了
后来发现 这个 UBTECH JIMU robot 用的是 google 的 blockly 语言,不是 scratch。我以为 图形化编程 就是 scratch了,不过,也大同小异。而且 最近好像 blockly 和 scratch 正在联合起来。
我们这边中文学校 培训班,用了另外一个机器人,iRobot Root rt0 Coding Robot, 网址如下 https://www.amazon.com/iRobot-Root-rt0-Coding-Robot/dp/B08LM3KXY7/ref=sr_1_3?crid=3UKXXLBPR29M2&keywords=root%2Brobot&qid=1658642521&sprefix=root%2Brobot%2Caps%2C79&sr=8-3&th=1 优点是 这个robot 已经组装好了,是一个整体,你只要拿过来用,来编程 就可以了,省事不少。也推荐这个。这个也是 scratch图形化编程,缺点是 稍微贵一点。 以上这二个robot 里面选一个 就可以了
后来发现,这个也不是 scratch,底层用的是 SWIFT,PYTHON和JAVASCRIPT。我一直把 图形化编程 当作 scratch了。 这个 编程序 有 3层level,不过我们只用了 前2层 图形化的 编程界面,和 scratch 也大同小异。后面的 第3层 文字编程 就没有用了。
2. 下一步 7,8岁孩子的话,可以先学习一点 电路基本知识,有点感性认识。推荐 Snap Circuits Extreme SC-750 Electronics Exploration Kit,家长可以辅导一下。网址是 https://www.amazon.com/dp/B0002AHQWS/ref=redir_mobile_desktop?_encoding=UTF8&aaxitk=d33b48106cb8037098d5a6a99d7cf64c&content-id=amzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786%3Aamzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786&hsa_cr_id=3617700710501&pd_rd_plhdr=t&pd_rd_r=534d2cfd-7a33-4315-bbc6-88849ba78185&pd_rd_w=89Zx4&pd_rd_wg=XL2Vo&qid=1658616128&ref_=sbx_be_s_sparkle_mcd_asin_1_title&sr=1-2-a094db1c-5033-42c6-82a2-587d01f975e8&th=1 我家用过,还可以。
3. 再下一步,9,10岁左右,就可以学习 Arduino了。在amazon上 有官方的或第三方的 Arduino Starter Kit 来购买。我也买过,但是在面包板上连线还是一件很枯燥 很费时间的事,还很容易出错,消磨小孩子的热情和兴趣。 在这里推荐 Freenove Projects Kit with Control Board V4,导线都在印刷电路板上连接好了,省下了大量的枯燥的导线连接的时间 在amazon的网址是 https://www.amazon.com/dp/B09DNTTH25?ref=ppx_yo2ov_dt_b_product_details&th=1 我家买了,不贵,用下来还不错。作为初步学习 Arduino 还可以,比较省事。
当然,这个学完后,还对 Arduino 感兴趣,可以继续用 Arduino Starter Kit。这个灵活性就大多了,可以按照你的要求 任意组合, 完成更复杂的 project。当然也需要 自己在 面包板上连线了。
4. 10岁以上的孩子 就可以学习 正规的计算机语言了。首推 python。 并推荐IDE PyCharm. 网址是 https://www.jetbrains.com/pycharm/ 然后下载 community 版本。VSCode 对于初学者 还是有点麻烦,要配置一些东西。不如IDE 比较傻瓜一点。不过也是有 很多人 用 VS Code 加各种 plug in 的。
学习语言,首先从 YouTube上 找到课程学习,然后再学教科书,这样速度会快不少,效果也好一点。当然,最后加深记忆的 还是要多做 project. python 的 YouTube课程推荐 Python Tutorial - Python Full Course for Beginners. 网址是
https://www.youtube.com/watch?v=_uQrJ0TkZlc&t=118s
我还出了20块钱,买了他的付费的完整教程。这个老师 是用 VS Code的,跟着他也可以。
教科书 推荐 Python Crash Course, 2nd Edition。 网址是 https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280/ref=sr_1_1?crid=303TFO81BABDP&keywords=python+crash+course&qid=1658617871&sprefix=python+cru%2Caps%2C67&sr=8-1 我学了开始几章,还不错。
有人曾经把 python 和 Minecraft 结合起来,这是一个很好的 学习python 的切入点。在 amazon 上有书籍介绍,不过我还没 试过 。 一般建议 学一门 python 足够了,到高中都够了。没必要去学 第二门 语言了。python 学好后,可以学点 pygame,让小孩子 自己去编游戏,提高他的 学习兴趣。
5. 如果 15岁以后,想进一步学习 计算机语言,我推荐 C语言。有人可能认为 C++ 或者 Java 更好,工作机会更多。见仁见智了,我认为 C 语言 比 C++ 语法简单不少,比较容易学一点,更贴近实际硬件,只是 指针方面 稍微有点绕。Java 我没学过,不好评价。
先上课,C Programming Tutorial for Beginners, youtube 网址如下。我没学过,已经不需要学了,但看上去 评价不错。
https://www.youtube.com/watch?v=KJgsSFOSQv0

教科书推荐 C Programming: A Modern Approach. 我用过,不错。比C语言 发明者本身写的教材 C Programming Language 要好。网址如下 https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504/ref=sr_1_1?crid=3RWGI1EM52UFH&keywords=c+programming+modern+approach&qid=1658619674&sprefix=C+programming+a+morder%2Caps%2C70&sr=8-1
IDE开发环境 一个就像 教学视频里 提到的 Code::Blocks, 然后按照他的提示 一步步安装,就可以了。 还有很多人 用微软的 Visual Studio Community 版本。但他比较臃肿,安装文件比较大。它的最大缺点 是 C语言还 停留在 C89 的标准上,1989年的标准,太旧了,连 复数都不支持。当然 对 初学者来说 是够用了。以后学到 C99 或 C11 的时候再换 别的开发环境。 另外,我也用过 Pelles C, Windows 版本,支持 C99, C11 一直到 C17. 下载网址如下 http://www.smorgasbordet.com/pellesc/
6. JAVA 学习 有人建议在 Python后 学习 JAVA。我本人 对 JAVA一点不懂。所以这边 就不推荐了。有人 有建议的吗?
希望版主 加个 精华
jack54321 发表于 2022-08-24 20:53

谢谢
w
whwings
楼主分享很好,赞一个!
b
bonvoy
好贴子
b
brotherband
楼主推荐的路线对于想走STEM路线的学java或者c++太晚了。目前刷USACO基本还是java或者c++ dominant,主要是速度,python根本跟不上。python的好处就是更接近自然语言,有更多package support,所以以后想做data analysis 的话目前python就基本够用了。python学个一两年应该在12岁左右就上java了,有了python的底子,学java不难,最重要的是能让孩子像bi-lingual一样自然的对两种语言都feel very comfortable,并且让孩子明白算法核心一样,语言是不断变化的。
A
ArrowC
mark一下,大家的留言也很精彩
j
juliadjh
看了大家的留言觉得都很精彩。我觉得哪种语言其实不重要,重要的是逻辑。所以其实数学/物理基础好的话,学任何语言都会容易。我比较同意有些层主的观点,就是CS只是上层建筑,基础是数学/物理。打好基础学任何语言都是分分钟的事情
s
susu1102
马克
f
fresh
谢谢分享
k
kittypangdun
感谢,收藏了!
L
Lani123
好帖收藏,多谢分享
a
abmm
Mark一下
无辣不欢
mark一下。。。
m
maomaopig1234
mark
T
Tracyli1
l
liyawei
mark一下下
t
ted.hanks
回复 107楼ted.hanks的帖子
你的理解显然是错的。任何学科都是有本源的,从本源开始循序渐进,才能对有些当前的做法知道原委,也才能更容易应对知识的更新换代。所以现在本科最好的计算机入门书是“深入理解计算机系统”,而不是其他。
你知道JVM的GC为什么会stall吗,resource为什么会leak吗?不知道这些根本就无法去debug一个用java写的backend。还有,一个不考虑memory complexity的数据结构叫有用的数据结构吗?
python唯一的好处是prototype起来快,但这也决定了它只能作为前端的胶水语言,没法写大的系统,写了也没法maintain,很快会被推倒重来。

此地无银三千两 发表于 2022-08-25 02:35

杠一下, 如果学习不是因材施教, 而是都追求本源的话, 小学时期学面积体积的算法就应该上微积分了。 我认为大多数人学计算机就不是奔CS 那条路去的, 能够写两行程序自动化一下平时的工作就很好了。小时候培养的应该是兴趣, 但是scratch 实在是不够用。
作为一个以前靠python, 现在靠java 吃饭的, resource leaking 是要处理的。 也可以暴力法, 定时重启app, —— 像Amazon 那样。 但是扣GC 还真的没有碰到,over provision 好了。
用python 也不是不需要考虑时间复杂度和memory complexity,只是不需要处理内存泄漏的问题罢了。 我认为这可以让学生把注意力放在数据结构本身,而不是那些细节上。
i
insiderfollower
多谢分享
你信吗
杠一下, 如果学习不是因材施教, 而是都追求本源的话, 小学时期学面积体积的算法就应该上微积分了。 我认为大多数人学计算机就不是奔CS 那条路去的, 能够写两行程序自动化一下平时的工作就很好了。小时候培养的应该是兴趣, 但是scratch 实在是不够用。
作为一个以前靠python, 现在靠java 吃饭的, resource leaking 是要处理的。 也可以暴力法, 定时重启app, —— 像Amazon 那样。 但是扣GC 还真的没有碰到,over provision 好了。
用python 也不是不需要考虑时间复杂度和memory complexity,只是不需要处理内存泄漏的问题罢了。 我认为这可以让学生把注意力放在数据结构本身,而不是那些细节上。
ted.hanks 发表于 2022-08-25 09:51

我知道的计算机神童都是算法比赛,或者直接写游戏之类的吧
语言的话,其实没那么重要。
这么小就培养,应该不是想培养一个在公司写code的
j
jaju
谢谢分享
x
xinyi66
mark 感谢!
A
Amigo
好帖 mark



r
rbtop
回复 124楼迁徙16的帖子
谢谢经验之谈
公用99999
非常感谢楼主和大家的讨论!
c
cauchy
回复 123楼doubt的帖子
特别赞同你!楼主推计算机也没啥问题,不过就编程来说起步早,推得早既无必要也无优势!
我就是物理硕士和计算机方面的博士。大家争论的各种语言优劣都不无道理。因为计算机语言本来就是基于不同的设计理念为达成不同的目的而设计的,各有优劣很正常。
我不推孩子编程,他啥都玩过,乐高机器人,scratch,sphero,他想玩就玩,不想玩就算了。但是英语和数学必须尽可能深入学习理解。华人孩子的一个普遍弱点:英语!对英语文化,历史,文学,艺术的了解普遍不深入。语言的精准优质表达也不尽人意。在美国(包括澳大利亚),华人孩子对英语的把握比起洋人中优秀的那一部分是有欠缺的。我一定要推孩子英语!至于数学,数学最重要的特点是抽象思维!代数,微积分,离散数学,数论,逻辑等等。这个世界上没有比数学更为简洁,优美,有效的思想体系了!拥有了数学的抽象思维和逻辑思维能力,来学习编程那简直是分分钟的事情。数学强语言表达能力强的学生学计算机简直信手拈来!
我个人认为,要培养孩子成为有创新能力的人就必须推数学和英语,能推多远推多远!与其把时间大把花在编程上,不如多背诵英语名著,阅读数学的思维发展进程名著。与英语和数学相比,编程真的不难!


迁徙16 发表于 2022-08-25 06:03

同意,其實沒必要那麽早推小孩學編程。
g
gentlesea
谢谢分享。码上。
p
plainlake
好帖,很少看到华人网有人肯花精力写有分享价值的贴子了,这个应该加精的。
小蓝鸟
让娃休息一下吧,累不累,真是全民推娃内卷的节奏,能不能让不推的有点生活空间,推娃不如推自己,推到藤校家里没钱没家底不是照样被看不起,以为上了藤校就能改变阶层?活的真累,推计算机,再过十来年啥火还不一定呢,这么小就这么功利,娃喜欢啥干点啥不行吗,都出国了还和而国内一样推推推,攀比,比房子比收入比学校排名,真是累
s
shanggj
回复 123楼doubt的帖子
特别赞同你!楼主推计算机也没啥问题,不过就编程来说起步早,推得早既无必要也无优势!
我就是物理硕士和计算机方面的博士。大家争论的各种语言优劣都不无道理。因为计算机语言本来就是基于不同的设计理念为达成不同的目的而设计的,各有优劣很正常。
我不推孩子编程,他啥都玩过,乐高机器人,scratch,sphero,他想玩就玩,不想玩就算了。但是英语和数学必须尽可能深入学习理解。华人孩子的一个普遍弱点:英语!对英语文化,历史,文学,艺术的了解普遍不深入。语言的精准优质表达也不尽人意。在美国(包括澳大利亚),华人孩子对英语的把握比起洋人中优秀的那一部分是有欠缺的。我一定要推孩子英语!至于数学,数学最重要的特点是抽象思维!代数,微积分,离散数学,数论,逻辑等等。这个世界上没有比数学更为简洁,优美,有效的思想体系了!拥有了数学的抽象思维和逻辑思维能力,来学习编程那简直是分分钟的事情。数学强语言表达能力强的学生学计算机简直信手拈来!
我个人认为,要培养孩子成为有创新能力的人就必须推数学和英语,能推多远推多远!与其把时间大把花在编程上,不如多背诵英语名著,阅读数学的思维发展进程名著。与英语和数学相比,编程真的不难!


迁徙16 发表于 2022-08-25 06:03

怎么让小孩读英文名著呀? 只看 harry porter, 还有那个猫打架的 warrior series. 不说名著了, 就像 giver, ender's game 这种 young adult 的也不看呀。
小蓝鸟
能说一下真正计算机牛人算法计算机思维的数学肯定好,数学好能去奥赛的也不是培养的,是天生的,天生的悟性和感觉是人为培养不出来的,不行邪的家长培养吧,祝福你们顺利培养出杰出人才,本来没有天赋的早早培养也就是个一般码工,有必要人人当码工吗
m
meshell
感谢分享 赞亲妈总结
w
wmn
marrk
s
sweetiemm
我家娃在初中时在学校学了一点编程。在九年级暑假在college修了一门c++,拿了A。不过看来他对编程兴趣一般,也不一定往计算机这条路上走了。
专折梅
怎么让小孩读英文名著呀? 只看 harry porter, 还有那个猫打架的 warrior series. 不说名著了, 就像 giver, ender's game 这种 young adult 的也不看呀。
shanggj 发表于 2022-08-25 10:19

大部头的经典,不是hp,这类奇幻文学,是名著,大部分孩子,别说小学生中学生了,很多成人一辈子也没看过两本。但是我就觉得很必须。最近我开窍了,觉得可以从短篇小说集开始intro,娃挑自己喜欢的作家作品选择性阅读开始。慢慢来。但是一定要接触这些真正的经典文学,而不是说所谓喜欢读书,结果看的都是没营养的速食流行童书故事
0
007lmh
mark,多谢分享
r
redeye
mark 一下下
l
linger0527
马克一下,谢谢分享
s
shangwangwengweng
回复 1楼jack54321的帖子
太感谢了!
a
angelina81
回复 123楼doubt的帖子
特别赞同你!楼主推计算机也没啥问题,不过就编程来说起步早,推得早既无必要也无优势!
我就是物理硕士和计算机方面的博士。大家争论的各种语言优劣都不无道理。因为计算机语言本来就是基于不同的设计理念为达成不同的目的而设计的,各有优劣很正常。
我不推孩子编程,他啥都玩过,乐高机器人,scratch,sphero,他想玩就玩,不想玩就算了。但是英语和数学必须尽可能深入学习理解。华人孩子的一个普遍弱点:英语!对英语文化,历史,文学,艺术的了解普遍不深入。语言的精准优质表达也不尽人意。在美国(包括澳大利亚),华人孩子对英语的把握比起洋人中优秀的那一部分是有欠缺的。我一定要推孩子英语!至于数学,数学最重要的特点是抽象思维!代数,微积分,离散数学,数论,逻辑等等。这个世界上没有比数学更为简洁,优美,有效的思想体系了!拥有了数学的抽象思维和逻辑思维能力,来学习编程那简直是分分钟的事情。数学强语言表达能力强的学生学计算机简直信手拈来!
我个人认为,要培养孩子成为有创新能力的人就必须推数学和英语,能推多远推多远!与其把时间大把花在编程上,不如多背诵英语名著,阅读数学的思维发展进程名著。与英语和数学相比,编程真的不难!


迁徙16 发表于 2022-08-25 06:03

大辣椒
wow 膜拜一下
s
suzichem
Mark Mark
此地无银三千两
回复 124楼迁徙16的帖子
一半赞同吧。
编程开始晚问题不大。我自己大学才开始学编程,之前键盘都没摸过,后来也读到了cs博士,做编译器,算是hardcore的了。和博士实验室那些有童子工的老美相比,我能想出很不错的算法,能实现各种逻辑不出错,但是写大的框架上还是会有点乱。我觉得主要原因就是开始得太晚,没有接触过太多好的项目,没法通过多做项目来实现从模拟到超越。我个人觉得在大学之前需要对计算机系统和编程有一定的理解,这样可以充分利用大学的自由来很快深入到某一个点。如果大学了还要花时间纠结各种编程语言语法,那怕是学别的学科,计算机只是选修,也是浪费了大量的学习时间。
数学确实是最重要的,但是硬推可能会适得其反。加上美国有些教材完全是在乱搞,家长需要额外花很多时间来帮小朋友建立一定的体系,同时保证进度。比如进位加法和借位减法,每本书的搞法都不一样,每种搞法对小朋友而言都是一个新的concept,但其实没啥用,都是给理解力差的学生准备的。我后来直接告诉小朋友别管那么多,按自己最喜欢的来就可以了。再后来我写了一个程序会随机生成100以内的加减法和检查答案,让他回家之后每天做几十道,提高心算速度。这样就直接节省掉两年时间学那些书上莫名其妙的加减法做法了。
还是那句话,学习习惯,思维方式,想象力和好奇心是最重要,也最需要家长帮助保持的。什么学科需要来“推”,本身就有点问题了。
r
rubysiam
马上要开学了,我贡献一点 小孩子 在计算机语言 学习方面的 一点体会,希望对大家有点帮助。特别是 家长不是 CS 或 EE 专业的。 在这里推荐的,基本都在100美元以内。偶尔有些超过的,也绝对不超过 150美元。
1. 关于小孩子的 计算机语言学习的 启蒙教育,首推 scratch 图形化编程语言。6,7岁以上就可以开始学习一点了。官方网址是 https://scratch.mit.edu/
建议在 中文学校 报个 scratch 学习班。一个是 小孩一起 可以互相学习,另一个是 培训老师 还是有个 大纲 和进度表,循序渐进,小孩子可以 跟着进度学。比自己的东一榔头 西一锤的 学习,还是 系统多了。
如果当地没有中文学校 或 想自己学的话,我家买过一个 玩具机器人 UBTECH JIMU Robot,在amazon 网址是 https://www.amazon.com/UBTECH-JIMU-Robot-Builderbots-App-Enabled/dp/B07GQ7FWNZ/ref=sr_1_7?crid=2A16OGI3HP4M&keywords=jimu+robot&qid=1658597782&sprefix=%2Caps%2C44&sr=8-7 不贵,现在70来块钱。在 iPad 或 android tablet上可以用 scratch编程。这个机器人的 各种sensor 都比较全。
但对于6周岁的孩子,按照指导书 来把机器人搭好,还是有点难度。需要大人在傍边指导。但一旦搭好后,小孩子就可以在 tablet上 学习 scratch 图形化编程了,基本的 条件语句,循环语句都有了。6岁以上小孩子 基本上都学得会的。 这个比纯粹在电脑上 学习 scratch编程要好的多,有具体的 活动的 玩具来反馈,小孩兴趣会比较高,作为初步入门不错。如果想进一步深入,那就要到 官方网站 去进一步学习了
后来发现 这个 UBTECH JIMU robot 用的是 google 的 blockly 语言,不是 scratch。我以为 图形化编程 就是 scratch了,不过,也大同小异。而且 最近好像 blockly 和 scratch 正在联合起来。
我们这边中文学校 培训班,用了另外一个机器人,iRobot Root rt0 Coding Robot, 网址如下 https://www.amazon.com/iRobot-Root-rt0-Coding-Robot/dp/B08LM3KXY7/ref=sr_1_3?crid=3UKXXLBPR29M2&keywords=root%2Brobot&qid=1658642521&sprefix=root%2Brobot%2Caps%2C79&sr=8-3&th=1 优点是 这个robot 已经组装好了,是一个整体,你只要拿过来用,来编程 就可以了,省事不少。也推荐这个。这个也是 scratch图形化编程,缺点是 稍微贵一点。 以上这二个robot 里面选一个 就可以了
后来发现,这个也不是 scratch,底层用的是 SWIFT,PYTHON和JAVASCRIPT。我一直把 图形化编程 当作 scratch了。 这个 编程序 有 3层level,不过我们只用了 前2层 图形化的 编程界面,和 scratch 也大同小异。后面的 第3层 文字编程 就没有用了。
2. 下一步 7,8岁孩子的话,可以先学习一点 电路基本知识,有点感性认识。推荐 Snap Circuits Extreme SC-750 Electronics Exploration Kit,家长可以辅导一下。网址是 https://www.amazon.com/dp/B0002AHQWS/ref=redir_mobile_desktop?_encoding=UTF8&aaxitk=d33b48106cb8037098d5a6a99d7cf64c&content-id=amzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786%3Aamzn1.sym.53aae2ac-0129-49a5-9c09-6530a9e11786&hsa_cr_id=3617700710501&pd_rd_plhdr=t&pd_rd_r=534d2cfd-7a33-4315-bbc6-88849ba78185&pd_rd_w=89Zx4&pd_rd_wg=XL2Vo&qid=1658616128&ref_=sbx_be_s_sparkle_mcd_asin_1_title&sr=1-2-a094db1c-5033-42c6-82a2-587d01f975e8&th=1 我家用过,还可以。
3. 再下一步,9,10岁左右,就可以学习 Arduino了。在amazon上 有官方的或第三方的 Arduino Starter Kit 来购买。我也买过,但是在面包板上连线还是一件很枯燥 很费时间的事,还很容易出错,消磨小孩子的热情和兴趣。 在这里推荐 Freenove Projects Kit with Control Board V4,导线都在印刷电路板上连接好了,省下了大量的枯燥的导线连接的时间 在amazon的网址是 https://www.amazon.com/dp/B09DNTTH25?ref=ppx_yo2ov_dt_b_product_details&th=1 我家买了,不贵,用下来还不错。作为初步学习 Arduino 还可以,比较省事。
当然,这个学完后,还对 Arduino 感兴趣,可以继续用 Arduino Starter Kit。这个灵活性就大多了,可以按照你的要求 任意组合, 完成更复杂的 project。当然也需要 自己在 面包板上连线了。
4. 10岁以上的孩子 就可以学习 正规的计算机语言了。首推 python。 并推荐IDE PyCharm. 网址是 https://www.jetbrains.com/pycharm/ 然后下载 community 版本。VSCode 对于初学者 还是有点麻烦,要配置一些东西。不如IDE 比较傻瓜一点。不过也是有 很多人 用 VS Code 加各种 plug in 的。
学习语言,首先从 YouTube上 找到课程学习,然后再学教科书,这样速度会快不少,效果也好一点。当然,最后加深记忆的 还是要多做 project. python 的 YouTube课程推荐 Python Tutorial - Python Full Course for Beginners. 网址是
https://www.youtube.com/watch?v=_uQrJ0TkZlc&t=118s
我还出了20块钱,买了他的付费的完整教程。这个老师 是用 VS Code的,跟着他也可以。
教科书 推荐 Python Crash Course, 2nd Edition。 网址是 https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280/ref=sr_1_1?crid=303TFO81BABDP&keywords=python+crash+course&qid=1658617871&sprefix=python+cru%2Caps%2C67&sr=8-1 我学了开始几章,还不错。
有人曾经把 python 和 Minecraft 结合起来,这是一个很好的 学习python 的切入点。在 amazon 上有书籍介绍,不过我还没 试过 。 一般建议 学一门 python 足够了,到高中都够了。没必要去学 第二门 语言了。python 学好后,可以学点 pygame,让小孩子 自己去编游戏,提高他的 学习兴趣。
5. 如果 15岁以后,想进一步学习 计算机语言,我推荐 C语言。有人可能认为 C++ 或者 Java 更好,工作机会更多。见仁见智了,我认为 C 语言 比 C++ 语法简单不少,比较容易学一点,更贴近实际硬件,只是 指针方面 稍微有点绕。Java 我没学过,不好评价。
先上课,C Programming Tutorial for Beginners, youtube 网址如下。我没学过,已经不需要学了,但看上去 评价不错。
https://www.youtube.com/watch?v=KJgsSFOSQv0

教科书推荐 C Programming: A Modern Approach. 我用过,不错。比C语言 发明者本身写的教材 C Programming Language 要好。网址如下 https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504/ref=sr_1_1?crid=3RWGI1EM52UFH&keywords=c+programming+modern+approach&qid=1658619674&sprefix=C+programming+a+morder%2Caps%2C70&sr=8-1
IDE开发环境 一个就像 教学视频里 提到的 Code::Blocks, 然后按照他的提示 一步步安装,就可以了。 还有很多人 用微软的 Visual Studio Community 版本。但他比较臃肿,安装文件比较大。它的最大缺点 是 C语言还 停留在 C89 的标准上,1989年的标准,太旧了,连 复数都不支持。当然 对 初学者来说 是够用了。以后学到 C99 或 C11 的时候再换 别的开发环境。 另外,我也用过 Pelles C, Windows 版本,支持 C99, C11 一直到 C17. 下载网址如下 http://www.smorgasbordet.com/pellesc/
6. JAVA 学习 有人建议在 Python后 学习 JAVA。我本人 对 JAVA一点不懂。所以这边 就不推荐了。有人 有建议的吗?
希望版主 加个 精华
jack54321 发表于 2022-08-24 20:53

谢谢分享!
小孩子学编程。不过我们不是学计算机的,觉得硬件的那些东西不会指导,难道找姥爷来帮忙?也许可以说服队友自学。

T
TTTTYYYY
Mark,mark,mark,mark
c
ccchhh
回复 123楼doubt的帖子
特别赞同你!楼主推计算机也没啥问题,不过就编程来说起步早,推得早既无必要也无优势!
我就是物理硕士和计算机方面的博士。大家争论的各种语言优劣都不无道理。因为计算机语言本来就是基于不同的设计理念为达成不同的目的而设计的,各有优劣很正常。
我不推孩子编程,他啥都玩过,乐高机器人,scratch,sphero,他想玩就玩,不想玩就算了。但是英语和数学必须尽可能深入学习理解。华人孩子的一个普遍弱点:英语!对英语文化,历史,文学,艺术的了解普遍不深入。语言的精准优质表达也不尽人意。在美国(包括澳大利亚),华人孩子对英语的把握比起洋人中优秀的那一部分是有欠缺的。我一定要推孩子英语!至于数学,数学最重要的特点是抽象思维!代数,微积分,离散数学,数论,逻辑等等。这个世界上没有比数学更为简洁,优美,有效的思想体系了!拥有了数学的抽象思维和逻辑思维能力,来学习编程那简直是分分钟的事情。数学强语言表达能力强的学生学计算机简直信手拈来!
我个人认为,要培养孩子成为有创新能力的人就必须推数学和英语,能推多远推多远!与其把时间大把花在编程上,不如多背诵英语名著,阅读数学的思维发展进程名著。与英语和数学相比,编程真的不难!


迁徙16 发表于 2022-08-25 06:03

你和我的教育理念很一致。我孩子在美国出生读书长大。他爸爸一直说要多说中文。我说英文也要学习,他爸爸觉得英文更像孩子的母语,母语还要学吗?自然就会了嘛。我不同意这个观点.一直在推孩子的英文阅读,因为英文我帮不了他。但是凡凡阅读也是并不能深入的了解历史人文。有主题性的阅读没有大人的引导又不太能引起孩子的兴趣。这方面我还在学习。
说实话很难
杠一下, 如果学习不是因材施教, 而是都追求本源的话, 小学时期学面积体积的算法就应该上微积分了。 我认为大多数人学计算机就不是奔CS 那条路去的, 能够写两行程序自动化一下平时的工作就很好了。小时候培养的应该是兴趣, 但是scratch 实在是不够用。
作为一个以前靠python, 现在靠java 吃饭的, resource leaking 是要处理的。 也可以暴力法, 定时重启app, —— 像Amazon 那样。 但是扣GC 还真的没有碰到,over provision 好了。
用python 也不是不需要考虑时间复杂度和memory complexity,只是不需要处理内存泄漏的问题罢了。 我认为这可以让学生把注意力放在数据结构本身,而不是那些细节上。
ted.hanks 发表于 2022-08-25 09:51

说了半天还是有人杠Python 不是因为它不考虑内存啊数据结构 而是它和主流程序不一样 你能找出其他以进缩和空格来识别code block的语言吗? 其他语言都是以花括号,分号或者干脆啥也不用这些来分割语句,而Python靠分段空格进缩这些奇葩的东西 这无异于开车上路大家都靠地上的线来区分lane,Python靠车距。这能走得远才怪,老司机无所谓,啥语言都行,新司机就等着掉坑里
U
UpToDay
收藏再看!多谢分享
方世玉
太长了,mark先
r
rubysiam
顺带 在这个 帖子里 讲一下 关于小孩的 别的一些方面。我个人的一点体会
1. LEGO 玩具。这边 lego 玩具 很流行。我们家也买了不少。我的感觉,在 walmart 买的 60块钱左右的 Lego Classic 才是 lego 里的精华,各种形状的 颗粒都有,松紧程度 适合,可以自由组合成 你想要的 各种形状。可以搭 金字塔,single house, playground, 迷宫,车子 等等。后来 又找到 一些书,LEGO Ideas Book, LEGO book etc, 可以给你更多的启发 搭成各种东西。总之,Lego Classic钱不贵,却能锻炼小孩的想象力,是它的精华。 当然,用下来也感觉 少了一些颗粒,如 圆柱形,90度转弯的连接件 等。
再进一步,我们买了 LEGO Technic 系列里的 一,二个,也不贵。列如 这个
最后,是 LEGO 的各种大型主题。有人还特地买了各种 收藏版。但我的感觉,又贵,又只是 依图纸搭建,没有锻炼你的 想象力。买一,二个 尝尝鲜 就可以了。多了,就没多大意思。
2. 在 LEGO Technic 后,我家 就转向 另外一个方向,不再 继续在 lego 这条道路上 走下去了。同样是 搭复杂的东西,我们选了这个。不贵,用下来 还可以。 https://www.amazon.com/Meccano-Construction-Motorized-Building-Education/dp/B08258N6LK?ref_=ast_sto_dp
3. 现在,为了锻炼智力,小孩又报了 国际象棋班。我以前学过 中国象棋和围棋,为了陪小孩,不得不 学习国际象棋,也学了 意大利开局,西西里防御 之类的。花了不少时间
还有很多小孩 参加 新加坡数学,俄罗斯数学班, AOPS, 学而思 等。我家都没参加过。不过我把我小学时候用的一本 <趣味数学300题> 贡献出来,这个类似 小学奥数题,基本上 小学阶段 足够用了。希望有帮助 https://drive.google.com/file/d/1s_B9GHMQmhGs1kQod-jDBzUjw1KlkQd0/view?usp=sharing
我们家 还买过 飞行棋,跳棋,connect four 等棋子,初步锻炼智力。
一点小诀窍,小孩学 自行车前,如果先用 balance bike 骑一阵,掌握平衡技巧。再学 自行车 将非常容易。我家4岁 就会骑自行车了。
Home depot 也不定时有 儿童 劳技手工课,很多小孩参加。感兴趣的 可以去他网站上查。
体育也推了。只有游泳坚持推了,以后掉水里,可以保命一下吧。 别的也都推了,足球,篮球,滑冰之类的。但真的是 亚洲人种的问题,比不过白人和黑人。足球比赛,上半场还可以。但到了下半场,我家的就不行了,跑不动了。当地孩子 下半场 还体力十足。 所以 扬长避短,我们家 就主推 智力了。
先写到这里,以后 有新的材料补充,再 编辑更新吧。希望能对 大家 有点帮助
jack54321 发表于 2022-08-24 20:54

马小孩子玩具
乐高 奥数
p
pacific
感谢分享。mark编程数学资源
W
WANGWANGSTON
mark mark
m
mylittle9
说了半天还是有人杠Python 不是因为它不考虑内存啊数据结构 而是它和主流程序不一样 你能找出其他以进缩和空格来识别code block的语言吗? 其他语言都是以花括号,分号或者干脆啥也不用这些来分割语句,而Python靠分段空格进缩这些奇葩的东西 这无异于开车上路大家都靠地上的线来区分lane,Python靠车距。这能走得远才怪,老司机无所谓,啥语言都行,新司机就等着掉坑里
说实话很难 发表于 2022-08-25 11:44

如果连因为学习了缩进而不是括号就不懂得block。 或者到了别的语言转换不过来。
只能说明真的不适合学计算机。
计算机主要是抽象逻辑思维。这点抽象度都没有,学啥计算机啊。

b
blocked
好帖要顶
b
bb5
mark.
t
ted.hanks
说了半天还是有人杠Python 不是因为它不考虑内存啊数据结构 而是它和主流程序不一样 你能找出其他以进缩和空格来识别code block的语言吗? 其他语言都是以花括号,分号或者干脆啥也不用这些来分割语句,而Python靠分段空格进缩这些奇葩的东西 这无异于开车上路大家都靠地上的线来区分lane,Python靠车距。这能走得远才怪,老司机无所谓,啥语言都行,新司机就等着掉坑里
说实话很难 发表于 2022-08-25 11:44

就是tokenizer 的实现不同而已。 lisp 还要数括号呢, 不妨碍写程序啊。
就是因为你习惯了在右边开车,不能说所有在左边开车的都是反人类吧?
h
huela
mark ...
r
rabbitfl
mark 一下
s
sugeeamimi15
收藏了,感谢分享。同觉得亚裔男孩搞搞学习最实惠,其他体育文艺社交我自己都不擅长,不会推更不指望基因突破。娃4岁就想要minecraft,是不是太早?
w
wipeoutzone
Mark mark
海上明月圆
谢分享!收藏了!
c
coca
非常感谢!干货满满,收藏了
O
Onesummer
感谢🙏感谢🙏
c
charming
老中们自己受苦就完了,还把后代往火炕里推,这是什么精神?