此次工程实践选题暂定为实现一款轻量级少儿编程平台,目前少儿编程比较成熟的产品有Scratch,是一款由麻省理工学院小组为少儿推出的的图形化编程软件。首先对Scratch的特点进行分析。
它提供多个离线版版本下载,操作顺畅,提供云端数据保存及作品分享社区,全中文操作界面,可以离线编辑环境,非常适合少年对于编程的学习。它可以通过一些简单的模块激发少年对于编程的兴趣,能够从小培养孩子对于编程的天赋。虽然孩子自己单独学会使用Scratch还是有困难的,需要身边老师和家长的指导。这个过程并不需要孩子认识英文或汉字。
建立程序的过程,用到涂鸦,录音,找图片这些有趣的过程。孩子的成品可以通过软件直接发布到Scratch官方网站上。Scratch官方网站给每个注册用户开通了一个空间,放置发布的程序。用户发布后的程序,在官网可以找到。制作中的程序只能在软件环境下运行,发布后的程序则是在网页内运行的。就是说,孩子们的作品可以通过网络被无数人看到。官方网站具有交友和评论的功能。国内亦有类似由Scratch中文版发布程序后在网页内运行的网站,方便国内爱好者及好孩子们对作品进行交流。
使用者可以不认识英文单词,也可以不会使用编程语言,甚至可以不会使用键盘,scratch开发的程序是由scratch中积木状的模块构成的,只需用鼠标将你需要的各个模块拖入程序编辑栏中就可以了,激发孩子对于编程的兴趣。
接下来对一些编程软件进行分析,此处以java编程语言开发的集成环境IntelliJ IDEA为例。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。但是其过于专业与强大,显然不太适合少儿编程与学习。
市场上少儿学习的软件很多,比如这一款数字怪兽app。适合3-16岁孩子的数字怪兽app,分年龄段的游戏设置,可以根据孩子年龄自动将难度调配至相应水平。其内容包含:小学加减法、乘法表、乘法运算、数列及除法、心算及应用题等。孩子需要通过跑、跳、数数、做加减乘除运算来取得胜利,而且有利于帮助孩子在游戏中识别颜色、形状和大小。很适合少儿在玩中学。这一款少儿编程软件与少儿编程平台思想类似,不过编程平台会更加复杂一些。
下面探讨以下几个问题:
1、这些软件的开发者是怎么说服你(陌⽣⼈)成为他们的⽤户的?他们的⽬标都是盈利么?他们的⽬标都是赚取⽤户的现⾦么?还是别的?这些软件是如何到你⼿⾥的(邮购,下载,互相拷⻉、在线使用……)
因为有相应的需求,所以需要这样一类软件。这些软件在一定程度上解决了一些生活中的麻烦,但其最终目的还是盈利。这些软些均要下载相应的客户端软件进行使用,当然,少儿平台学习软件也有也可在线使用。
2、 这些软件有Bug 么?⼜是如何更新新版本的?此类软件是什么时候开始出现的,同⼀类型的软件之间是如何竞争的? 发展趋势如何?
毫无疑问,这些软件是存在bug的。比如少儿学习平台有时会出现一些很明显的错误,黑屏闪退等。又比如idea,软件过于庞大,功能十分复杂,出现一些bug在所难免。这些软件会经常让用户下载最新的插件或安装包,以达到版本更新。
专业的编程软件出现的时间不必多说。少儿学习软件大都伴随着移动互联网的兴起而流行。因为智能机的普及,越来越多的人在手机上进行学习,少儿利用这些电子工具进行学习也开始成为一个趋势。这些软件竞争激烈,同质化严重,目前市场上并没有一家真正的老大。这些软件应该找准自己的定位,应该向专业化发展,比如少儿编程平台,应该做到专业化,做到有趣,能吸引到小朋友,更关键的是,能真正学到一些东西,为以后的编程学习打下坚实基础。
3、列举你在使⽤上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
在使用这些软件过程中,不难发现更新迭代十分频繁。而硬件的话,比如我们的电脑,往往需要几年才会更新一次。硬件是软件的基础,软件的运行离不开硬件的支持。硬件看到见摸得着,而软件则是虚拟的。软件的本质是试应时代发展的需要,解决新的问题。
4、你个⼈第⼀次⽤此类软件是什么时候,你当时是⼏年级,班主任叫什么?在哪⾥,什么状态,当时的软件是如何得到的(买的正版,盗版,下载?)你是如何精通这类软件的?它给你什么好处,坏处?你现在还⽤它么,或者是同类软件的不同品牌,为何?这种软件再过10年,20年还会存在么,为什么?
第一次接触到智能机,接触到这些学习软件时已经是高中了。好奇,惊喜,竟然还有如此好用的玩意。要是早点接触,学习是不是会更加有趣一些。当然,这类软件的用户群不是我,我只是简单的体验了一下。十年,甚至20年,这种类型的软件一定会存在,只不过它们会更加智能。随时随地学习,在玩中学习不再是一句空话。