APP下载

在教学实践中对小学c++编程教学的几点思考

2019-10-16郑钢峰

考试与评价 2019年7期
关键词:主动学习自信编程

郑钢峰

【摘〓要】 在人工智能时代,教育和工作会发生翻天覆地的变化,“未来一代的孩子,不仅需要与人交流的能力,也要有和机器对话的能力。编程,正是连接人与机器世界的桥梁。”c++编程對于小学生来说是比较陌生的,是改变思维的一种方式,也是计算思维的一种体现。如何让小学生走入c++编程世界,就是要让学生找到兴趣,提升编程意识,学会自信和提升主动学习能力。

【关键词】 c++编程  思维  自信  兴趣  主动学习

在教学过程中,我发现小学生在现有知识水平、接受能力上与成人都存在着较大的差异,如何培养学生学好c++编程序呢?下面我谈谈我在教学中的几点做法和体会。

一、培养学生学习编程的兴趣

美国心理学家和教育家布卢姆曾说过:“学习的最大动力,是对学习材料的兴趣。”学生一旦对学习发生兴趣,就会由被动学习转化为主动学习,学生对教师所教授的内容感兴趣才能有激情。我将编程教学与数学课程知识相结合,用计算机语言解决典型数学题,把编程应用于课堂教学全过程。

(一)c++编程解决数学问题。

设计一:在刚开始教学时,利用的鸡兔同笼的例子:鸡兔同笼,共有35个头,94条腿,求鸡和兔子各有多少只。这样的例子让学生在解答的时候,马上想的是利用设兔子有X只,鸡有(35-X)只,4X+2(35-X)=94,用这样的方程在我们的程序中的转换时比较复杂,很多的同学在学习中就已经一头雾水了,觉得编程的思维比较复杂。

如何让他们在一开始的学习中就能产生兴趣,我针对这样的问题做了很多的思考。后来,我发现何不从平常的学生的学习中的面积公式去入手,解决一些编程问题呢。

通过这样的方式,学生惊喜地发现,原来复杂难解的数学题通过计算机程序语言找到本质,轻松解决,既加深数学知识的认识,更提高了学习编程的兴趣。

(二)编程与课堂教学进程相结合

在教学产生随机数这一环节中,我是这样设计的,我先编译一道程序让学生体验随机数的产生。

师:老师想要随机叫一位同学,你觉得我会叫谁。

生:可能是我,可能是别人。

师:那我们也没有办法让计算机来帮老师解决这样的一个问题呢?(出示程序)

#include

#include

#include

using namespace std;

int main()

{

int a;//定义变量a 。

srand(time(0));//随机种子。

a=rand()%42+1;//班里有42位学生,产生随机学号 。

cout<<“学号:”<

return 0;}

通过程序的运用,随机产生了3号和16号。接着让学生思考,这样的随机数产生我们还能做什么呢?我们还能利用这些数字做什么呢?让学生在思考中来应用随机数的产生。这时有学生提出能不能让随机产生的数字进行加和减呢?接着我就让学生利用产生的随机数进行加减来编译一道程序:让计算机随机生成一道加法混合运算题,输出运算结果。

在由计算机生成的课堂中学习编程,让学生在真实的情境中体验编程的奥妙,体会用自己所学的知识进行运用和尝试解决新的问题成就感,使学生始终拥有学习热情,保持学习兴趣,这样的学习肯定是快乐的也是高效的。

二、提升学生的编程意识

我发现有许多聪明的学生,编程并不一定能学的很好。关键是没有真正入门,缺少编程意识。那么什么是编程意识呢?我们通过一个题目来看一看:求出1+2+3+4+…100的和,聪明的学生一下子就说,太简单了,它是一个等差数列可以用(100+1)×(100/2)=5050,算的比电脑还快,当人脑算得比电脑还快的时候,你觉得会有什么问题吗?有学生会说太麻烦了编程,还是自己笔算比较快。但是电脑最大的特点是有超强的运算能力和逻辑判断能力,是强的快,快到什么速度呢?电脑在计算1+1和计算机1+2+3+4+…100时几乎没有什么快慢之分。所以对于这道题目,电脑计算1+2+3+4+…100与(100+1)×(100/2)的速度是一样的,并且还要告诉学生,用(100+1)×(100/2)的方法是错误的,为什么呢?这道题目是计算1+2+3+4+…100的和,用(100+1)×(100/2)的方法只能理解为是求101×50的积,结果是相同的,但过程是不一样的。能够理解一点编程意识了吧,编程序关键是让电脑做,你只要考虑过程,你不能用你的人脑去想像电脑,不要和电脑换位思考。你是主人,电脑是什么能力都比你强的仆人,并且绝对服从你,你让它计算100次,它绝不会算99次和101次。你所要做的就是安排好一件事情的过程,指挥它,命令它。

编程看似简单,具有编程意识,安排好步骤就行,但实际上,要做到这,还是挺难的,一是要能通过安排好步骤让计算机解决好问题,二是步骤不能错,否则计算机会做无效的运用,可能会死机。这就是编程的关键算法。

三、建立自信和提升主动学习能力

自信是学习编程非常重要的内在动力。

什么是自信呢?自信是一种正确、积极的自我观念和自我评价。积极意味着一种对自己的认同、肯定和支持的态度。而在现今的学生当中,普遍存在着自我评价过低的现象,很多学生在能够完成的事情面前,认为自己干不了,于是畏缩犹豫、裹足不前,压抑了内在能力的发挥。

在教学中存在这样的现象,有些打字速度快的同学很快编译完成了程序,有的学生因为打字速度较慢,没能顺利完成。这样,让打字速度慢的同学感受到了压力,也严重打击了他们的自信心。在学生编程学习初始阶段,这样的问题一直困扰着我和孩子们,很多优秀的孩子会退缩,会和我说要退出c++编程团队。如何让这些优秀的孩子提升自己的自信呢?后来我通过鼓励的方式让他们重新树立信心,给他们说明编程学习主要是计算思维,而不是一场打字比赛,打字速度只要稍加练习就能提升的。课后经常关注那些打字慢的同学,让他们在家里多花时间,每天进行练习,找回自信。通过几个星期的努力,那些孩子又重新找回了自信。

学习c++编程的周期较长,至少为一年或者更长时间,能够坚持到底不是那么容易的。我们应该少一些功利思想,而应该踏踏实实地激发小学生学习c++编程的兴趣,培养小学生学好c++编程各项素质,并通过c++编程来提升学生的计算思维。我们让学生学习c++编程的能力,不仅仅为了选拔学生参加竞赛,更重要的是通过c++编程的学习,培养学生的信息素养,如上网、打字、局域网设置等各个软硬件应用能力,为后续学习打下基础,形成计算机程序应用和开发意识,去适应未来人工智能时代的学习和生活。

猜你喜欢

主动学习自信编程
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
做一个自信的“小小音乐家”
高中生物教学中学生主动学习策略研究
数字电路课程的翻转课堂教学及调研
深化年轻化战略108万已是“小目标”
试论高中生物教学中学生主动学习的措施
《个人理财》教学中,发挥学生主体地位的路径研究