APP下载

构建程序设计教学高效课堂的途径探索

2023-05-30周利荣

电脑知识与技术 2023年2期
关键词:认知规律教学理念程序设计

周利荣

关键词:三阶段教学法;高效课堂;程序设计;认知规律;教学理念

中图分类号:G642 文献标识码:A

文章编号:1009-3044(2023)02-0124-03

高效课堂是符合学生的认知规律的,以学生为主体,以教师为主导的课堂。高校课堂是有效能的课堂,它促进了学生的发展,并且有利于学生的可持续发展,学生不仅学到了实实在在的知识,有一定的学习成果,而且提高了能力,学到了方法,培养了情感,锻炼了思维,养成了好的学习习惯[1]。因此,高效课堂是教学永恒的主题,是教师永远的追求。

1 高效课堂的几个特征

一是符合学生的认知规律。认知学习理论认为人类获取知识的过程是感知、注意、记忆、理解、问题解决的信息交换过程。程序设计课堂教学首先必须引起学生的注意与兴趣,让学生感知学习内容。在此基础上记忆理解程序设计知识,然后应用程序设计知识解决问题即编程。

二是以学生为主体,以教师为主导。高效课堂并不是只是看教师教了什么,而主要是看学生学到了什么,并不是教师教得高效,而是学生学得高效。因此,必须以学生为主体,以教师为主导,以学生发展、学生学习、学习成果为导向,教师只不过是学生学习的促进者、帮助者、引导者。教学的目标是使学生会学习、爱学习。

三是学生的学习是自主学习,合作学习。在高效课堂里,教师应尽量把时间留给学生,让学生自觉地阅读学习材料,理解学习内容,总结学习方法;让学生自己去发现问题、提出问题、探究问题、分析问题、解决问题。在高效课堂里,教师应该设计好任务活动,将任务活动交给一个小组合作完成,合作学习有利于提高学习效率,学生之间取长补短,相互交流,增进情感,共同成长。

四是教师能及时准确评价学生,学生能及时得到反馈。高效课堂里,每堂课每个学生有一定的学习成果,学习成果的完成效率及完成质量如何,教师能够及时做出准确客观评价,学生能及时得到自己的学习成果的反馈。即高效课堂里教师能够对学生进行过程性评价[2]。

五是着眼于学生的可持续发展。当今世界,信息技术日新月异,大数据、云计算、人工智能方兴未艾,新的编程语言不断出现,知识更新日益加快。大学所学知识不可能受用终生,学生学会学习、热爱学习,才有可能适应变化的世界。因此,高效课堂的目标是四维的,一是知识,二是能力,三是方法,四是情感。

2 三阶段教学法的三个阶段

程序设计课堂教学如何构建高效课堂?在Py?thon程序设计教学实践中总结出“三阶段教学法”(编辑调试阶段、阅读理解阶段、动手编程阶段),使学生更好地掌握了程序设计的知识,提高了学生的编程能力,掌握了编辑调试程序、阅读理解程序、动手编写程序的方法,提高了学生的编程兴趣。

编辑调试阶段是指对于教师尚未讲解的教材内容,学生在尚未能完全理解程序的具体含义的情况下,提前编辑、输入教材中的程序,然后调试、运行得到正确结果。此阶段最容易实施,以Python程序设计教学为例:(1)打开Python自带的编辑器IDLE;(2)执行新建文件命令;(3)编辑、输入教材中的程序;(4)执行运行程序命令,如有错误则对照教材修改、调试直到得到正确运行结果。学生只要掌握上述四个简单步骤即可实施。

阅读理解阶段是指在教师的引导下,学生读懂第一阶段编辑调试成功的程序。此阶段最为关键,教师起重要作用。程序调试成功,运行得到结果,但学生并未真正理解程序的含义,也未掌握蕴含在其中的编程技巧,如同吃下去的食物没有真正消化吸收一样。那么,教师应如何引导学生读懂程序呢?一是要理解每个变量在程序中的功能和作用(存储结果、循环变量、标志变量等);二是要将程序分解成有独立功能的各个部分,指出各部分的功能;三是将各个部分综合起来得到整个程序的功能。万丈高楼平地起,这些都是建立在对程序设计语言知识熟练掌握基础之上的,教师应将讲解知识点与阅读理解程序结合起来。

