基于培养思维能力的Python语言程序设计教学
2020-02-22林振德
林振德
摘要:随着信息技术的不断发展,中职教育越来越重视对学生计算机动手能力的培养。在计算机相关的各项能力中,程序设计能力关系到日后软件开发和维护,对学生未来的发展有重要的作用。在中职程序设计教学中会接触到各类计算机语言,例如VB语言、C语言等,相较于其他语言,Python语言更加简洁高效,可以充分调动学生的自主思考能力。但是当前中职程序设计课实际教学情况现实,很多教学方式都未取得理想效果。基于此,中职教育工作者需要重视Python语言的优势,对Python语言程序设计教学方式进行创新,提升教学质量。
关键词:培养思维能力;Python语言;程序设计;教学创新
中图分类号:TP3 文献标识码:A
文章编号:1009-3044(2020)36-0172-02
2016年,教育部发布相关条文,也是首次建议在高校中开展Python语言程序设计课程,这也侧面证明了Python语言正在不断受到高校计算机专业的重视,这也令Python语言程序设计教学课程在高校遍地开花,并逐步向中职学校中渗透,成为炙手可热的教学改革重点。需要注意的是,Python语言程序设计进入学校课堂,并不是其他计算机语言的简单替代,而是计算机技术发展至今天的一种大势所趋。教育工作者需要深刻认识到Python语言程序设计教学方式创新的重要性,在对教学案例进行构思和创新时,一定要在Python语言基础上,结合培养思维能力的教学理念,优化教学方式设计,充分调动学生的积极性,令学生充分感受到Python语言的乐趣和价值,真正享受Python语言程序设计的快乐。
1 Python语言优势
Python语言为一种脚本语言,特征为动态性和面向对象。相较于其他类型计算机程序语言,Python语言在可读性和编写的简易性上更直观,因此对于零基础的编程初学者来说,Python语言更容易令学生上手。随着计算机编程语言的不断发展,Python语言程序设计教学可以作为计算机编程的入门课程。Python语言能够使零基础初学者在编程思维方式更加集中,更重视学生自主思维能力的锻炼与培养[1]。
在程序语言特点上,Python语言主要有以下优势:首先是简洁性。Python语言相较于其他类型语言更简洁,但却并不影响其自身语法逻辑的完整性,在程序开发上,可以进行语句级,以及面向过程与对象的开发,并且无须像C语言一样定义变量类型,这样便能令程序可读性得到提升。和其他语言相比,Python语言在算法与程序逻辑意图的表达层面,体现得更加直观。
其次是高效性。Python语言在编写上更加高效,同样功能的程序计算任务,相较于C语言,Python语言在代码行数上,大概只是C语言的1/10。这也令Python语言的优势更加明显,也就是程序功能越復杂,Python语言为程序员节省的工作量就越多,增加了程序员的编程效率,可以全面缩短程序从开发到实现的时间,节省人力物力成本投入[2]。
最后是生态性。截至2017年底,Python语言在第三方库的构建上,已经超过12万个,几乎在计算各个领域都有涉猎,加强了功能的简洁性,进而提升了编程效率。
2 程序设计课堂教学现状
2.1 中职学生计算机基础参差不齐
由于初中教育阶段的信息课程只是浅尝辄止,旨在让学生认识编程的魅力以及实现方式,并没有真正培养起学生的编程自主思维,因此在真正接触计算机语言编程入门课程时,学生往往不具备较强计算机编程思维。而且由于学生义务教育,各个学校对信息技术教育重视程度不够,因此坐在一个班级的学生,也无法保证计算机编程能力的统一。这就导致一开始的计算机程序设计教学事倍功半,即使学生最开始对程序设计抱有浓厚的兴趣,但是随着知识的深入,还是会导致学生无法真正领会课堂上的知识,课堂会变得枯燥无味,这会对学生的学习积极性造成打击,进而影响学习效果[3]。
2.2 传统教学不重视思维的培养
尽管素质教育改革,更重视学生的教学主体地位,注重对学生自主思维能力的培养,但是义务教育阶段因为有考试成绩的压力,因此学生在学习方式上总是以老师为重点,亦步亦趋。教师也更加重视学生应试能力的培养,而没有真正重视培养学生的自主思维。在课堂上,学生往往只是按照教师的参考程序原样输入运行,运行成功之后却并未真正知其所以然,也没有对程序进行拆解,分析每一个语句的功能,这样就导致学生无法靠自己的力量编写出逻辑和功能完善的程序,这也正是程序语言教学的大忌。学生如果不能真正按照题目要求设计程序,便不能算真正学会了程序设计课程,因此在教学方式上有必要进行创新,令现有问题得到改善[4]。
3 程序设计教学案例新思维
3.1 教学案例新思维背景
当前社会背景,正是计算机信息网络技术如火如荼发展的大数据时代,而计算机信息技术的发展,离不开软件开发和程序设计,这也是计算机程序设计课程广泛开展的现实意义。基于此,计算机计算思维,也和实证思维、逻辑思维上升到了等量齐观的位置,成为思维范式的第三种。随着社会上层出不穷的计算机技术的开发,物联网、大数据、云计算、VR技术、人工智能等新兴词汇,成为人们的口中热词,也从侧面证明了,各种新兴计算机技术人们的生产生活产生了潜移默化的影响。这也体现了人们对计算机技术的重视程度,以及在计算机技术开发革新上的不懈追求,人们对计算机程序设计的认知,逐渐从理论知识求证,转向解决生活中的实际问题,增强了计算机程序设计与开发的现实意义[5]。
这种思维也对中职程序设计教学课程产生了一定影响,在对学生计算机程序设计的能力培养上,更强调学生程序设计自主思维的提升。随着互联网空间的不断发展,学生接收知识的渠道来源逐渐增多,可以通过各种学习网站加强那个对程序设计的认知,进而通过计算机程序设计课程,实现相关技能的掌握。但是以C语言教学为例,传统教学方式更侧重字符的输出,指针操作等教学内容,这就让原本更自由的编程课程,再一次陷入应试教育的怪圈中,影响了学生的学习积极性,降低了教学质量[6]。
3.2 Python语言程序设计教学方式优化策略
首先教师应当在兴趣引导上下功夫,可以让学生通过小程序的开发,调动学生的学习兴趣。教师可以收集学生的兴趣,并让学生先认识Python语言设计的一些小程序,例如在对本校19级软件与信息服务班的教学中,引入“石头剪刀布”“红绿灯”“简易电子钟表”等等,让学生能够对Python语言实现的程序功能做基础认识,方便学生建立对Python语言的认知,从而调动自己动手编写小程序的兴趣[7]。
其次,教师在引领学生认识小程序,调动学生学习兴趣之后,应当保证学习的循序渐进,不能一蹴而就。应当先告诉学生计算机识别语言的机制,让学生明确计算机语言的重点与难点,使学生能够认清Python语言的难度,采用正确的方法构建自己的编程思维。教师首先应当让学生自行完成Python语言程序设计软件的安装,从初始阶段令学生加强自身的体验。教师可以从最基础,也最具趣味性的教学实例,令学生领会Python语言的交互感,例如用数学的点线来绘制图形、“制作简易二维码”,使学生能够认识到程度的趣味性。之后可以让学生在成熟的程序上,输入简单的程序命令,对Python语言程序运行效果进行控制,观察其执行操作,然后教师可以令学生一行一行进行分析,Python语言程序进行拆解,从而令学生真正认识到控制执行效果的语句,从而令学生打消对程序的神秘感和对其难度的恐惧感,建立学习自信心。完成上述教学步骤之后,可以适当让学生在小程序范例上,练习程序的调试与保存,保证整个课堂教学的轻松氛围,提升Python语言程序教学质量[8]。
在具体教学内容上,应当加强对学生的有效引导,正视很多学生为编程零基础初学者的现状,防止将生动有趣的Python语言程序教学,变成枯燥无味的照本宣科。在教学策略关键点上,首先应当将难点尽量分散,不要求学生在起步阶段便掌握大量理论知识。在众多计算机程序语言教材的编写上,很多教材都十分重视程序语言中的常量、变量、运算符、指针等知识点,对赋值与输入输出语句十分看重,这样就会令学生的学习负担直线上升,降低学生的学习热情和学习效率,很多学生学了半天,记得最熟悉的就是“print”,这和原本的教学目标,无疑是南辕北辙的,而且不能满足Python语言程序设计学以致用的教学目的。基于此,教师一定要改变思维,对教学方式加以创新,重视学生思维能力的培养。例如,教师可以让学生用Python语言为同班同学做通讯录,学生便会用Python语言程序去设计通讯录,在通讯录上包含各种信息。其中Python语言的应用准确性和执行效果,可以体现学生自身理论知识,而通讯录具体包含的信息,则完全靠学生动脑思考,争取最大程度增加通讯录的信息量,这就达到了培养学生思维能力的目标。在程序分析上,教师应当带领学生一起,对程序中的常量变量进行分析,以通讯录设计为例,每个学生的姓名、联系方式不同,这些在程序中就是变量。这样就加深了學生对Python语言程序设计的理解[9]。
在教学内容上,还应当加强和生活实例的结合,令学生能有熟悉感,摆脱对Python语言程序设计的空想。教师可以围绕教材的教学内容,在知识点顺序上稍做调整,在教学方式上,可以为学生留出具体的教学任务,激发学生的想象力。学生在这种教学任务驱动下,就会充分发挥自身主观能动性,加强小组间的合作学习,并强化自身的实践,令知识可以学以致用。具体而言,可以围绕教学实例进行任务布置,例如在学习Python语言分支结构程序时,可以让学生开发一个具体功能,例如,开发班级6S管理量化系统,让学生锻炼程序开发的思维。学生为了完成任务,就会去了解学校的班级6S量化细则进行研读,并对于量化的细则进行程序化,然后完成设计并加以完善,之后对程序进行调试,也能在教学中渗透德育教育。教师还应当引导学生举一反三,令学生真正重视程序设计的重要性,对已学知识进行巩固,防止短期内遗忘[10]。
4 结束语
综上所述,当前高校内程序设计课程教学依然不容乐观,在Python语言程序设计教学上,教师应当重视Python语言的优势,在教学方式上循循善诱,摆脱传统僵化教学方式的桎梏,调动学生兴趣,重视学生思维能力的培养,提升教学质量。
参考文献:
[1] 吴元斌,熊江,刘福明,刘井波.软件工程专业编程语言课程群教学中的问题与对策初探[J].电脑知识与技术,2016(9):140-141.
[2] 姚丽敏.翻转课堂在高职计算机基础教学中的应用研究基于慕课的高校计算机基础教学应用研究[J].电脑知识与技术,2016(9):172-173.
[3] 刘琼,史诺,Tran Van Cuong.基于计算思维视角的程序设计教学改革研究[J].自动化与仪器仪表,2015(12):93-94.
[4] 王瑞,唐万梅.“MOOC+翻转课堂”的多元化教学模式研究与实践——以《Python语言程序设计》课程为例[J].软件导刊,2019,18(2):204-207.
[5] 傅骞,解博超,郑娅峰.基于图形化工具的编程教学促进初中生计算思维发展的实证研究[J].电化教育研究,2019(4):122-128.
[6] 葛福鸿,张丽萍.基于iPad Apps的研究、实践和设计框架(iRPD):源起、内涵与教育应用探索[J].远程教育杂志,2018,36(6):19-30.
[7] 朱鹏飞.论Python程序设计语言——对大学生计算思维能力的培养[J].数字技术与应用,2017(3):238-239.
[8] 王亚杰,尹航,李飞,王晓岩,郭建新.面向计算思维的大学计算机基础教育教学改革[J].计算机教育,2017(8):74-77.
[9] 李力.高职院校《程序设计基础》课程改革——基于Python语言[J].电脑知识与技术,2017,13(8):137-138.
[10] 何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读[J].中国大学教学,2010(9):5-9.
【通联编辑:张薇】