从业余开发到公开发布

2008年10月23日,微软员工Vijaye Raji公开发布Small Basic。按他的同期说明,2007年8月读到《Why Johnny Can’t Code》后,他开始构思一种易学的BASIC,经过近一年的业余开发才推出。

次日,微软Oslo项目的同事Paul Vick记述,Small Basic刚在DevLabs上线。他亲眼见过高中生用它学习编程,并观察到学生开始把手头的操作与能够完成的事情联系起来。这是发布前后教学尝试的直接见证;短文没有给出学校名称或课堂地点,所述体验也不是正式教学效果测评。

参考:[1] [2]

初始实现与壁纸程序

程序采用命令式写法,变量动态且全局;编译所得的中间语言交给.NET运行。编辑环境有代码补全和即时帮助,常用功能由库提供。

公告中的壁纸例子反复从Flickr取图,设置桌面壁纸,再等待一分钟。短程序把网络取图与桌面操作藏在库调用之后,学习者主要安排调用次序和循环。

参考:[1]

发布后的命令行示例

2008年11月6日,Raji又公布了一个列出质数的程序,说明标准库如何接收命令行参数。程序先检查参数数量,再取得输入,依次考察候选整数。子程序使用求平方根与求余数的库操作,检查候选数能否被试验的除数整除;若发现整除,便改变标志,阻止它作为质数输出。

这一例子把输入、循环、条件判断和子程序结合在同一项可观察的任务里。学习者不只需要记住语法,还须追踪标志怎样改变。作者同时指出,非数字参数会在转换后成为零,触发相应提示。因此,动态处理输入虽然减少声明,程序员仍须理解错误输入会走哪条路径。

参考:[3]

手册中的操作顺序

微软公开入门手册把第一个程序安排为向文本窗口输出问候语:先在编辑器输入语句,再点击运行按钮或按F5,看到结果后才拆解对象、操作和输入文本。随后加入颜色属性,让读者通过改变显示结果理解赋值,再用读取姓名的例子引入变量。

这个安排把观察结果放在术语解释之前,并让每次增加的概念对应一种可见变化。同一输出操作既能显示固定文字,也能显示从变量取出的姓名;这种延续使新知识接在已经运行成功的程序上,而不必每次另起一个陌生问题。方法调用后接圆括号与输入,颜色属性则用等号赋值;读者可通过修改文字和颜色,检查自己对两种写法的理解。现存公开手册的版本未标明,这里只用它说明教学方法,不把这些页面认作2008年首发文件原样。

参考:[4]

后来课堂中的迁移难点

独立教学研究提供了另一个具体使用场所。D. Todorić与Đ. Herceg报告,塞尔维亚诺维萨德大学在2010—2011学年的数学专业选修编程课中,把110名学生分为只学C#的52人与先学Small Basic再转C#的58人。课堂授课与计算机实验室练习配合进行。

后一组在初段测验中表现较好,转向C#后却仍出现语法适应困难。作者还把结果与课外学习投入联系起来。因此,较低的起步门槛不能自动保证顺利迁移到复杂语言;这项特定课程的研究显示,入门语言的选择和后续课程衔接需要分别检验。

参考:[5]