KTBYTE讲座 (translated)

上周五(6/1/18)KTBYTE通过微信举办了一次讲座,回答了家长们经常提出的一些问题侧重讨论了青少年学习计算机科学的优势。

主讲人是三位KTBYTE的教师Benjamin(康奈尔毕业生),Vishnu(耶鲁学生)和Leo(麻省理工学院毕业生)。

青少年学习计算机科学的优越性:

Benjamin – “我们几个都是很早开始学习CS。我5年级时开始,Vishnu8年级开始。有点类似于学习乐器或语言, 青少年是学习CS的黄金岁月到了大学再开始学习CS就要比小时候开始难很多。

通常情况下,我们不仅教CS,还教一些其他技能,如抽象问题解决。一些年令小的孩子可能不知道什么是坐标,加速度或减速。所以,我们的授课会超出CS的范围。Vishnu在今年夏天推出的有音乐的编程短课就是一个例子。

Vishnu – “在我的课上,我教孩子们如何制作虚拟钢琴,定音鼓和即兴歌曲创作这会很有意思,是CS的实际应用,学生们可以学到如何用编程来作音乐,他们会编写一些工具,并用这些工具创作音乐

Benjamin – “学生在十一和十二年级需要考SAT, AP,还有很多其它活动,负担较重。五年级到八年级时负担最轻。那时学习计算机科学娱乐性最强。他们和同伴玩游戏,制作有趣的图像,学习魔术般的技术。有些学生一开始连计算机和互联网的不同都不了解。两年后,他们成为编程的佼佼者。“

编程与计算机科学的区别:

Benjamin -“很多人认为编程和计算机科学是同一回事现在有很多流行的编程课程,它们不一定是计算机科学课程计算机科学涉及到如何将问题分解,加以解决,而不必在乎特定的语言C ++Java,Swif,等等。重要的是让学生学会如何解决复杂的问题。这样将来他们不管使用任何语言都能举一反三。

Vishnu – “我喜欢CS的原因之一是因为可以将它应用到很多领域。例如,我开始与朋友们一起制作小游戏,这非常有趣。在高中二年级的时候,我选修AP CS课程。我和几个朋友为我们整个学校制作了一个用于排课的手机应用程序。直到今天,学校仍使用这个程序。CS是改善世界的一种方式。我还在KTBYTE参加了一些USACO(美国计算奥林匹克)课程。USACO是一个非常有趣的编程比赛,要求你通过编程解决基本问题就像数学竞赛中解决数学问题一样。

美国计算机奥林匹克USACO:

Benjamin – “参加USACO是免费的。每年有四次比赛,每次约四,五小时。你不需要提前申请或报名,只需要到时候进入网站,就可以参赛。参赛的学生需要解决应用题,比如寻找a与b之间的最短途径,或优化计算,或把某些问题转变成程序。这些问题解决需要学生化数周或数月时间才能学会。另外,由于参加计算机竞赛的女生较少。她们所能得到的机会相对较多。

有关USACO的信息及学生成功报道在此

如何对计算机科学产生兴趣?

Benjamin –“开始阶段,兴趣与接触的机会多数有关,与接触内容的多样性有关。如果接触的内容与日常生活联系起来,与无人驾驶汽车,三维打印,自然科学联系起来,就容易建立兴趣。“

Vishnu – “比如,我们的一门编程课教学生如和模拟桥梁,涉及许多物理知识。另一门课教学生建立网站。我们还有以艺术绘画为内容的编程课,学生可以用编程来改变画面。“

Benjamin –“学生可以选择很多不同的计算机科学的应用,如物理,绘画,音乐等。他们可以制作不同的游戏。他们不仅学习编程,而且创造性地表达自己的想法。

做游戏与玩游戏:

Benjamin –“许多家长问我们:我的孩子玩很多游戏。如果学习编程,他们是不是会玩更多游戏?做游戏和玩游戏完全不同。一开始,孩子们会想复制他们经常玩的游戏。他们很快会明白做游戏比玩游戏难得多。他们只能做游戏种的一个小部分。一些孩子会把玩游戏的时间转移到编程。他们明白了所有的游戏都是有人做的。通过做游戏,他们逐渐建立起自信:我也可以做!我可以做出我想要的东西!

举个例子。学生可能一开始喜欢玩Minecraft。然后他们模仿Minecraft,自己做类似的游戏。然后,他们会成立自己的编程俱乐部,参加机器人小组,和朋友一起编程。

现在的孩子学习环境比我小时候大不一样。我们以前化十年时间学到的层度,现在的孩子两、三年就学到了。当他们掌握了计算机科学的知识和技能,他们就非常自信,面对世界,充满信心。”