动手编程阶段是指在教师的指导下,学生自己动手编写程序。学生经过大量编辑调试、阅读理解程序后,接下去就应该自己动手编程,掌握编程的技巧了。此阶段最为艰难,学生不仅要熟练掌握程序设计基础知识(基本概念、编程规范、数据类型、程序结构),还要有较强的抽象思维能力和逻辑思维能力,根据题意总结出算法,选择一定的数据结构,编写出易读、健壮、高效的程序。教师应遵循先易后难的原则,有目的、有步骤地指导学生编写程序,使学生学会编程,看到自己实实在在的学习成果,从而热爱编程。

3 三阶段教学法的具体实施

以刘庆编写的教材《Python编程案例教程》为例,第一章(开始Python编程之旅)和第二章(Python编程基础知识)为第一个教学单元。编辑调试阶段共输入编辑11个例题;阅读理解阶段讲解相关知识点并理解11个例题及完成相关练习题共20 题;动手编程阶段共编写4个程序。

第三章(判断和循环语句)和第四章(字符串的使用)为第二个教学单元。编辑调试阶段共输入编辑20 个例题;阅读理解阶段讲解相关知识点并理解20个例题及完成相关练习题共17题;动手编程阶段共编写7 个程序。

第五章(列表和元组)和第六章(字典和集合)为第三个教学单元,编辑调试阶段共输入编辑22个例题;阅读理解阶段讲解相关知识点并理解22个例题及完成相关练习题共23 题;动手编程阶段共编写9个程序。三阶段教学法较为灵活,可根据学生的基础知识及学习进展情况,增删教材例题和练习题。

4 三阶段教学法是打造程序设计教学高效课堂的有效途径

4.1 三阶段教学法是符合学生的认知规律的

教学必须符合学生的认知规律,这是教学必须遵循的基本原则。编辑调试阶段最容易实施,且运行程序得到结果后,学生获得成就感,激发了学生的学习动機和学习兴趣,学生感知并注意了学习内容;阅读理解阶段需要记忆程序设计基础知识,理解程序的含义和功能;动手编程阶段则是问题解决的过程。因此,三阶段教学法与认知学习理论是吻合的,是符合学生的认知规律的。

4.2 三阶段教学法真正体现了以学生为主体,以教师为主导的教学理念

教学理念的发展大致经历了三个阶段:以教师为中心的阶段;以学生为中心的阶段;以学生为主体,以教师为主导的阶段[3]。

以教师为中心,即以“课堂、教师、教材”为中心,教师是教学目标、教学内容、教学方法、教学过程的确定者,是绝对的权威。这种教学理念有利于学生系统地掌握知识,但学生缺乏自由思考、自主探索,不利于创新型人才的培养。以学生为中心的教学理念,强调学生的中心地位,倡导发现学习、探究性学习、合作学习、个性化教学。主张让学生自由地发展,让学生自己去探究、去发现和创造知识,学生能够影响自己的学习内容、形式和进度。这种教学理念有利于学生自主地学习知识,但过分夸大学生的能动性,教师的作用有被弱化的倾向。实际上,教学实施的每个环节要落到实处,都离不开教师的指导作用。以学生为主体,以教师为主导的教学理念,综合了以教师为中心和以学生为中心两种教学理念的优点,有利于调动教师和学生两方面的积极性,得到了广泛的认同。

三阶段教学法真正体现了以学生为主体,以教师为主导。在编辑调试阶段,教师只要讲解四个操作步骤即可,基本上是学生编辑、输入,调试、运行得到结果,发现问题可以小组交流讨论。整个过程以学生为主体,教师很少介入[3]。在阅读理解阶段,教师可以先讲解知识点,然后通过填空题、判断题、选择题、阅读程序将程序补充完成,阅读程序写出程序的运行结果等练习形式,使学生掌握Python程序设计基础知识(基本概念、编程规范、数据类型、程序结构)。教师可以修改程序,使学生比较不同程序的运行结果,自己总结出Python编程规范、语句的功能。在动手编程阶段,教师只给出适当的提示(使用的变量及类型、语句、画出流程图),学生以小组为单位共同编写程序。因此,三个阶段教学法无论在哪个阶段,都是以学生为主体,教师为主导。

