STEM 教育理念越来越被认可,编程会涉及到工程、技术、数学等综合学科知识,也更加注重这些跨学科知识的运用,孩子们通过灵活运用这些学科体系去完成一个既定的目标。望得思读书园诚邀从事多年青少年编程教学的Yan老师来南岸开课。让我们一起听听Yan老师的课程介绍吧:<br> <font color="#9b9b9b">“每次我接收新的学生的时候,面对家长最多的一个问题就是:我到底应该让孩子学习哪一种编程语言?而且学了这个,将来的前景是什么。”</font><br> 我们抛开编程语言本身的细节不说,先来看看权威的编程语言流行指数(PYPL)排行榜近日公布了2019年4月份的最新榜单:Python拥有简单、免费、兼容性、面向对象、库丰富等突出优点。这几年可以说是一路高歌猛进,主流深度学习框架比如TensorFlow、Theano、Keras等等都是基于它开发的。 <br> 其实编程圈内知名网站Stack Overflow的数据显示,在去年6月份,Python的月活用户就超越了Java、成为第一。IEEE Spectrum也在2018年度顶级编程语言排行榜上将Python列为第一,领先C++、C、Java、C#。<br> <font color="#FF8A00">学会Python能做什么?</font><br>Python能做什么呢?几乎是无所不能!Python除了极少的事情不能做之外,其他基本上可以说全能:系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等等。尤其是近期随着云计算,大数据,人工智能,机器学习的方面的兴起,python的学习使用热度也是飙升。越来越多的企业热衷于Python语言。 像谷歌、YouTube、Facebook等企业都在广泛使用Python,在国内,很多大家比较熟悉的网站都是用python开发的,比如豆瓣、知乎、网易、百度、阿里、土豆、新浪等。<br> <p><font color="#FF8A00">为什么选择python作为入门编程语言</font><br>曾经,C, Java等经典语言一直作为大学编程基础课的入门语言。但是随着Python语言的发展和受关注度的提升,越来越多的北美大学将Python选为编程入门课的语言(例如MIT6.0001, 计算机编程入门)。<font color="#ed2308">但更重要的是Python的语法简洁清晰,对于初学者非常友好,开发效率十分高效。学习成本低,只要找对教程,一个对编程没有太多概念的初学者也可以轻松入门。 </font><br><br></p><p>我最早的编程入门课的确实使用的是Java而不是Python,因为那时主要的学生是15岁左右,已经有思维上已经有能力度过编程入门期的瓶颈,和克服Java语言相对复杂的语法带来的不适感。而最近几年,学生的年龄逐渐降低, Python作为一个全年龄适用的语言,也成为了我课上的首选。<br></p><p><br></p><p><font color="#ed2308">最重要的是:</font>各位家长们一定要明白,逻辑是所有编程语言的精髓。每种语言具体的特性和适用领域可能不一样,但这背后的逻辑都是相通的。<font color="#ed2308">编程语言没有好坏之分</font>,学习编程不像学习钢琴,完成一首曲子就去练习更难的曲子。我一直和家长强调,青少年学习编程不在于用什么语言,而是在于程序背后的逻辑和算法。我本身也不会在课上深究编程语言的问题,而是重点培养编程的思维习惯和思考方式。毕竟我们的主要目标是学习编程,而不是学习Python。编程语言的学习很容易,但逻辑和算法的培养很难。我们在学习编程的过程中需要以一门语言作为依托和实践,而Python它自身的特点很适合担任这个角色。<font color="#ed2308">学生系统地学习编程,在到达一定水平和经验以后,无论当时使用哪种主流语言入门,都可以在短时间内掌握其他语言的基本语法。</font><br></p> <font color="#FF8A00">学生在课程中会学到什么内容</font><br>课程设计的宗旨是面向青少年的从零起步编程课,课上更注重于讲授编程中的通用知识和思维的训练,而非某一门编程语言的细枝末节。课程分为几个阶段:最开始我们会通过Python 教授编程基础,包括变量、字符串、列表、循环等。有了从零到一的基础,我们进而会学习控制流、逻辑结构, 再掌握字典、判断等,最终会向更复杂的算法与数据结构过渡。<br> <font color="#FF8A00">学习编程过程中是否会感到枯燥</font><br>曾经有家长和我讨论过纯文本的编程看起来像打字一样,是否会让孩子感到枯燥和难以坚持。其实,这是多虑的。编程学习并没有看起来那么枯燥和单一。我们通过程序来实现功能和想法,当学生进入到课程中,将自己的想法和学习到的技能通过代码在电脑中实现,看到程序运行的结果获得的成就感和满足会不断转化为继续学习的动力。而且,我在编程课程中会穿插不同实践项目作为课程的副本,例如游戏制作,网页,机器人应用,和硬件产品结合,等等。让学生有机会在多种方向实践学习到编程技能。<br> <p><font color="#FF8A00">我们再来看看Scratch</font><br>如果说到编程逻辑的启蒙、培养和训练,我们就不得不提一提Scratch。可能有些家长认为Scratch就是编写一下小动画,因为可能大部分家长看到的就是Scratch的那只猫在屏幕上做简单的动作,其实我们都大大低估了Scratch的功能和对孩子的教育意义。</p><p><br>单凭Scratch可以使用位图和矢量图模式来创作自己的动画内容来说,这已经是非常的牛级了。 位图和矢量图是计算机图形专业中的两大概念。 要知道这相当于掌握和理解了当今最流行的矢量图设计专业软件之一Adobe Illustrator的基本操作,为今后做电脑平面视觉艺术进行了启蒙。 而我举的这个例子,只是Scratch编程软件里的一个辅助功能而已。</p> <p><font color="#FF8A00">Scratch课程都学什么</font><br>Scratch作为编程逻辑启蒙的工具,在课程中起到了一个重要的阶梯作用。 通过图形化的编程,将编程逻辑渗透给学生, 通过趣味性的编程小项目,培养学生将现实问题抽象成编程思维的能力,并且培养孩子学习编程的兴趣。在制作小项目的过程中学习编程基础包括变量、控制循环等,并且运用数学中坐标系和三角函数的概念等。</p><p><br>在经过Scratch的引领入门之后,最终会过渡到核心编程内容内容Python。根据我之前的上课经验,Scratch在课程初始阶段的引领非常重要,尤其对年龄小一点的学生(9岁及以下),Scratch对他们的引路作用更为明显。</p> <h3><font color="#FF8A00">具体课程设置信息</font><br><b><font color="#B06FBB">MIT Scratch</font></b><br>2期课程<br>周三晚上:18:30-20:00<br>每期十二次课,一次课1.5小时<br>推荐年龄8-10</h3><h3> <br><b><font color="#B06FBB">Python</font></b><br>3期课程<br>周二晚上:18:30-20:00<br>每期十二次课,一次课1.5小时<br>推荐年龄10岁以上;完全零基础建议11岁以上</h3><h3><br></h3><h3><b>上课地点</b>:</h3><h3>望得思读书园</h3><h3>7900 Boulevard Taschereau Building C-207<br>Brossard, QC J4X 1C2<br><b>联系电话</b>:<br>514-926-1086 张琳<br>438-875-7800 张大美<br></h3>