APP下载

学会编程 开始思考世界上的一切过程

2017-09-30潘洪波

中小学信息技术教育 2017年9期
关键词:老狼信息学语句

潘洪波

提出问题

比尔·盖茨说:“学习编程可以锻炼你的思维,帮助你更好地思考,创建一种我认为在各领域都非常好用的思维方式。” 美国麻省理工学院的切尔·雷斯尼克说:“当你学会编程,你会开始思考世界上的一切过程。”2015年,美国政府投入40亿美元推动全美孩子学习编程,他们为什么如此重视编程?

未来的世界一定是智能化、自动化的世界,与大数据、人工智能等技术相关,而这一切的基础是程序。学会编程,就能在计算机无处不在的世界里,更高效地使用计算机;学会编程就能更好地读懂世界、适应世界、创造未来世界。小学生学习编程并不是为了将来成为程序员,而是在学习中开发智力、培养创造力,学会运用计算思维解决问题,学会编程就拥有了一笔巨大的财富。

正因为编程如此重要,中国计算机学会从1984年起,每年都举行“青少年信息学奥林匹克竞赛NOI”,希望通过比赛促进学校、社会开展程序教学。然而,现有的小学生信息学培训教材,大部分是照搬大学教材来编写的,相关知识常常集中、系统地出现,像用户说明书一样面面俱到,所举的例子经常涉及初中、高中的知识,所以这种教材并不适合小学生来学习,让大部分同学听不懂、学不会,害怕学。于是,本人萌发了自己编写一本符合小学生心理、适合小学生学习的教材,既能让自己轻松地教,又能让学生愉快地学。

分析与解决问题

做任何事情,最重要的是方向,方向对了,或许稍做努力就能成功。小学生学编程,怎样的方向才是正确的?

1. 以程序为中心弱化语句语法

程序是整体,语句语法是局部,先把握住整体后研究局部。现在的教材大部分是以语法为中心的。一般第一章是软件安装、卸载、软件的启动与退出,第二章是语言的基础知识,如基本符号、保留字、标识符、数据类型、标准函数、运算符及表达式等。

如果按教材的顺序来上课,学生学了一个月,连程序是什么样子都不知道,学得很枯燥,兴趣全无。于是,我就确定以程序为中心,弱化语句语法,每课都有程序。

虽然这个程序没实现什么功能,但是通过这个简单的程序,学生们已经对C++程序有了一个初步的、整體的认识:程序总是从main()主函数开始执行,“return 0;”处返回,结束程序;每个语句以分号作为分隔符。

时间是有限的,知识与技能的学习是无限的,在有限的时间里学习无限的知识与技能时,必须要学会取舍。我以“程序”为主干,舍弃一些超越小学生能力范围的繁枝细叶,不盲目拔高,让普通的学生在有限的时间里轻松地看懂、学会,体验成功的喜悦。

如讲数据类型整型时,舍弃了无符号整型unsigned int、有符号短整型shor、无符号短整型unsigned shor、无符号长整型unsigned long、无符号超长整型unsigned long long, 保留最常用的整型int、长整型long、超长整型long long,同时它们不是集中出现在一课中,而是在各课的程序中,依次呈现。

2. 循序渐进,层层铺垫

一般的信息技术教材是按章节编排,一章一个练习。而小学语文、数学、英语、科学教材都是按单元和课的形式编排的,课课都有练习。为什么大学教材以章节编排,小学教材以单元和课的形式编排?同一门课程,在大学里一般都是两节课或三节课连起来上,有时甚至一个上午,而在小学中,则根据小学生年龄特点和认知水平,以40分钟为单位,一节一节地上,一般每节课上的是不同的课程。

于是,本书按顺序结构、选择结构、for循环、while与do-while循环、多重循环、数组、函数、针与类八个单元来编排,由82课组成,把变量、数据类型、表达式等语言基础知识依次呈现在各课中,把累加求和、求最大值、枚举、模拟、排序、查找、递归等算法深入浅出依次出现,同时做好层层铺垫。

如在学“用for语句编写1+2+3+…+100的和”程序前,就做了许多铺垫,先从第4课《列朋波骨——计数器》中学会变量的自增与自减,再从第5课《雪花——累加器》中学会累加,然后学习第29课《布纳特老师出的难题——累加求和》时就水道渠成了。

同时,每课都有“动动脑”,一题选择题、一题写运行结果、一题程序填空。把一些基础知识,以习题的形式依次呈现在每课中,让上课教师,不需要太多的时间去钻研教材、调整教材、准备习题,信手拈来就能上课。

本教材以儿童为中心,按课和单元来分类、分块排列,把各知识点循序渐进、层层铺垫,依次呈现,符合儿童的认识规律,像一本小学语文、数学书一样,深入浅出、易学易会。同时课课有习题,有利于学生巩固升华,也方便教师授课。