4.3 三阶段教学法,学生的学习是自主学习,合作学习

三阶段教学法有利于培养学生的自主学习精神和自主学习能力。一是三阶段教学法促进了学生的课前预习。在编辑调试阶段,学生提前编辑、输入教材中的程序,学生在此过程中提前感知、注意了学习内容,虽然不能深入理解程序的具体含义,但初步理解了题目的含义及程序的功能。俗话说,眼过千遍不如手过一遍,这种预习的效果比单纯看书效果要好得多,为教师后续讲解奠定了一定的基础。二是三阶段教学法使学生的学习从课内拓展到课外,线下拓展到线上。教师可以组织学生在课内分组完成学习内容,可以在课内布置后在课外分组完成,使学生的学习从课内拓展到课外。如果在课外完成,遇到学生不能解决的问题,可以通过超星网络教学平台、QQ、微信、钉钉等提交讨论。课外完成的作业可以通过超星网络教学平台、电子邮件、QQ、微信等方式提交,使学生的学习从线下拓展到线上。

三阶段教学法提高了学生合作学习的水平。三阶段教学法是一种合作学习,促进了学生的相互交流和共同进步。[4]通过合作学习,程序设计基础扎实的学生可以帮助基础薄弱的学生,在这种帮助中,其基础知识又得到了巩固,对两者都是提高。在编辑调试阶段可采用小组合作的方式进行,一个小组完成一个程序,如果程序较短,则小组的人数少;如果程序较长,则小组的人数多;如果程序很长,则每个小组完成其中一段程序,再由多个小组合并而成整个程序。在动手编程阶段也可采用小组合作的方式进行,一个小组共同完成一个程序的编写。

4.4 三阶段教学法能及时准确评价学生的学习,学生能及时得到反馈

每个学生有三个文件夹,编辑调试、阅读理解、编写程序,分别上传对应的结果。对于编辑调试,编写程序两个文件夹,里面存放的都是.py程序文件,批量运行相同目录下.py文件可得完成正确率。通过按修改日期排序可得完成效率,从而快速得到每个学生的准确评价,并将结果反馈给学生。

4.5 三阶段教学法着眼于学生的可持续发展

三阶段教学法加深了学生对已学知识的理解。课外完成程序编辑、调试任务需搭建Python开发环境,加深了对搭建Python开发环境这一知识点的理解。程序编辑、调试中遇到许多错误,大多数是没有遵守Python编码规范引起的,加深了对Python编码规范这一知识点的理解。通过输入调试面向对象程序设计编程实例,加深了对Python是面向对象的程序设计语言这一知识点的理解。通过输入调试GUI编程实例,加深了对Python图形界面开发这一功能的理解。通过输入网络爬虫编程实例,加深了对Python网络爬虫编程开发这一功能的理解。通过输入教材中“飞机大战”编程实例,加深了对Python游戏开发编程这一功能的理解。

三阶段教学法提高了学生的能力,包括程序调试能力、阅读理解能力、动手编程能力。学生在编辑、输入教材中的程序后,执行运行程序命令,如果不能得到正确结果,IDLE编辑器会给出错误提示,说明程序有误。学生可根据错误提示,认真比对输入程序与教材中程序的差别,发现错误并修改,直到得到正确结果。教学实践中发现,学生在编辑、调试程序过程中出现的错误是五花八门的,如不满足缩进格式、语句格式,多输入、少输入、错误输入代码,中文状态下输入代码等。任何程序都要符合编程规范及正确的语法,才能通过解释或编译,得到正确结果。三阶段教学法培养了学生一丝不苟的学习态度,提高了学生的程序调试能力。通过大量填空题、判断题、选择题、阅读程序将程序补充完成,阅读程序写出程序的运行结果等练习,提高了学生阅读理解程序的能力。通过前面两个阶段的大量练习,学生掌握了程序设计的基础知识。再通过大量由浅到深,由易到难的编程题目训练,学生掌握了编程的步骤、技巧,提高了学生的动手编程能力。

