2020年新年伊始,今天我们也来讲讲如何帮助孩子开启编程学习之路。
编程学习这个事情火起来也是最近两三年的事情,究其原因还是国务院教育部相继发文要在中小学阶段开设人工智能教育课程,像浙江,山东,北京,天津,南京都是排头兵。不仅是中小学,今年三月份公布的大学新增设的专业里面,新增人工智能专业的高校数量也是独占鳌头,其中不乏浙江大学,上海交通大学等高校。
如何开始编程学习呢?一句话总结:
根据孩子们的思维发展状况,和当前的升学就业环境,来选择编程语言。
Scratch
Scratch是麻省理工学院的“终身幼儿园团队”开发的图形化编程工具,主要面对青少年开放。 Scratch下载是完全免费的,公布源码,允许任意修改,发布,传播。
在有人指导的情况下(家长如果有时间的话也可以指导孩子学习scratch,并不需要非常专业的编程知识),6岁的孩子基本上就可以照着例子完整的“拼”出一个能运行的程序。
因此适合5-9岁的低幼小朋友。
Python
Python最开始被应用于脚本方面的编写,作为一种解释性的语言,语法和结构通常比较简单,学习和使用通常比较简单,不需要“编译”。
但是因为提供了太多的库函数,不利于了解其底层原理。对于中小学生而言,Python是一门比较不错的入门语言。
C++
直接跟系统底层打交道,最适合竞赛的语言(2022年信息学奥赛系列赛事只能使用C++参赛。)
听到C++,如果有家长是程序员出身,就会有点发怵了,觉得难,但其实中小学学的编程C++和工业用的C++侧重点不同。竞赛侧重于考察算法而非语言本身,所以竞赛用的C++基本语法不难,也很容易入门。
19年11月C++之父全国见面会浙江站,浙江大学ACM教练王灿老师也说:编程学习中给到的数据是干净的数据,工业里面情况自然比较复杂,难度也相应上升了一些。
对于没学过Scratch的同学,一样可以学Python和C++;没有学过Python,也一样可以学C++;这三者,并不构成进阶的关系。
根据孩子们的思维发展状况,和当前的升学就业环境,来选择编程语言。
从高校自主招生和综合评价报名条件,升学的角度来看比赛的含金量:
含金量排名:信息学奥赛 > 青科赛、明天小小科学家、电脑制作活动 > 蓝桥杯及其他
不限语言
1.全国青少年科技创新大赛
全国青少年科技创新大赛包括青少年科技创新成果竞赛、科技辅导员科技创新成果竞赛、青少年科技实践活动比赛、青少年科技创意比赛和少年儿童科学幻想画比赛五大内容,跟青少年最息息相关的青少年科技创新成果与青少年科技创意。参赛选手可以通过编程来完成自己的科技创新项目。
参赛对象:在校中小学生;
参赛形式:通过官网(http://castic.xiaoxiaotong.org)报名,赛程一般为 3-4月各市报送材料, 4-5月省内组织评审,5月向大赛报送材料。终评决赛时间为每年8月。
2.明天小小科学家
孩子们通过计算机编程,工程设计,动手制作与技术构建,结合孩子们的日常观察、积累,去寻求自己最完美的解决方案,发展自己的创造力。
参赛对象:在校中小学生;
参赛形式:每年5月-6月申报;8月为专家初评,8月底公布入围终评名单;10月中下旬举行终评活动和颁奖典礼
创意编程
3.全国中小学生电脑制作大赛
电脑制作大赛不能完全说是编程比赛,更多讲究艺术与科技结合。评选项目要求学生使用计算机设计电子报、网页设计、Flash动画,APP制作等各式参赛作品。孩子可以用 Scratch 制作小游戏、小动画来参赛。
参赛对象:在校小学生、初中生和高中生
参赛形式:4月前以省为单位选拔参赛作品;
4月:各省级组织单位进行网上报名、上传参赛学生信息、参赛作品;
5月下旬:通过技术测试的作品在活动官网公示,接受社会监督和网络人气指数投票;
6月:公示结束后,由专家评审组,按照作品评比指标进行评审,确定拟获奖等级。
Scratch、Python、C++
4.蓝桥杯
自第八届起,蓝桥杯大赛新增青少年组。可参赛项目如图:
参赛对象:在校小学生、初中生和高中生
参赛形式:
第十一届蓝桥杯市赛选拔赛仍有部分城市尚未进行(如下图),有意愿参与的家长可关注蓝桥杯官网,蓝桥杯仅支持以机构为单位进行报名。
C++
5.信息学奥赛
NOI系列活动包括:全国青少年信息学奥林匹克竞赛和全国青少年信息学奥林匹克网上同步赛、全国青少年信息学奥林匹克联赛、冬令营、选拔赛和IOI。
参赛对象:在校小学生、初中生和高中生
参赛形式:
上文提到了一些升学,比赛,那如果没有计划参加竞赛还有必要学习编程吗?我觉得还是有必要的。因为编程学习背后还有着一套编程思维。 分解,简单来说,就是“把复杂的大问题,拆解成更可执行、更好理解的小步骤”,它能锻炼我们拆解复杂问题的能力。
抽象,编程中最关键的就是“抽象思维”能力,它能锻炼我们聚焦重点,忽略无用信息,并抽取关键信息的能力。
模式识别,就是“如何找出相似的模式,并高效率解决细分问题”,它能极大锻炼我们规律整合的能力。
算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。