昨天去教了初一小朋友编程,求建议

2016-04-03 14:10:11 +08:00
 stupidcat

受他家长之托,周末教他 C 语言,昨天第一次见面。小朋友学习成绩不错,上学期大考排到年级 20/400 。小学的时候曾经玩过乐高积木机器人。目前已经掌握了一些 C 语言的知识,可以在 OJ 做简单的题目。

我问:为什么想学 C 语言? 他说:以后想搞嵌入式单片机相关的东西。 (初一同学说出这样的话,着实吓我一跳……)

我又问他想不想搞竞赛,他说学校里没有相关的竞赛小组

我的想法是:

  1. 目前不建议搞竞赛,理由:

    1. 他这个学习成绩,参加中考稳进本地最好高中。所以在普及组获不获奖都一样,没必要分心学业
    2. 学校里没有兴趣小组,没有老师指导、没有伙伴交流,会很困难。
    3. 他的兴趣并不在这里
    4. 可以等到高中再尝试,初中竞赛的这些内容,到了高中可以很快学会(何况他已有编程基础)
  2. 建议以后去美国读书,若经济状况允许,最好本科就去。理由:

    1. 美帝的 CS 。不多说
    2. 既然学 CS ,将来留学的概率很大,晚留不如早留。本科申请美国名校的难度显著低于研究生申请美国名校的难度,手握美国本科文凭申请美国名校研究生的难度显著低于手握国内本科文凭申请美国名校研究生的难度。
    3. 学习能力强,兴趣契合,可谓大有前途。没有理由不好好培养。
  3. 想搞“嵌入式和单片机”固然是很好的想法,但是目前建议先锻炼编程技能,学习一些数据结构和算法(非竞赛导向性质),并且学习 C++而不是 C 。理由:

    1. 既然要学 CS ,无论专精什么方向,这些东西都迟早要掌握,晚学不如早学。
    2. 学这些东西,语言只是一个工具,重点应该在学习其中的思想方法,而不是语言本身。学 C++有助于减轻记忆负担。 vector 总比 int* malloc free 清晰多了吧
    3. 保持将来搞竞赛的可能性(信息学竞赛只允许使用 pascal/C/C++)
  4. 出于一种对好学晚辈的鼓励,我想送给他的东西:

    1. 《编码》这本书。他说晚自修作业做完之后有时间可以看点书
    2. 单片机积木玩具。比如 arduino ?不知道现在还流不流行了?
6001 次点击
所在节点    问与答
64 条回复
RqPS6rhmP3Nyn3Tm
2016-04-03 22:29:02 +08:00
我小学 Small Basic ,初中易语言和 C ,高中觉得 C 轮子太少了,于是开始搞 Python
我觉得软件这块还是比较简单的,但是硬件上手非常困难,门槛很高。初中可以启发一下单片机和 Linux ,其他的都可以很顺畅了。
当年初中的时候有参加机器人竞赛,也有一定启发作用。
RqPS6rhmP3Nyn3Tm
2016-04-03 22:30:28 +08:00
最后告诉他,穿女装可以提高码力,相信他会自学成才的。
laucie
2016-04-03 22:42:52 +08:00
现在的小朋友接触编程越来越早了
VmuTargh
2016-04-03 22:48:04 +08:00
@BXIA 记得多喵~
TheCure
2016-04-03 22:50:33 +08:00
小朋友应该启蒙很早,但是这个简单描述看不出来是否有天赋.

小朋友引导一下就好了,主要还是开拓眼界培养兴趣和自主学习习惯

什么技术栈之类的不重要,他会自己选择的
RqPS6rhmP3Nyn3Tm
2016-04-03 22:54:51 +08:00
@VmuTargh 啧啧,猫娘
lyragosa
2016-04-03 23:00:18 +08:00
我给一条干货!!

建议他趁现在早恋一下,找个女朋友!!

因为这可能是他这辈子最后一次……
taxiangdeni
2016-04-04 02:43:03 +08:00
搞嵌入式是向往硬件方面的,他初中生,还没学过物理,模电,数电,电路,高频,首先这单片机与嵌入式开发你教他也没用,他目前根本接受不了那么多知识(我是通信工程学生,目前这学期学的是高频,单片机,嵌入式我目前还没开始学,可能选课的时候也不会选这方面,单片机正在学,学一点 c 语言就想搞单片机,对硬件方面完全为 0 ,目前嵌入式,单片机方向就别考虑了)