三阶段教学法使学生掌握了编辑调试程序、阅读理解程序、动手编写程序的方法。以Python程序设计教学为例,对于编辑调试程序,只要掌握四个步骤即可,由于例题都是教材中正确的程序,只要认真仔细输入,满足Python編程规范和语法,运行得到结果并难。如何阅读理解程序?最重要的是理解变量、函数、某个程序段的功能。变量、函数、某个程序段的功能搞清楚了,程序的功能基本上搞清楚了。可以通过阅读程序注释部分来明确变量、函数或程序段的功能;可以在程序中间插入print语句,输出变量、函数的结果来理解变量、函数、某个程序段的功能;可以修改变量或者函数参数的值,比较运行结果的不同来理解变量、函数或程序段的功能。至于动手编程,程序设计有一个著名的公式:程序=数据结构+算法。因此,编写程序最重要的是选择合适的数据结构或者数据类型,运用适当的算法。Python常用的数据结构和数据类型有:数字型、字符型、布尔型、列表、元组、字典、集合,数据类型往往根据题意来选择。算法是解决问题的过程和步骤,要根据题意选择适当的语句(赋值、选择、循环、输出)和表达式(算术、关系、逻辑、身份、成员)来完成,需要运用一定的数学知识进行抽象、判断、推理,因此学生需要具备一定的逻辑思维能力和抽象思维能力。

三阶段教学法培养了学生对程序设计课程的学习热情。一是三阶段教学法提高了高职学生的学习参与度。学习参与度是衡量教学有效性的重要指标,高职学生学习主动性普遍不足,课堂上普遍存在“教师教多少,学生学多少,教师不教,学生不学”的现象,少数学生甚至根本不参与学习。因此,最大限度地调动高职学生参与课堂学习,是教师面临的最大挑战。[5] 教学实践表明,在编辑调试阶段,大多数学生都能参与到学习中。在动手编程阶段,学生通过小组交流讨论共同完成程序设计,学生之间的互动变得频繁了,打破了“课堂沉默”,学生参与课堂学习的积极性明显提高[6]。二是三阶段教学法提高了学生的学习兴趣、增加了学习信心。高职学生普遍对自己的学习缺乏信心,学习主动性普遍不足。三阶段教学法使学生认识到,学习Python程序设计是有用的、有意义的、有趣的。如教材中的实例:“猜拳游戏”“百钱买百鸡”“计算器”“三级菜单”“文本词频统计”“学生管理系统”“哥德巴赫猜想”“采集百度搜索结果”“飞机大战”等。通过编辑、调试上述程序,使学生提前体会到Python的强大功能和实用性。教学实践表明,三阶段教学法提高了学生的学习兴趣,增强了学习自信心。

总之,三阶段教学法使学生学到了知识,提高了能力,掌握了方法,培养了情感。因此,三阶段教学法是着眼于学生的可持续发展的。

5 三阶段教学法的启示

启示一:教师不能忽视学生的潜能。教师最重要的任务是将学生的潜能最大限度地发挥出来,使每个学生在原有的基础上都有所发展。教师要改变高职生是“差生”的固有观念,采取适合高职学生的符合学生认知规律的教学方法。教师要调整观察学生的视角,要关注学生的学,帮助学生掌握一定的学习方法。高职学生编程能力差不等于没有编辑、调试程序的能力,不等于没有阅读程序的能力,教师要从培养学生编辑、调试程序的能力开始,进一步培养学生阅读程序的能力,进而才是编写程序的能力。教学实践表明,三阶段教学法不仅提高了学生调试程序的能力,还提高了学生阅读程序的能力,提高了部分优秀学生的编程能力。

啟示二:创新需要突破常规思维,大胆地尝试。传统的教学原则是按教材的编排顺序,教师按部就班地教,学生被动地学;教师先讲授,学生后练习;前面的知识还没有掌握,决不要动手搞后面的。三阶段教学法却要求学生先编辑调试程序,再阅读理解程序,最后编写程序,即学生先练,教师后讲,学生再练,实践证明是可行的。

猜你喜欢

认知规律教学理念程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
“影响化学反应速率的因素”教学设计
高职高专院校C语言程序设计教学改革探索
通过认知规律进行逻辑思维训练刍议
新课标下如何提高初中物理课堂教学的实效性
小学数学教学良好课堂气氛的创建初探
浅析高中数学课堂的提问策略
高中数学教学中的“情景—问题”教学模式研究
PLC梯形图程序设计技巧及应用