APP下载

基于“对分课堂”的高级语言编程课程设计教学改革研究

2023-05-08杨建文周涛

电脑知识与技术 2023年9期
关键词:对分课堂课程设计单片机

杨建文 周涛

关键词: 对分课堂;教学模式;高级语言编程;课程设计;单片机

1 引言

“对分课堂”是复旦大学教授张学新老师在2014年提出的具有中国特色的原创性课堂教学模式。“对分课堂”将传统填鸭式的满堂灌课堂分成两个部分,一部分让教师进行知识点的精讲,另一部分让学生针对知识点进行讨论。其实质是在教师与学生讨论之间引入一个心理学上的内化环节[1]。“对分课堂”让学生对教师所讲内容以及知识点留白内容消化吸收之后,进行有准备的讨论。该“对分课堂”模式在张教授的努力推广之下,在我国大中院校甚至中小学都取得了巨大成功,真正实现了讲授法与讨论法两种教学模式的有机融合。讲授是为了基于独立思考的内化,而内化的成果则通过社会化学习在讨论中得到展示、交流和完善,促进了知识体系传递的效率,同时也充分调动了学生学习的主动性[2]。既能避免单纯讲授法在实践教学中的缺陷,又能规避简单讨论法的各种弊端。经过学生内化环节,将他们在课堂教学过程中学到知识点承上启下、融会贯通,深化了课堂教学的理论深度和知识广度。从“对分课堂”教学模式创立以来,国内各类层次的学校都对其进行了大量的理论研究和实践教学应用[3]。

目前“对分课堂”在高校编程实践类教学中的应用较少,很多文献都是针对实验教学而应用“对分课堂”教学方法的研究。陈依春等[4]基于西藏民族大学生理学实验教学中实施对分课堂教学实践,总结“对分课堂”教学模式让学生在实验中学有所成、学以致用,提高了学生的素质和能力。胡代弟[5]尝试将“对分课堂”应用在“传感器原理与应用”课程中,结合超星学习通平台实现线上线下混合教学,通过对学校2019级自动化1班和3班的对照教学改革实践,得出了“对分课堂”的实施有利于学生对知识的掌握,从知识、能力和素质三个维度实现对学生的培养。张刚等[6]将“对分课堂”与“数字信号处理”教学有机融合,在该模式下通过学生课前预习、课堂讲授、隔堂讨论完整地实现了“对分课堂”教学环节,使学生主动在各个环节展现自己的学习积极性,从而提升了综合创新能力,学习效果显著提高。从教师实践“对分课堂”的经验中,高级语言编程课程设计课程组也尝试将“对分课堂”教学模式引入到高级语言编程课程设计的教学过程中,借助于單片机项目的编程实践,巩固学生所掌握的C语言程序设计知识,提高他们的编程应用能力。

2 高级语言编程课程设计课程特点及教学现状

2.1 高级语言编程课程设计的课程特点

根据学校应用型人才的培养办学定位目标要求,高级语言编程课程设计是专门为高级语言程序设计课程设置的一门课程设计课程,也是我院大一新生必修的核心基础课程。在整个计算机类和电子信息类学生的所有课程中起到重要的承上启下的功能。在这门课程设计课程中,课程组以51单片机开发板作为课程设计的应用平台,以点亮LED、流水灯、蜂鸣器报警、七段数码管、电子秒表、红外遥控、直流电机驱动、继电器驱动、舵机驱动、雨点检测器、振动传感器、烟雾传感器、超声波测距、串口通信等硬件驱动项目作为C语言的编程应用目标。培养学生基于C语言的硬件驱动编程能力、代码调试能力、硬件电路的搭建和电路调试能力、阅读器件英文说明文档能力以及项目拓展能力。这是一门综合考查和培养学生动手能力且实操性非常强的课程设计课程。

2.2 高级语言编程课程设计的教学现状

高级语言编程课程设计课程以前采用传统的讲授法,主要是首先课堂上由教师详细讲授每个项目涉及的C语言和C51单片机的寄存器基础知识点。然后再对项目给出的源代码进行逐语句解析。之后再要求学生基于C51单片机开发板上复现例程给定的项目实验效果。最后教师根据已经讲授的C语言和单片机寄存器知识点,提出拓展本项目中单片实现的功能,学生分组进行项目从源代码编程、硬件电路搭建到最后调试和实验报告撰写。师生之间缺乏有效的交流渠道和环节,同时因为项目驱动式教学,中间过程同学们都会遇到各种各样的技术问题,教师疲于解决同学们的各种问题,导致整个教学时间分配不合理,不能照顾所有同学的关切。以致出现有部分同学完全复制例程代码,进行简单的项目验证性实践,没有对项目所涉及的知识点进行深入探讨和研究。因此,学生无法从每一个课堂所完成的项目中,衍生或拓展出其他类似或有创意的项目。学生缺乏学习主动性,逐渐对课堂上老师所布置的任务不再感兴趣,动手能力也得不到提升,最终出现只是应付性地完成书本项目。总的来说,传统的讲授式教学模式,不再适应如今现代化的教学任务和当代大学生的思维方式。那么作为教师首先要思考如何调动学生的主观能动性和自我学习的意识,让学生主动参与到课堂教学的各个环节,变被动接受知识到主动学习知识、研究知识、索书本以外的知识。因此“对分课堂”教学模式就是一种很好的教学改革的尝试。

