本栏目责任编辑:王力
计算机教学与教育信息化
基于培养思维能力的Python 语言程序设计教学
林振德
(厦门信息学校,福建厦门361009)
摘要:随着信息技术的不断发展,中职教育越来越重视对学生计算机动手能力的培养。在计算机相关的各项能力中,程序
设计能力关系到日后软件开发和维护,对学生未来的发展有重要的作用。在中职程序设计教学中会接触到各类计算机语言,例如VB 语言、C 语言等,相较于其他语言,Python 语言更加简洁高效,可以充分调动学生的自主思考能力。但是当前中职程序设计课实际教学情况现实,很多教学方式都未取得理想效果。基于此,中职教育工作者需要重视Python 语言的优势,对Python 语言程序设计教学方式进行创新,提升教学质量。关键词:培养思维能力;Python 语言;程序设计;教学创新中图分类号:TP3
文献标识码:A
文章编号:1009-3044(2020)36-0172-02
开放科学(资源服务)标识码(OSID ):
2016年,教育部发布相关条文,也是首次建议在高校中开展Python 语言程序设计课程,这也侧面证明了Python 语言正在不断受到高校计算机专业的重视,这也令Python 语言程序设计教学课程在高校遍地开花,并逐步向中职学校中渗透,成为炙手可热的教学改革重点。需要注意的是,Python 语言程序设计进入学校课堂,并不是其他计算机语言的简单替代,而是计算机技术发展至今天的一种大势所趋。教育工作者需要深刻认识到Python 语言程序设计教学方式创新的重要性,在对教学案例进行构思和创新时,一定要在Python 语言基础上,结合培养思维能力的教学理念,优化教学方式设计,充分调动学生的积极性,令学生充分感受到Python 语言的乐趣和价值,真正享受Python 语言程序设计的快乐。
1Python 语言优势
Python 语言为一种脚本语言,特征为动态性和面向对象。
相较于其他类型计算机程序语言,Python 语言在可读性和编写的简易性上更直观,因此对于零基础的编程初学者来说,Py⁃thon 语言更容易令学生上手。随着计算机编程语言的不断发展,Python 语言程序设
计教学可以作为计算机编程的入门课程。Python 语言能够使零基础初学者在编程思维方式更加集中,更重视学生自主思维能力的锻炼与培养[1]。
在程序语言特点上,Python 语言主要有以下优势:首先是简洁性。Python 语言相较于其他类型语言更简洁,但却并不影响其自身语法逻辑的完整性,在程序开发上,可以进行语句级,以及面向过程与对象的开发,并且无须像C 语言一样定义变量类型,这样便能令程序可读性得到提升。和其他语言相比,Py⁃thon 语言在算法与程序逻辑意图的表达层面,体现得更加直观。
其次是高效性。Python 语言在编写上更加高效,同样功能的程序计算任务,相较于C 语言,Python 语言在代码行数上,大概只是C 语言的1/10。这也令Python 语言的优势更加明显,也就是程序功能越复杂,Python 语言为程序员节省的工作量就越
多,增加了程序员的编程效率,可以全面缩短程序从开发到实现的时间,节省人力物力成本投入[2]。
最后是生态性。截至2017年底,Python 语言在第三方库的构建上,已经超过12万个,几乎在计算各个领域都有涉猎,加强了功能的简洁性,进而提升了编程效率。
2程序设计课堂教学现状
2.1中职学生计算机基础参差不齐
由于初中教育阶段的信息课程只是浅尝辄止,旨在让学生
认识编程的魅力以及实现方式,并没有真正培养起学生的编程自主思维,因此在真正接触计算机语言编程入门课程时,学生往往不具备较强计算机编程思维。而且由于学生义务教育,各个学校对信息技术教育重视程度不够,因此坐在一个班级的学生,也无法保证计算机编程能力的统一。这就导致一开始的计算机程序设计教学事倍功半,即使学生最开始对程序设计抱有浓厚的兴趣,但是随着知识的深入,还是会导致学生无法真正领会课堂上的知识,课堂会变得枯燥无味,这会对学生的学习积极性造成打击,进而影响学习效果[3]。2.2传统教学不重视思维的培养
尽管素质教育改革,更重视学生的教学主体地位,注重对学生自主思维能力的培养,但是义务教育阶段因为有考试成绩的压力,因此学生在学习方式上总是以老师为重点,亦步亦趋。教师也更加重视学生应试能力的培养,而没有真正重视培养学生的自主思维。在课堂上,学生往往只是按照教师的参考程序原样输入运行,运行成功之后却并未真正知其所以然,也没有对程序进行拆解,分析每一个语句的功能,这样就导致学生无法靠自己的力量编写出逻辑和功能完善的程序,这也正是程序语言教学的大忌。学生如果不能真正按照题目要求设计程序,便不能算真正学会了程序设计课程,因此在教学方式上有必要进行创新,令现有问题得到改善[4]。
收稿日期:2020-06-25
作者简介:林振德(1983—)男,福建厦门人,助理讲师,本科,主要研究方向为计算机教学。
172
计算机教学与教育信息化
本栏目责任编辑:王力Computer Knowledge and Technology 电脑知识与技术
第16卷第36期(2020年12月)
3程序设计教学案例新思维
3.1教学案例新思维背景
当前社会背景,正是计算机信息网络技术如火如荼发展的大数据时代,而计算机信息技术的发展,离不开软件开发和程序设计,这也是计算机程序设计课程广泛开展的现实意义。基于此,计算机计算思维,也和实证思维、逻辑思维上升到了等量齐观的位置,成为思维范式的第三种。随着社会上层出不穷的计算机技术的开发,物联网、大数据、云计算、VR 技术、人工智能等新兴词汇,成为人们的口中热词,也从侧面证明了,各种新兴计算机技术人们的生产生活产生了潜移默化的影响。这也体现了人们对计算机技术的重视程度,以及在计算机技术开发革新上的不懈追求,人们对计算机程序设计的认知,逐渐从理论知识求证,转向解决生活中的实际问题,增强了计算机程序设计与开发的现实意义[5]。
这种思维也对中职程序设计教学课程产生了一定影响,在对学生计算机程序设计的能力培养上,更强调学生程序设计自主思维的提升。随着互联网空间的不断发展,学生接收知识的渠道来源逐渐增多,可以通过各种学习网站加强那个对程序设计的认知,进而通过计算机程序设计课程,实现相关技能的掌握。但是以C 语言教学为例,传统教学方式更侧重字符的输出,指针操作等教学内容,这就让原本更自由的编程课程,再一次陷入应试教育的怪圈中,影响了学生的学习积极性,降低了教学质量[6]。
3.2Python 语言程序设计教学方式优化策略
首先教师应当在兴趣引导上下功夫,可以让学生通过小程序的开发,调动学生的学习兴趣。教师可以收集学生的兴趣,并让学生先认识Python 语言设计的一些小程序,例如在对本校19级软件与信息服务班的教学中,引入“石头剪刀布”“红绿灯”“简易电子钟表”等等,让学生能够对Python 语言实现的程序功能做基础认识,方便学生建立对Python 语言的认知,从而调动
自己动手编写小程序的兴趣[7]
其次,教师在引领学生认识小程序,调动学生学习兴趣之后,应当保证学习的循序渐进,不能一蹴而就。应当先告诉学生计算机识别语言的机制,让学生明确计算机语言的重点与难点,使学生能够认清Pyt
hon 语言的难度,采用正确的方法构建自己的编程思维。教师首先应当让学生自行完成Python 语言程序设计软件的安装,从初始阶段令学生加强自身的体验。教师可以从最基础,也最具趣味性的教学实例,令学生领会Py⁃thon 语言的交互感,例如用数学的点线来绘制图形、“制作简易二维码”,使学生能够认识到程度的趣味性。之后可以让学生在成熟的程序上,输入简单的程序命令,对Python 语言程序运行效果进行控制,观察其执行操作,然后教师可以令学生一行一行进行分析,Python 语言程序进行拆解,从而令学生真正认识到控制执行效果的语句,从而令学生打消对程序的神秘感和对其难度的恐惧感,建立学习自信心。完成上述教学步骤之后,可以适当让学生在小程序范例上,练习程序的调试与保存,保证整个课堂教学的轻松氛围,提升Python 语言程序教学质量[8]。
在具体教学内容上,应当加强对学生的有效引导,正视很多学生为编程零基础初学者的现状,防止将生动有趣的Python 语言程序教学,变成枯燥无味的照本宣科。在教学策略关键点
上,首先应当将难点尽量分散,不要求学生在起步阶段便掌握
大量理论知识。在众多计算机程序语言教材的编写上,很多教材都十分重视程序语言中的常量、变量、运算符、指针等知识点,对赋值与输入输出语句十分看重,这样就会令学生的学习负担直线上升,降低学生的学习热情和学习效率,很多学生学了半天,记得最熟悉的就是“print ”,这和原本的教学目标,无疑是南辕北辙的,而且不能满足Python 语言程序设计学以致用的教学目的。基于此,教师一定要改变思
维,对教学方式加以创新,重视学生思维能力的培养。例如,教师可以让学生用Py⁃thon 语言为同班同学做通讯录,学生便会用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.
(下转第176页)
173
本栏目责任编辑:王力
计算机教学与教育信息化
Computer Knowledge and Technology 电脑知识与技术第16卷第36期(2020年12月)
表5两班PHP
教学之后教学满意度的对比
图4教学满意度统计图
通过上面的分析统计结果可以看出试验班学生教学满意度明显高于对照班。
5总结与讨论
在PHP 程序设计教学中采取PBL 教学模式的措施:提出问题,教师依据大纲的要求,选择合适的案例;分析问题,将该案例教学内容分解为几个小问题,明确任务目标;解决问题,通过收集的资料及小组讨论分工协作的方式到问题的答案;结果评估,展示和评价结果。
通过统计学处理分析,PHP 程序设计教学中采取PBL 教学模式在培养学生学习兴趣、团结协作、信息搜集处理、发现问题、分析问题及解决问题等方面能力明显优于传统教学模式。学生由传统的被动接受教师讲解知识变为结合实际问题主动探索新知,构建出一套全新的程序设计教学体系建设方法,值得推广。
参考文献:
[1]刘景福,钟志贤.基于项目的学习(PBL)模式研究[J].外国教育研究,2002(11):18-22.[2]李海龙,邓敏杰,
梁存良.基于任务的翻转课堂教学模式设计与应用[J].现代教育技术,2013(9):46-51.[3]杨燕.“互联网+”背景下翻转课堂的研究与实践[J].中国职业技术教育,2017(17):77-79.
[4]朱少民.软件测试——基于问题驱动模式[M].北京:高等教育出版社,2017.
[5]Prince M.Does Active Learning Work ?A Review of the Re⁃search[J].Journal of Engineering Education,2004,93(3):223-231.
[6]庄淑梅.微课在护理本科实验教学中的应用[J].中华护理教育,2016,13(1):30-33.元斌
[7]谢瑛,刘惠林.改良PBL 教学方法在康复学专业临床实习教学中的应用研究[J].中国康复医学杂志,2015,30(12):1272-1274.
[8]李巧梅,许丽丽.肝胆外科临床实习带教中应用PBL 与LBL 结合模式的实践探析[J].中国继续医学教育,2016,8(6):5-6.
【通联编辑:王力】
(上接第171页)
方特企业相结合,聘请企业老总为战略顾问,采用双师制,进行育训结合,引入企业工程师进行实践,通过企业实际问题的选择订单式培养高职学生的实操应用能力。
典型的案例采用端对端的业务流程演示和实际的操作训练,采取多学科交叉的模式,可以结合互联网金融、交通运输、工业互联网、物流管理、运营商和政府甚至传媒等多个领域,让学生真正能够理解大数据行业背景及企业在技术方面的真正需求。
5结束语
本文根据高职教育的特点,在“职教20条”建设背景下进
行大数据课程体系的改革,从课程建设、实训建设等方面入手,结合系统化定位、系统化课程,系统化师资结合实训能力培养、实训项目开发、实训项目运行和和实训典型案例形成了“职教20条”建设背景下的大数据课程体系,具有符合时代要求、实践能力强、可及时扩展和更新、集成性强和可量化的特点。
参考文献:
[1]周建松,陈正江.高职院校“三教”改革:背景、内涵与路径[J].中国大学教学,2019(9):86-91.
[2]姚琳,石志国.人工智能课程体系与教学方法研究[J].中国大学教学,2019(10):19-22.
[3]胡天石.高校创新创业教育人才培养体系研究——评《高校协同创新机制与人才培养模式研究》[J].教育发展研究,2020,40(7):2.
[4]丁飞己.工科本科生问题解决能力及其影响因素研究[J].中国高教研究,2020(5):17-23.[5]郭宝龙.“双一流”建设背景下IT 类专业课程体系改革[J].中国大学教学,2020(1):9-12.
【通联编辑:谢媛媛】
(上接第173页)
[6]葛福鸿,张丽萍.基于iPad Apps 的研究、实践和设计框架(iR⁃PD):源起、内涵与教育应用探索[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.
【通联编辑:张薇】
176