3. 贴近生活,彰显趣味性

为了突出“趣”字,我从教材编排的形式和内容上做了很多探索。

(1)通过创设故事情景来激发学习兴趣。

创设了风之巅小学的狐狸老师带着兔子尼克和泰迪狗格莱尔学编程这一情境。

如在学习整除与整除运算符时,有些教材可能在语言基础章节中直接出现。我是创设“尼克与强盗”故事情景后,再来学习整除与整除运算符。

尼克家种的胡萝卜今年不仅大丰收,而且还收获了一棵超级胡萝卜王,强盗兔听到这个消息就想着把这棵胡萝卜占为己有。这天强盗兔来到尼克家门口,记下了他家的门牌号——62号,准备晚上再动手。这件事刚好被尼克发现了,聪明的尼克把门牌号十位上的数字和个位上的数换一下,变成了26号,并报警。晚上,愚蠢的强盗兔找了半天都没找到62号,同时被警察逮了个正着。

通过一个小小的故事,增加了学习的愉悦性。

(2)通过“比特童币”奖励积分卡来激发学习兴趣。

如《第59课比特童币——四重循环》。比特童币是风之巅小学信息学社团的奖励积分卡,学生们获得比特童币后可以在每月最后一周的周五,到比特超市买文具、玩具、零食等商品,同时也可以存入风之巅比特银行,获得利息。今天,狐狸老师布置了一个学习任务,同学们完成后可以获得 (1000) 2元比特童币,其中(1000) 2=(8) 10。

学生们在学习时,教师根据每位同学的表现,奖励不同积分的“比特童币”,学生的学习兴趣就十分浓厚了。

(3)通过知识本身来激发学生的学习兴趣。

如我在第27课《老狼老狼几点钟—— for语句》中,选用了“老狼老狼几点钟”的例子,先直接用cout语句写,然后再提出思考问题:cout<<"老狼老狼几点钟? "重复出现了12次,输入时运用复制、粘贴可以很快地完成,但是解决有些问题时,需要复重几百次、几千次、或几万次,是不是只能这样做呢?这时才引出for语句,在讲解其格式與用法之后,再用for语句来写“老狼老狼几点钟”的程序。通过这个过程,学生明白和理解了用for语句写的程序是非常简洁的,for语句是非常有用的。

通过for语句这个知识点的学习,学生体会到学习的乐趣。同样一个知识点,若选的例子脱离学生的实际,就无法引起学生的共鸣,学习起来就是枯燥无味的。若选的例子有趣或贴近学生的生活,学生学习起来就有滋有味,兴趣浓厚。

4. 重算法,重流程图

本教材注重算法,利用流程图,让学生轻松理解解题思路,举一反三。

计算机是工具,学习编程就是为了更高效地使用计算机。学习编程的过程就是分析问题、解决问题的过程。解决问题的方法有很多,解决问题时需要条理清晰、步骤清楚,所以本书配有许多的流程图,帮助小学生理清思路。

又如学习if语句时,以“智商问题”作为导入课。智商,表示人的聪明程度,也就是IQ,它是德国心理学家施特恩在1912年提出的。智商采用200分制,分数越高,表示越聪明,智商就越高,140分以上者被称为天才。

流程图如图所示。

#include

using namespace std;

int main()

{

int iq;

cout<<"IQ:";

cin>>iq;

if (iq>140) cout<<"天才";

return 0;

}

同学们通过流程图,理解if语句含义,掌握if语句的使用方法,创造性地编出了“颜值问题”、“关于爱”的程序。

研究的成果

笔者编写的《小学生C++趣味编程》已与清华大学出版社在3月签定出版合同,估计2017年10月以后就能上市发行。

学生通过信息学社团一到两年的学习,参加市、区小学信息学奥林匹克竞赛都能获奖。同时,编程学习为学生在信息学方面的发展打下了坚实的基础,许多学生升入初中、高中后继续学习信息学。我校学生至今已有多人获全国一等奖,并被上海复旦大学等名校提前录取。

基于小学生的《C++趣味编程》校本教材的出版,希望能够帮助更多的小朋友们有趣地学习编程,能够让更多一线信息技术教师少走弯路。

(作者单位:浙江金华市环城小学)

猜你喜欢

老狼信息学语句
吓走老狼的“A”
鸡NRF1基因启动子区生物信息学分析
重点:语句衔接
“老狼,几点了?”
初论博物馆信息学的形成
老狼的化装舞会
miRNA-148a在膀胱癌组织中的表达及生物信息学分析
如何搞定语句衔接题
2014年信息学与计算国际会议
作文语句实录