3 教学目标调整

教学过程中,所有的教学环节都应以教学目标作为导向,所设计的各种教学环节,也应该围绕实现这个教学目标而进行。在课程的教学大纲中,设立本课程的教学目标,学生通过教学过程中的每个环节的实施,最终学有所成。以学生为中心,知识、能力和素质三个维度的教学目标应该贯穿在整个教学环节中。对于高级语言编程课程设计这门实践课程,其课程设计的目标就是让学生将《高级语言程序设计》这门课中的各个知识点融会贯通,应用于对单片机硬件电路的驱动设计过程中。对软件驱动硬件的控制系统中遇到的各种软硬件问题,让学生学会分析问题、思考问题、解决问题,做到真正的理论与实践紧密结合,这也是编程类课程的特色。让学生从一个项目完整地实施过程中,总结项目的设计功能意图,巩固所需基础知识的同时思考能否进行进一步的功能扩展和功能应用延伸,这是培养创新型人才的应有之义。在这个过程中,同时培养学生的综合工程素养、创新意识和团队协作观念。结合课程教学大纲和专业人才培养方案的要求,为课程设计中每个项目明确知识点重、难点以及知识点的留白比例,学生通过自学、讨论、内化达到对知识点完全灵活掌握的程度,最终让学生愿意学、主动学、会学习、会归纳、会演绎,成为高素质应用型人才。

4“对分课堂”教学模式实施

“对分课堂”具体操作流程是由教师课堂上讲授(presentation) 、学生课内外内化吸收(assimilation) 和学生课内讨论(discussion) 三个环节组成,因此“对分课堂”也称为PAD课堂[6-7]。针对课程设计这种实践性强的课程,课程组的环节设计主要出发点是巩固C语言知识点掌握、加强学生动手能力锻炼、强化自学能力培养和培养学生团队协作精神[8]。

4.1“对分课堂”的教学模式设计

4.1.1 课程预习

将班级学生按学习能力和学习态度进行优良中差合理搭配,分成4~5人的学习实践小组,便于线上和课堂上的讨论和交流(一般按照ABBCD的人员进行组合,其中A是优秀;B是良;C是合格;D需要进步)。在每个课程实践项目的正式授课前,课程组会发布预先要精讲的内容PPT,包括老师们划定的重难点讲授内容,推送给学生,同时会链接一些相关参考视频和博客供学生进行知识点预习以及项目可能功能拓展的方向。每个项目章节,对应了许多C语言需要掌握的基础知识点和单片机寄存器编程知识点。同学们可以通过超星平台向老师反馈对本项目教师所讲内容的兴趣点以及自己意见和建议。因为本课程是按4~5人来进行分组学习的,为了更好地凝聚同学们的观点,每组组长需要提前收集组员的各种建议,以及针对每个实践项目,小组有什么其他功能延拓设想和创意或实施方案,然后提前发送给任课老师,作为小组课堂考核依据。当然也可以凝聚一些老师无法在线上简单或及时回答的问题,让其他小组的同学来共同解决或经验分享。最后,教师根据学生课前预习活动的活跃程度对小组和个人进行平时表现打分,促进同学在项目知识讲授前进行充分预习。

4.1.2 隔堂讨论

在完成了本节课的线上考勤工作后,并在正式精讲本节课项目知识内容之前,针对上一个项目同学们完成情况作一个系统的总结,并对重难知识点进行简短回顾。这两个环节的时间,教师需要严格控制在10分钟以内完成。然后针对教师所提到的上一项目的知识点和项目完成情况点评,结合小组和学生自己的“闪闪亮(学生学会的知识点和编程技能)”“考考你(学生自己获取的有深度的知识和技能)”以及“帮帮我(学生自己不明白需要别人帮忙解答的问题)”内容展开小组的内部充分讨论和交流。小组内组长作为主持,小组成员逐一发言,组长记录讨论过程一些重要的内容。然后是教师随机参与、小组间自由提问和教师总结三个环节。小组成员之间的内部讨论的主要内容是学生针对自己在知识内化环节和项目完成过程中学到的知识或还没有掌握的知识和技能,在小组内部进行分享、讨论和内部技术切磋。教师随机参与是指教师在小组的讨论活动中随机参与某小组的讨论活动,并和学生进行相互地提问和解答以及交流。小组间自由提问是由每组派代表向其他组阐述本小组对项目知识点的解析,并可以提出问题让其他组同学进行解答或分享。在这个环节,教师对于表现良好的小组进行课堂表现加分。最后是教师总结部分,针对每组代表的发言或提出的问题,教师进行答疑解惑,并对每组同学提出的问题、项目方案和解决方法进行简短的点评或补充。