初一连最基础的数学方面知识都没学到,数学是基础,在有一定数学基础上,怎么进行硬件开发,我知道模电,电路,数电,高频都涉及到一些高数,他数学也只是学了点皮毛,硬件这不是那么容易学,(我这考试都是抄过的深刻领悟这痛)

初中生我建议,保证成绩优秀前提下,业余学些算法,数据结构,懂一门语言,掌握算法和数据结构,将来学什么编程都容易些
pimin
2016-04-04 03:05:24 +08:00
告诉他人生苦短,早学 Python 吧
ppdg
2016-04-04 04:02:59 +08:00
noi 吧,你要是弱省的还是老老实实学习的好,别想竞赛了,在这方面各省重视程度不同,师资差距悬殊。光靠自己,没的玩。现在只有国家集训队那 50 个才能保送的。
kdplus
2016-04-04 04:25:54 +08:00
初中生也不需要很多精力在学习上吧。没记错的话
pynix
2016-04-04 06:50:10 +08:00
剧本拿错了?
tracyone
2016-04-04 08:01:18 +08:00
@taxiangdeni 这些都无所谓的,人家 linus 小学就开始接触电脑,越早接触越好,你学那么多东西有时还不如自己实践
Comdex
2016-04-04 09:23:14 +08:00
现在城市的初中生多幸福,有资源有条件搞这个,很多农村的孩子连电脑都没接触过上了大学才知道电脑怎么用
zscself
2016-04-04 09:41:50 +08:00
我堂弟过年回他姥姥家(也就是我奶奶家),说他在学 Java ,然后说苹果说微软说的一套一套的,今年他才初一呀。。。路由器交流群认识一个初一的群管理员,已经在写路由器 Shell 工具箱了,还服务器压缩文件下载到本地后解压来节省服务器流量。
哎,╮(╯▽╰)╭现在的 00 后和 90 , 80 后当时差太多了,不管是教育环境还是生活水平。
![]( http://7xqfkg.com1.z0.glb.clouddn.com/IMG_2804.jpg)
GentleSadness
2016-04-04 10:04:33 +08:00
@stupidcat 懂基本语法并没有什么卵用,你还不如教他为什么这样设计,怎么实现。

为什么重载是同名字不同参数,和返回类型无关,因为有时我们想单纯调用这个过程,返回值只是副作用

为什么 C++的虚表是这样实现,因为妈的,因为很多

其实 C++的类就是 C 的结构体,怎么实现?妈的,类里的函数就是结构体的函数指针

妈的一堆东西,为什么要学语法,很多东西可以教,但这娃到底是想学什么,有本事学什么

顺便一提,学 C++有助于减轻记忆负担。 妈的智障
Alexhex
2016-04-04 12:29:03 +08:00
做过一些嵌入式,也玩过 FPGA 。但是我想说的和这些没关系……

我觉得有些人是不是把自己的角色搞错了?

又不是小孩子的家长。现在小孩子早熟,初一不小了,我劝 LZ 竭尽所能的把自己所了解到的信息告诉小孩子,让他自己选择感兴趣的方向就好。不要低估别人的心智,也不要替代别人做选择。
wph95
2016-04-04 12:46:40 +08:00
> 初中竞赛的这些内容,到了高中可以很快学会。
lz 应该没有搞过竞赛吧。
如果之后要想参加 NOIP ,的确是到高中学也不晚。
然而如果想要参加 NOI ,在浙江这种强的一塌糊涂的省,初一学竞赛不早。
我是强烈建议去初高中学竞赛,大学不参加 ACM 。学竞赛的好处 lecher 说的很好了。
fzinfz
2016-04-04 13:02:38 +08:00
FQ 英语 Youtube
stupidcat
2016-04-04 14:14:41 +08:00
@GentleSadness
你觉得基本语法没什么卵用,他还是得从语法学起。之前的老师一节课教 if ,一节课教 for ,一节课教数组,开开心心拿钱上课、到点走人,家长很满意,孩子很高兴。怎么讲,我求之不得。

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

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

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

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

© 2021 V2EX