学习Java,他们都说很easy。 作为一名刚从斯康星大学麦迪逊分校计算机科学系毕业的大学生,我通过一些编程课程认识了很多使用Java的朋友。现在很多学校都在从别的编程语言(大多是C ++)转教Java,一项于2014年7月所做的研究表面截至调查时间为止,39个顶级美国CS项目已经有22个使用Java作为入门课程。 那么,到底是什么使得Java能从众多的教学语言中脱颖而出?纵观各个方面,我们发现了一些蛛丝马迹:
上面这些听上去真美!但是却并不完整。 迂回策略几乎所有的程序员编写的任何语言的第一个程序都是“Hello World”。它所做的就是显示一些消息(传统上都会选择“Hello World”),然后退出,非常简单。下面是用Java写的Hello World程序: public class Hello {public static void main(String[] args) {System.out.println("hello, world");}} 一些对于编程全然陌生的人就会心有疑问了 ,然后这时候如果你是老师的话,嘿嘿,麻烦就来了。想要一下子就能将所有内容通通解释给学生听,可能会成为压垮骆驼的稻草,所以,你最好采取迂回策略。
但是值得一提的是,无论是教什么内容,我们都应该将其分解成一块块容易消化理解的组成部分。封装(public关键字)、面向对象的编程(class和static)、数组(String[ ])以及命令行参数(args)这些重要的知识都应该适时地解释给学生。当然,对于那些尚处于编程启蒙阶段的新生来说,要想一口吃成个大胖子未免太过于天方夜谭了。我认识的很多朋友,他们在其他领域绝对算个佼佼者,但是碰到这些编程概念问题也立马一个头两个大。就像是在代数中突然引入这个: 一旦我们知道了这些符号的含义,那么理解起来似乎也没有那么困难。但是对那些才涉足这一领域的新生来说,这完全不亚于是无字天书啊。再则,迂回策略虽然鼓励了学生使他们不至于立马泄气,但是从另一个角度讲,却只是表面化地展示某种“神奇”成果,并没有分析解释其原理。但是我想说,如果你想成长为一名真正的教师,这种方法与你的理念应该是背道而驰、截然相反的。例如Hello World这个例子,
Java对于开发程序(无论大小范围)而言或许真心是门超棒的编程语言,但是对于初学者而言这家伙绝对算不上友好。 那么我们应该教什么语言呢?既然如此,那有人会问,那我一开始先学点简单的概念,然后在这些的基础上再深入学习Java,不就成了?!但是很抱歉,Java表示臣妾做不到! 那么我们该怎么做呢?下面这两种合情合理的开启编程之路的方法或许能让你有一种醍醐灌顶之感:
现在,第2个方法变得越来越风靡,从本文开篇提及的研究——Python已经超越Java成为了使用最广的编程入门语言这一事实——可见一斑。 无论你选择哪种方法,关键是要保持学生对此的兴趣。如果你选择的是低水平起始点的方法,可以使用Arduino或机器人技术套件,以便于学生可以在物理世界中观看他们写的代码。话说,我刚一开始用C语言为一支机器人团队编写代码,我就被这个奇幻的世界深深地迷住了:看着120磅的钢管和转动马达因为我写的代码而动起来的时候,那感觉真心是太神奇、太不可思议了。如果你选择的是高水平起始点的方法的话,不妨利用库中资源来制作视频游戏或者其他图形程序。 编程特别的不可思议。除了你的想象力还有表达能力,其他没有别的东西可以限制你。找到学生的兴趣切入点,寓教于乐,从易到难,循序渐进,教会他们如何使用工具,授之以鱼不如授之以渔,让他们在编程的世界中自由疯狂地成长。 |