4.1.3 知识精讲

课堂知识精讲环节大致分为课前考核、知识精讲、自学内化、课堂项目实践、课堂提问五个环节。利用超星学习通进行线上倒计时考勤签到,避免了传统花名册点名考勤方式费时的弊端,同时也让同学们在手机端对考勤结果有清晰地了解,督促学生形成良好的时间观念。这种考勤方式提高了整个课堂运行的效率,也为后续课堂活动提供了充足时间。知识精讲部分也是“对分课堂”教学模式中重要的一环。教师根据课前同学们自学课程内容后的超星学习通反馈,选择大多数同学无法用自学内化方式理解的知识作为精讲重点。精讲就是教师用10~20分钟言简意赅地把本项目中重点的、易错的、难懂的知识以打包的方式在课堂上精彩呈现出来。抛弃了传统讲授教学方法主要将所有知识点、单向灌输给学生,让学生无法抓住知识的重难点,学习效果差且耗时和费力。在对知识点精讲同时,一定要给项目知识点留白,告诉学生哪些知识点老师没有提及,在后面自学内化和项目实践过程中务必去继续思考和理解。自学内化环节留出课堂的5~10分钟让学生消化老师刚才所讲的知识点和留白的知识点,自我思考哪些知识点还没有完全理解、哪些知识点自己还有其他方面的思考以及针对本项目自己可以扩展出什么样的新功能等。自学内化和课前预习的功能一样,就是培养学生主动自学的能力,也是大學教育“授人以鱼不如授人以渔”核心宗旨之一。这一环节一定要留给学生足够时间,因为我院学生的学情是大部分学生已经不太爱从书本中探求知识了,但要改变他们这些不良习惯需要环境的配合和时间的累积。这个环节也是“对分课堂”教学模式把被动式教学变成主动式学习的最重要的组成部分。第四个环节是课堂项目实践,根据书本上项目代码首先是复现项目案例中的单片机运行效果,其次是根据老师课前布置的功能拓展目标和小组讨论的功能实现目标进行项目目标功能实现。这个环节完全由学习小组共同协作完成。教师只是检查每组最终功能实现的效果,并根据效果实现的难易程度进行小组打分。最后一个环节是课堂提问,在大部分小组完成代码编程、编译下载和调试、功能实现之后,给同学们留出向老师和同学提问的机会,共同解决一些对知识理解和项目实践中遇到的技术问题。

4.2“超星学习通+录课”的教学方法

对于课堂上教师所精讲的内容,每个项目的知识点精讲的环节,课程组都安排教师进行课程内容PPT讲授的录屏,然后通过超星学习通平台推送给学生进行在线的学习。同时也通过超星学习通平台进行师生间的问题解答和知识点讨论,以及每个课程实践项目学生都能预先参与到教师的教学内容重点的讨论中。因此借助于现代互联网技术也是增强“对分课堂”教学模式功能的一种好方式。课程组通过2020级42位同学和2021级38位同学在线问卷,我们获得了如表1所示的调查数据。整体来看,运用了“对分课堂”教学模式,同学对这种自学、内化加讨论的教学方法还是十分满意的。

5 总结

高级语言编程课程设计采取“对分课堂”教学模式,对师生都提出了更高的要求。通过课程组老师通力协作和学生的积极配合,本次教学改革实践活动取得了显著的教学效果。通过两届学生的最终成果展示,学生的自我学习能力、答辩会上的语言组织与表达能力都得到了提升,最终课程结课时学生所展示小组项目作品整体完成难度都提高了,实现了教学大纲中所提出的教学目标要求。“对分课堂”教学模式把现有讲授法理论与实践性较强的讨论课堂进行有机结合,强化老师知识精讲,培养学生内化学习,提升了课堂的高效化,解决了学生沟通能力、创造能力等素质培养的困境。实践证明,绝大多数学生能够在教师的引导下积极主动地思考、查阅书籍资料,巩固了对C语言的基础知识掌握,提高了软件编程能力。

猜你喜欢

对分课堂课程设计单片机
基于单片机的SPWM控制逆变器的设计与实现
龙凤元素系列课程设计
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于Articulate Storyline的微课程设计与开发
Microchip推出两个全新PIC单片机系列
基于自动化系统的PLC课程设计
开放大学课程设计与资源开发