如何熟练掌握计算机科学:

Benjamin –“我们希望学生熟练掌握计算机科学,如同熟练掌握一门语言。一开始,你只是阅读,不能写作,不能解释别人的文章,不能改正别人的错误。达到熟练的程度需要通过多年的练习。我们的学生可以利用很多我们提供的工具来练习。他们在上课时跟着老师练习,下课后通过完成作业来练习。

Leo –“我来介绍一下我们的学生如何练习编程的。一个办法是跟着一个我们的特殊“老师”,这个”老师”就是我们的编程辅导系统KTCODER。学生可以随时在这个系统上编写程序,检查程序,运行程序。在此同时,系统随时帮助学生修改程序,给他提供建议,使他感到编程一点不难,相反,很有趣。“

Leo –“学生还可以在家做项目。比如,你需要解决一个问题,把华氏温度转变成摄氏。这不是一个选择题。你需要写一个程序来解决这个问题。如果你遇到困难,你可以在我们的线上辅导得到助教的帮助。“

Leo –“这样的练习非常重要。任何一个学弹琴的学生会告诉你,你需要弹练习曲。你需要有一个练习的环境,可以不断地改进。我们不仅要求学生做有趣的项目,而且希望他们理解数据结构和基本程序。如果你懂得如何运用最基本的零件,你九能够制造复杂的系统。基本训练十分重要。”

计算机科学的跨专业应用:

Benjamin –“讲一个例子,我的一个学生想写一个能够区别真版和仿造版Harry Potter程序。这是一个青少年感兴趣的项目。而且,同样的方法可用于鉴别文章是由那个政治团体所写的,鉴别对一个网站评论是正面还是负面的,等等。同样一个计算机科学的方法可以用于不同的领域。“

Vishnu – “我在大学里学习计算机科学和英语。你也许觉得这两个是完全相反的专业,但它们之间有交叉学科。比如,你也许听到过一个软件“Grammarly”,它可以检查你的文章的语法。它所采用的技术是机器学习。通过把你的文章和其它文章比较,可以发现你的语法是否正确。有趣的是,计算机科学可以把你以为完全不同的东西联系在一起。“

Benjamin –“只有很熟练你才能够把计算机科学用到各个领域。我们的一些学生用Python编程语言实现图像识别,用于无人驾驶汽车。有趣的是,我们不教学生Python,我们教的是Java。他们如何能够用Python做人工智能项目呢?一旦学生具备了较强的计算机科学基础,会使用一门编程语言,他们能够比较容易地学会另一门语言。”

学生究其从计算机科学课中学到什么?

Benjamin –“我刚才说编程用哪个语言并不很重要。但我仍然要讲一下我们所教的语言,我们是如何教的。我们教Java,因为它是美国高中AP计算机课程所用的语言。学生在高中修计算机科学课程的话,一定要学习Java。同时,Java也是计算机竞赛,比如USACO中使用最多的语言。我们从Scratch或模块Java开始教起,不要求学生打字。他们只需要点击然后拖动模块就可以编程。之后,他们可以使用Processing和更高级的工具,提高学习内容的层次。“

Vishnu – “Processing可以理解为Java的一个版本。它的便利之处是人与系统的交流。我在后来的编程经历中才有了体会。面对一行一行的程序,你会觉得非常单调。但Processing可以帮你绘图,使用程序库,还可以帮你做很多有趣的事情,比如产生音响。”

在KTBYTE学习计算机科学:

Benjamin –“我们给学生学习过程中提供许多帮助。除了上课,我们提供个别辅导答疑。学生可以上网,跟一名老师或助教讨论他的问题。可以是技术问题,如程序调试,也可以是获得精神鼓励。这是我们帮助学生保持学习动力的一种方法。

夏季为期一周的夏令营式课程主要是在麻州Lexington。学生可以来我们教室做一些项目,制作游戏或应用程序。用两三周时间,他们可以学会一种语言,并做一些个性化的项目。对那些愿意比较深入学习的学生,这是一个不错的安排。

我们在夏季也有延续一个月的课程。在秋季有延续一学期的课程。这些课程需要做作业,帮助学生打好基础。

如果你的孩子八、九岁,他来我们教室,坐在小朋友边上一起上课可能更好。

等到他们到了十一, 二岁,网上课程更方便。他们在家里就可以得到所有需要的材料,信息和交流。我们的老师可以看到每个学生的屏幕,比在课堂里还方便。我们可以清楚地看到每个学生是否专心上课,给他提醒和帮助。”

Leave a Reply

Your email address will not be published. Required fields are marked *