use*_*322 10 alice lego-mindstorms mit-scratch logo-lang block-programming
作为一名学生老师,我非常感兴趣的是,像Scratch,Logo,Alice和Lego mindstorms这样的"迷你语言"如何有效地教导学生编程的核心概念,如变量,函数和循环.
在教授这些基本核心概念时,一种"迷你语言"比另一种更好吗?
根据你教孩子的年龄,我会选择像python这样简单的语言.
这是一本免费的书,教授所有基础知识,只有大约200页长:http: //www.greenteapress.com/thinkpython/thinkpython.html
这是一个非常棘手的问题.Logo和Smalltalk(仅举两个明显的例子)最初都是专为教孩子们编程而设计的.然而,你很快遇到了一个问题:很难定义一种既简单又容易让小孩子完全理解的语言,并且仍然足够丰富以避免它迅速变得有限和笨拙.
至少从我所看到的情况来看,大多数尝试在两个方面都表现不佳.例如,大多数尝试包括旨在使代码更像英语的冗长(例如Logo中的"To:").儿童通常具有足够差的键盘技能,这种冗长令人沮丧.他们(根据我的经验)期望如果语法的一部分看起来像英语,那么该语言也应该接受其他有效的英语(我希望其他语言的母语使用者也是如此,但我的经验主要是英语使用者).
与此同时,大多数孩子(我曾与之合作过)很快就达到了他们发现迷你语言限制的程度.其中一些可能源于上面提到的挫折.有些人可能也是因为他们的老师(至少有些人)在提出有趣且具有挑战性的练习时缺乏想象力.我认为今天比20年前(比如说)20年前要困难得多 - 那时候,孩子们对用乌龟图形绘制的东西很兴奋(例如).今天,他们已经习惯了具有照片般逼真的3D图形的游戏,并且用直线绘制2D"玫瑰"似乎更多地打击了它们,因为它们基本上是蹩脚的.