“互联网+”时代程序设计课程教学改革研究与实践
2024-12-06宿营谢承旺
[摘 要] “互联网+”时代改革程序设计课程教学方法与手段,可以提高学生学习程序设计课程的兴趣,帮助学生解决在学习过程中遇到的困难,有助于学生高效完成程序设计课程的学习。通过突破传统意义上的教学模式,将教学理念和环节贯穿于课前、课中和课后全过程,引导学生预习、学习及复习,以熟练掌握程序设计知识和技能。
[关 键 词] “互联网+”;程序设计;教学模式;教学改革
[中图分类号] G642 [文献标志码] A [文章编号] 2096-0603(2024)30-0097-04
互联网技术的迅猛发展正深刻地改变着人类社会,其在各领域的应用融合与发展促成了“互联网+”的蓬勃发展。利用互联网技术辅助教学活动的开展,使教学过程更加生动,师生之间的交流及沟通变得更加高效。“互联网+”时代,程序设计课程的教学改革将突破传统意义上的教学模式,将与教学相关的活动贯穿于课前、课中和课后的各环节,以引导学生预习、学习和课后巩固,使学生熟练掌握课程知识和编程技能,促进教师思考如何将讲授内容合理分配在不同的教学环节和阶段,以利于学生理解和掌握课程知识点,提高技能。
一、程序设计课程现状分析
在多年的程序设计课程教学中,发现学生大多认为课堂上教学内容过多,理解和掌握程度不够,课后程序编写困难,遇到问题难以解决;实验课上一般较难完成实验内容,需要利用课后时间补完实验。对学生而言,他们通常认为作业练习的任务量太大,需要花费太多的时间和精力;对教师而言,他们担心作业量小,而学生练习不够,编程基础打得不牢等。长此以往就形成了学生叫苦、教师不满的局面。
在日常教学中,很多大一新生之前没有接触过程序设计,对于编程还很陌生,经常是听教师讲课能明白一些,一到实际写代码时就无从下手,尤其是写出的代码看似没有问题,可计算机就是提示错误,而且自己花了很多时间还找不出问题,从而降低了学习程序设计的兴趣,且随着问题积累越来越多,教师讲的内容就完全听不懂了,也就没有兴趣再学习。甚至有的学生在几年的大学学习中,提到编程、程序设计,觉得自己一直都没学明白,无法选修和程序设计有关的课程,导致学生的专业方向过窄或将来从事的专业领域受限。
还有一种情况是,一些大一新生在中学阶段就已接触过程序设计,而且部分学生还有一定的基础。在长期计算机程序设计的教学中,我们发现很多学生在学习伊始对程序设计类课程很感兴趣,他们能够认真完成练习和作业,也能在实验课上认真编写代码和调试代码。但随着课程学习内容的增多、知识点难度加大,很多学生的学习热情和兴趣逐渐衰减。究其原因,这些学生的学习热情很大程度上被程序设计学习中遇到的各种困难不断蚕食。程序运行的正确结果不仅要求程序无语法错误,而且要求程序逻辑结构正确。
这就要求学生不仅要熟悉程序设计语言,而且还要对解问题的算法了然于胸。而这些如果仅靠课堂教学过程中的知识传授以及实验课的上机练习将是很难达成的。尽管一些学生较早就接触过程序设计,但他们没有坚持下来,后期逐渐失去了学习程序设计的兴趣和信心[1]。因此帮助学生找回学习程序设计的兴趣、热情和信心将是教师需要认真思考和解决的问题。
二、程序设计课程教学改革思路
苏霍姆林斯基指出:学生的许多问题,比如厌学、精神不振等,都是由于学生没有看到自己的力量与才能造成的,学生学习的最大苦恼,是看不到自己的学习成果,得不到应有的回报。那么,在程序设计课程教学中如何解决学生因看不到学习成果而厌学的难题,我们基于“互联网+”时代背景,根据学生在实践中学习程序设计课程实际,概括了两个关键问题。
(一)“互联网+”时代如何激发学生对程序设计的兴趣和热情
首先,利用互联网技术平台将课前预习内容推送给学生,让学生对即将讲授的内容有初步了解,并从中发现自己难以理解的知识点,以利于他们在课堂上重点关注这些知识点。同时,教师也可以通过平台了解学生的预习情况,从而有利于在课堂上进行有针对性的讲授。利用互联网技术丰富教学手段和课堂教学内容[2]。例如,采用项目驱动、翻转课堂、目标问题导向式教学方法等提高学生的学习兴趣,提升教学质量与效果。需要指出的是,程序设计课程的教学案例设计不能生搬硬套,不能只是简单地罗列一些知识点,更重要的是,需要选择一些代表性的和有趣的案例引导学生分析,展示和剖析班上学生优秀的编程范例,让部分畏难学生看到程序设计其实并非难以企及,通过自身努力和锻炼也是完全可以掌握的。
其次,设计具有挑战性和创造性的项目,让学生在实践中体验程序设计的乐趣。可以组织编程比赛、项目展示等活动,激发学生的竞争意识和学习动力。
另外,鼓励学生尝试新的编程技术和工具,激发他们的创新意识和实践能力,让他们在实践中发现编程的乐趣。还可以为学生提供专业的导师和指导,帮助他们解决学习中遇到的问题,激发他们对程序设计的兴趣和热情。
(二)“互联网+”时代如何运用平台提高学生的学习效率
首先,合理选择作业提交和批改平台,利用好作业练习,使学生的学习达到事半功倍的效果。程序设计的关键点便是语法,每一门程序设计语言都有自身的语法规范。因此,需要选择与课程内容密切相关且覆盖知识面广的作业练习[3]。这样,既有利于检验和巩固重难点知识,也可适当拓展和拔高知识点,开阔学生思路和视野。为方便教师批改作业以及期末统计学生平时成绩,选择一个好的平台是非常重要的。比如,我们在程序设计课程中采用了华南师范大学的砺儒云平台,操作方便,功能丰富。
其次,利用好实验课,提升学生的编程实践能力。在长期的教学实践中发现,频繁出现的语法错误使部分学生逐渐失去了编程的兴趣,因此,利用实践教学帮助学生查找并纠正语言上的错误,有利于激发学生学习程序设计课程的兴趣[4]。在实验课上也可以布置一些具有启发意义的练习题目,比如阅读代码、了解代码功能等,增强学生学习的获得感。
最后,利用智能辅导平台,为学生提供个性化的学习辅导和指导。有些AI平台可以实现对学生程序代码的正确性检验,并给出修改建议,还可以通过智能算法分析学生的学习情况,为其提供针对性的学习建议和指导,帮助学生更高效地学习。
三、程序设计课程教学实践
2022—2024年,以华南师范大学汕尾校区2021级、2022级、2023级物联网工程专业的Python程序设计课程为例,开展了教学改革实践。具体实施如下。
(一)课前采用“雨课堂”平台,通过微信将课程PPT推送给学生
通过“雨课堂”平台,学生可课前预习即将学习的内容。教师可在授课的PPT中加入预习题,设置好答案,学生答题后即可获得答案,鼓励学生思考问题,准备好提问或讨论的话题,促进课堂上的互动和深入学习。在推送课程PPT的同时,可以在微信上设置讨论群或留言板,方便学生在课前、课中或课后进行互动交流,解答疑问,分享想法。教师可在微信上获知学生对每道题作答的结果,这样有利于教师了解学生的预习情况,以便在课堂上针对错题较多的知识点着重讲解。通过“雨课堂”平台,学生无须额外安装软件,他们可通过微信阅读PPT和参考答题,而且可以提问、讨论以及与教师交流等。在课堂上结合推送的PPT内容展开深入讨论、案例分析、实践操作等活动,帮助学生更好地理解和应用知识。
(二)课堂上采用翻转课堂及目标问题导向式教学方法
例如,通过照片随机点名营造课堂学习气氛和热情,让学生了解程序在教学及工作中的应用,从而对程序设计感兴趣。在教学内容的设计上,利用常见问题导入,引导学生思考,将讲台交给学生,让学生讲解自己是如何编写程序解决问题的,这样更能激发学生群体的学习兴趣,让学生明白程序设计并非难事。对编写程序优秀的学生,教师可请其在课堂上展示作业,并让学生为大家讲解程序代码及说明在编写程序时遇到了哪些问题以及是如何解决的,分享编程经验。鼓励学生提出问题、分享观点,促进深度学习和思考,引导学生学会提出问题、分析问题、解决问题,培养他们学习的主动性和创新意识。
(三)精心挑选作业或实践案例
为了增强编程题目的知识性和趣味性,我们精心挑选作业或实践案例,如猜数字、随机点名、生成扑克牌和银行存取款等,这样学生对作业题目感兴趣了,才会想尽办法完成作业,有的学生还会想出不同的解决方案,且相互比较谁的方法更高效。
(四)应用网络平台高效互动
为了了解学生对某个问题或话题的看法,教师可以利用在线投票工具,在课堂上进行实时投票,促进学生积极参与,激发讨论与思考。为便于作业提交和批改,我们采用华南师范大学的砺儒云平台,学生也可及时看到教师对作业的批改和反馈,且随时查阅教师分享的文档或资源。为了增强学生课堂的活动参与度,将考试成绩分为三个部分,平时作业及测验、实验成绩及期末试卷考试成绩。教师随堂可以发布小测验,方便随时检验学生的知识掌握情况;通过考勤模块,还可实现打卡上课,增强教学的互动,并且教师随机可以统计分析学生的作业完成情况、出勤情况、平时测验情况,及时调整教学方法或手段,以提高教学效果,在期末可以更客观地给出学生的平时成绩。另外,我们也可以使用清华大学的清览题库,方便学生作业的自动化评分。对于编程题,也可以实现自动化检验,且有友好的输入提示及输出提示,让学生在线编程得到更多的提示信息,以解决编写代码时遇到的问题。
(五)建立互助群及为每一名本科生分配专业导师
课后学生在完成作业遇到无法解决的问题时,通常会有很大的挫败情绪,从而影响学习。为此,在学期初,教师为学生创建学习群,有学生提出问题时,教师建议其他学生及时帮助解决,这样也促进了学生相互学习,一起成长;如果学生解决不了问题,教师可以帮助解决,且可以在下次课上讲解,不让学生因为一时问题解决不了而影响后面课程的学习。另外,在每名学生入学后,学校将公布各专业各学科教师的研究方向,且允许学生选择一名教师作为自己学业上的导师,导师将为学生提供专业的指导,帮助他们解决学习中遇到的问题,激发他们对程序设计的兴趣和热情。
(六)允许学生课后使用AI平台,帮助解决编程问题
允许学生课后使用AI平台来帮助解决问题,以提高学生的学习效率和解决问题的能力。AI平台可以根据学生的学习情况和需求,提供个性化的学习内容和辅导建议,帮助学生更好地理解知识点和解决学习难题。学生在使用AI平台时可以获得即时的反馈和指导,帮助及时纠正错误、理解知识点,提高学习效果。AI平台可以提供丰富多样的学习资源,包括视频、练习题等,帮助学生全面、系统地学习和复习知识。但是针对某一课程的AI平台还是比较少,需要授课教师打造专用的程序AI工具,则可更好地匹配学生学习的内容,且更加精准地输出给学生。允许学生使用AI平台的同时,也要提醒学生不要过于依赖AI工具。鼓励学生在遇到问题时主动思考、探索解决方案,而不是急于依赖AI工具给出的答案。虽然AI工具可以帮助我们提高工作效率和解决问题,但过度依赖AI工具可能会导致我们失去自主创造的意识。所以,在使用AI工具的过程中,我们应保持独立思考的能力,不断学习和提升自己的技能,而不是完全依赖机器的帮助。只有保持自主创造的意识,才能更好地应对各种挑战和问题,实现个人的成长和进步。教师也可以在教学中不断强调这一点,引导学生正确使用AI工具,发挥自己的能量和潜力。
(七)实验课上根据不同的学习阶段采用不同的编程软件
根据学习阶段采用不同的编程软件,可以更好地促进学生的学习和发展,让他们在不同阶段都能够得到适合的指导和支持,从而提高学习效果并激发学生的学习兴趣。以Python程序设计为例,其分为基础语法学习、语法提高和模块应用三个阶段。我们根据不同的学习阶段分别配置了不同的编程软件, Python IDLE安装容易,使用简单,比较适合初学者,学期初,先让学生使用这个软件。对基础语法已经熟练掌握之后,在学习函数及模块时涉及多个文档互相调用,即可使用PyCharm软件。PyCharm界面复杂,但功能丰富,且可添加插件,适合学期中多文档编程使用。在学期的最后阶段使用Anaconda,便于第三方库及数据分析模块的应用,学生可以直观地看到数据及数据可视化后的图片。根据不同阶段适当换用功能更高级编程软件,不仅适合教学内容,而且有利于学生掌握不同软件的使用方法,鼓励学生尝试新的编程技术和工具,激发他们的创新意识和实践能力,让他们在实践中发现编程的乐趣。
(八)鼓励学生参加程序设计大赛
参加程序设计大赛对学生有很多好处,可以提高他们的编程水平、解决问题的能力和团队合作能力,同时也有助于激发学生的学习兴趣和培养他们的创新意识。为了提高学生的程序设计能力,学校可以在课后举办各种形式的比赛,并且为参赛学生提供必要的资源支持,如计算机设备、编程软件等,确保他们有良好的学习和比赛条件,并且为有兴趣参加程序设计比赛的学生提供专业的培训和指导,帮助他们提升编程技能、解题思路和团队合作能力。鼓励学生在团队合作中互相交流、分享想法和经验,共同解决问题,促进彼此的成长和进步。如“程控汽车轨道行驶”“创新应用开发比赛”“算法设计竞赛”,参加的学校程序设计比赛,为学生后期参加省级、国家级的各项大赛打下基础,学生在比赛中得到了锻炼,积累了经验,提高了兴趣,会更加热爱自己的专业。
四、结束语
程序设计课程的教学改革实践表明,在“互联网+”时代,将传统学习方式的优点和在线学习的优势相结合构建颇具特色的教学模式,有利于促进教师教学理念、教学模式的转型以及教学能力的提升,使教师在传统教学过程中的主体角色转变成为学生学习的引导者和协助者。此外,这种教学模式也有利于激发学生的积极性、主动性和创造性,培养学生分析问题和解决问题的能力,逐渐具有批判思维和创新思维的能力[5]。经过教学改革实践,学生课堂上的参与度不断提高,由原来的被动听课转变为主动学习,从原来简单的编程模仿者变成程序设计的探索者。这种转变不仅有助于提高学生的学习效果,还有助于培养学生的创新能力和解决问题的能力。作为教师,应该继续鼓励学生主动参与课堂,提供更多的启发性问题和案例,引导他们探索和实践,激发他们的学习兴趣和动力。同时,也要给予学生足够的支持和指导,帮助他们克服困难,不断提升自己的能力。这样,学生才能更好地适应未来社会的需求,成为具有创造力和竞争力的人才。
参考文献:
[1] 梁伟,郭一丁,倪倩倩.新时代大学生生态文明教育内容和价值探析[J].教书育人(高教论坛),2020(15):16-19.
[2] 王昱沣,董洋,叶红.高校专业选修课教学质量保障体系的研究和实践[J].教育现代化,2019,6(97):167-169.
[3] 理查德·E.梅耶.应用学习科学——心理学大师给教师的建议[M].盛群力,丁旭,钟丽佳,译.北京:中国轻工业出版社,2017.
[4] 钟秉林.一流本科教育是“双一流”建设的核心任务和重要基础[J].中国高等教育,2017(19):16-17.
[5] 钟敏,张学辉,郑立根.“互联网+”情境下程序设计课程教学改革实践[J].教育教学论坛,2019(9):127-128.
◎编辑 尹 军