许多人都熟悉Scratch(儿童编程环境)的培训,通常在该培训中要遵循“从简单到复杂”的原则来创建创意项目。 同时,在Scratch中研究编程(变量→分支→循环→函数→结构→对象→...)的“经典方法”是困难的。
但是,改变结构,面向对象和事件的程序设计概念(称为概念)的学习顺序,将它们隐藏在明亮的精灵和交互式动画之后,并不意味着不应强调该概念。 特别是如果目标不是开发创新能力,而是编程培训。
我试图在我的
课程中反映这个想法。
新手抓手要面对的第一件事是精灵。 尽管Scratch本身没有面向对象的编程,但可以将Sprite视为对象。 在此阶段,学生发现程序中可能有许多对象,其行为由其外部脚本控制。 Sprite可以根据需要接收命令或传输有关其状态的信息,也就是说,编程归结为管理对象。
年轻程序员立即想到的第二件事是多线程的概念。 每个精灵可以同时执行多个脚本。 几个精灵也可以彼此同时执行其程序。 事实证明,组织顺序执行更加困难。
在第一课中,我们已经不可避免地要了解周期。 否则,猫不会特别逃跑。 在此阶段,必须使相识变得直观而肤浅。 我们将其限制为“总是重复”和“重复...次”的循环,这些循环更容易理解。 在专门针对循环的课程中研究了条件循环。 本课需要掌握逻辑表达式和变量。
由于Scratch是事件驱动的环境,因此在变量之前研究条件语句块更为方便。 条件可能是某些事件。
我认为,这样的顺序比较好,因为对于每节课,我们都会介绍最少的概念。 不是抽象的,而是立即看到它们的实际好处。
如果您首先研究变量,那么就很难证明它们的目的和好处,因为之前没有研究过条件运算符,数据输入和随机数生成。
在Scratch中,除了列表之外,程序员还面临三种数据类型:数字,字符串和布尔类型。 在这种情况下,类型与值而不是变量相关。 不需要将字符串转换为数字,反之亦然。 字符串不用引号引起来。
可将返回逻辑值并具有特征角度形状的块插入舍入字段。 反之则不成立:在假定为逻辑表达式的情况下,您不能插入正则变量。
实现了暂存,以便在执行过程中不会发生严重错误。 因此,显然,如果您尝试在算术运算中使用字符串,则会将其替换为零(请参见第一个屏幕)。
程序员必须知道编程语言的功能已被库扩展。 在Scratch工作期间,学生可以添加内容,从而将新团队添加到环境中。
Scratch中的功能在“其他块”部分中实现,一方面,您在其中创建自己的块,可以将其插入其他脚本中。 另一方面,他们必须组装该单元的功能,即其功能。
暂存函数没有返回值。
因此,在面向事件的环境中进行编程概念的研究留下了自己的印记。 实际上,我们首先研究更复杂和抽象的概念,然后仅深入研究过程,然后继续研究结构化编程的元素。 初次认识的正负是有争议的。