基于翻转课堂的程序设计类课程教学改革探索
作者: 王晓雷 吴琪 文伯聪
[摘 要] 程序设计能力是公安院校网络安全与执法专业的重要培养目标之一,针对当前公安院校网络安全与执法专业程序设计类课程在教学内容、教学设计、评价体系等方面的问题,提出基于翻转课堂的教学改革探索方案。包括需求导向的教学内容与教学资源、翻转课堂与案例教学法相结合的教学设计、合理全面的评价体系,及时的教学反馈与优化等改革措施。为提高地方公安院校网络安全与执法专业程序设计类课程教学质量、培养网安专业软件设计人才提供新思路。
[关键词] 翻转课堂;网络安全与执法;教学改革;程序设计
[基金项目] 2019年度广东省教育厅广东省高等教育教学改革项目“翻转课堂在程序设计课程教学中的探索与实践——以‘TCP/IP编程技术’为例”(440);2022年度广东省教育厅广东省本科高校教学质量工程建设项目“网络攻防技术课程教研室”(216)
[作者简介] 王晓雷(1975—),男,山东德州人,学士,广东警官学院网络安全学院讲师,主要从事数据库安全、电子数据取证研究;吴 琪(1978—),女,吉林辽源人,硕士,广东警官学院网络安全学院副教授,主要从事网络空间安全、电子数据取证研究;文伯聪(1966—),男,广东广州人,学士,广东警官学院网络安全学院副教授,主要从事网络空间安全、电子数据取证研究。
[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-9324(2025)07-0085-04 [收稿日期] 2024-01-02
网络安全与执法专业是我国公安院校开设的一个特色专业,其课程涵盖公安学、法学、计算机科学与技术等多个学科[1],具有交叉学科的特点。软件开发技术是其培养目标中的核心之一,也是其他各项技术的技术基础之一,在专业能力中具有重要的地位[2]。在人才培养中如何科学合理地组织教学活动,有效训练学生的软件开发能力,更好地满足公安机关对网络安全与执法专业人才的需求,是教学工作中需要认真考虑的首要问题。
一、公安院校网络安全与执法专业程序设计类课程面临的主要问题
(一)课程内容沿袭计算机科学与技术专业,未能体现网络安全与执法专业的特点
网络安全与执法专业的核心课程除公安基础理论、法律课程之外,主要专业课程均为计算机技术类,目前这部分课程设置类似普通院校的计算机相关专业,所选择的教学参考书也大多为传统的计算机类教材。对于同样的课程,由于培养目标的不同,其侧重点也会有很大的区别。例如,对于软件开发能力的培养,地方公安院校的网安专业不是培养软件公司的开发人员,不是以设计开发大型软件项目作为专业导向,而是使其具有通过编写程序,解决在攻防、取证、管控、情报获取等工作中的具体需求的能力。通常情况下所编写的程序规模较小,但对学生知识的广度要求较高。如果仍按照传统的项目式软件设计案例进行教学,其训练效果势必大打折扣。
(二)学时不足,学习难度较大
网络安全与执法专业是一个多学科交叉融合的新型公安科技专业,学生须掌握计算机、法学、公安学等多学科的相关课程[3]。和一般计算机专业相比,计算机类课程普遍学时较少,在课程体系方面也存在不得不删减部分计算机课程或者课程内容的情况,导致学生知识体系相对不够完善。同时,程序设计课程均需要大量的实践学时,公安院校普遍采用半军事化管理,课下自由支配时间相对有限,导致学生训练不足,效果难如人意。
(三)学生基础及学习能力存在差异
公安院校这几年招生热度逐年上升,然而,由于招生政策的特殊性,客观上存在录取学生分数跨度较大的情况。学生入学后对计算机课程基础的熟悉程度各不相同,难以兼顾课堂教学,容易造成既有学生对课堂知识消化不了,又存在部分学生过于轻松的状况。如何平衡各类学生对知识的需求,也是目前课堂教学须面对的问题。
(四)就业机制特殊,学生学习专业课程的兴趣不足
目前,各公安专业主要依靠公安联考和公务员考试完成就业。公安联考和公务员考试的主要内容是申论、行测、法律基础、公安基础理论等内容,几乎不涉及网络安全与执法计算机类专业课程,由此导致学生学习专业课程的动力降低,特别是遇到难度较大的程序设计类课程时,更容易产生躺平和放弃的思想。
综上所述,当前网安专业程序设计类课程教学面临许多和以往不同的困难及问题。本文以本校“TCP/IP编程技术”课程为例,探索程序设计类课程教学改革的思路。
二、“TCP/IP编程技术”课程现状及学情简介
“TCP/IP编程技术”是广东警官学院网络安全学院网安与计算机科学与技术专业的选修课之一,32学时。其主要教学目标是强化学生的网络应用编程能力,重点内容为数据流、多线程、TCP及UDP套接字、非阻塞通信等。根据近两届网安专业学生的反馈,普遍反映比理论课难度大,不易学习,选修意愿有所降低。
本课程自2013级起至教学改革之前,主要采用项目驱动为主的教学方式,学生综合应用能力有所提高。然而,项目驱动式教学也有其不足[4]。一是需要较多教学学时,对于学时不足的课程,教师在有限的时间内既要完成基本知识的讲授,又要快速转移到项目开发中,时间限制较大。二是课堂教学与项目开发过程出现脱节问题,衔接过渡得不够流畅。学生在课堂上学习完基础知识后,没有时间进行消化吸收,马上就转向了项目开发,造成训练时间利用率较低,学生在开发过程中遇到很多困难。
三、基于翻转课堂的课堂教学改革措施
为解决本课程面临的各种问题及困难,从教学内容与资源、课堂教学方法、考核评价机制等多方面进行课堂教学改革,以顺应现代教育发展趋势,实现从“以教师为中心”向“以学生为中心”的转变。课堂教学改革整体措施见图1。
(一)重构教学内容与教学资源
近年来,公安院校普遍开展基于OBE理念的专业建设研究[5]。在课程内容和课程资源的建设方面,也应强调需求导向。如上所述,在软件开发能力培养方面,网安专业主要为解决在工作中遇到的一些需要编程处理的问题,对学生的项目管理能力要求不高。因此,在教学内容方面,适当减少了软件工程项目管理方面的要求。同时,在学期教学后期及结束后,采用问卷形式,调研学生对教学内容的兴趣及需求、对教学内容难度的评价等,动态调整知识的宽度和深度。在保证完成课程教学大纲的基础上,使教学内容具有一定的弹性。特别是对于学有余力的学生,也能够保持与之相适应的难度,避免课程内容失去挑战性。
在教学资源方面,采用线上与线下相结合的方式。2020年以来,我校与泛雅平台开展相关合作,为实现线上线下教学的结合提供了充分保障。整个教学内容可划分为“先学后教内容”及“先教后学内容”,分别进行教学资源的设计[6]。在“以学生为中心”的翻转课堂模式下,先学后教成为教学主要模式,主要提供教学短视频、参考文献、慕课资源等。学生通过泛雅平台进行学习,或根据参考文献等进行知识拓展,并随时可以通过企业微信或泛雅平台与教师沟通答疑,真正将课堂从教室延伸到以学生为主的各个空间。
(二)基于翻转课堂与案例教学法相结合进行教学设计
在学习本课程之前,学生已在校学习两年,并有一定的编程语言基础。为更好地实施翻转课堂教学,教师可提前了解本班学生程序设计基础、学习能力的情况等基本学情。在组建学习小组时,根据了解到的情况,按照A、B、C等级分为三个大组,每等级限2人,共6人,自由组合为学习团队,设置组长1名,同时强调树立团队观念,同学之间要共同提高。此外,针对学习能力特别突出的学生,专门组建一个挑战性队伍或程序设计课外兴趣小组,亦可为参加大学生程序设计竞赛项目训练人才。由此,既可以兼顾学生学习能力方面的客观差距,又可以为拔尖学生提供适当的提升空间,做到因材施教。
在教学实施方面,采用翻转课堂和案例教学法相结合的模式。案例教学法依然是程序设计类课程不可或缺的模式之一。本课程以应用型编程为主,选取设计一个简单的即时通信软件及其服务器为课程案例,然后按照自顶向下的方式对项目进行分解,使分解后的每个子项目能够贴合教学大纲的章节内容及重点、难点,同时还要考虑每个子项目能够支持实施一个相对独立的翻转课堂任务教学周期。案例的整体分解情况见图2。
每一个子项目应当作为一个完整的翻转课堂任务教学周期,通过循环迭代的方式,逐步深化该模块知识的学习和掌握。例如,在基于IO多路复用通信模型的服务器设计的初期教学中,课前准备环节,利用学生前期已设计完成的基于阻塞模型的服务器和客户端,通过改写客户端程序,使用多线程技术模拟客户端的高并发访问,分析服务器可能存在的问题,并完成分析报告。在课堂讨论环节,展示并分析学生的研究结果。学生根据程序的运行及资源使用情况得出一些结论,例如,线程的创建与销毁、线程之间的切换等对服务器的运行会产生不利影响。由此进一步提出可能的解决思路有哪些,学生根据前期学习多线程的知识联想到线程池技术。通过对线程池技术的回顾,不难得出线程池并不能完全解决高并发的问题,这是阻塞式通信模型的机制导致的。因此,需要从根本上采用一种全新的通信机制,这就是基于IO多路复用通信模型。
在每个翻转课堂任务周期内,一般选择1~2个小组进行实验报告的讲解和展示。展示内容应具备开放性,充分引导学生自主学习,可包括多个方面。例如,每名学生文献资料的查阅情况,结合案例问题的解决思路及实现方法,遇到的难点及解决办法,本次任务的特别收获等。教师和其他组的学生均可对报告进行点评,并共同对存在的偏差进行纠正,对遗漏的问题进行补充。然后在课堂进行随堂训练,教师通过巡视观察学生的训练状态,可充分了解学生对知识的掌握程度,从而可以更有效地进行课程辅导。
通过这种“学生学习—展示与讨论—教师点评与补充讲解—再次训练辅导”的教学模式,可以使学生真正将知识内化为自己的能力。
(三)重视学生的自我实现需求
如何保持学生对课程长期持续的探索和学习兴趣,是翻转课堂教学面临的重要问题。翻转课堂教学模式非常依赖学生的自主学习积极性,如果不能保证学生课下学习的效果,课堂的讨论和实施就会变成无本之木,其最终教学目标均无法实现。因此,须合理地为学生设立近期、中期、远期目标,使其在不同时期均可体验到努力带来的回报,体验到充分发挥自己的能力且有所收获的喜悦,尽可能让学生带着问题来,带着成功走。对于因时间原因未能在课堂解决问题的部分学生,课下须尽快和同组同学共同讨论,教师要及时了解这些学生的进展情况,使每名学生都能紧跟课程进度,以免问题积累导致学生失去学习兴趣。
(四)建立合理和全面的考核评价体系
在翻转课堂教学模式下,学生成为教学的主体与中心。教学环节延伸至课堂以外的多个学习空间,传统的作业、课程设计、考试等模式已无法正确评价学生的学习情况,需要设计完善的考核评价体系,让学生的每一分努力都能获得体现。
学生的学习过程主要包括课下学习、小组互助、课堂展示、课程设计与实验报告几个方面。课下学习的评价主要依靠泛雅平台,该平台有详细的视频学习记录,可以非常方便地对学生的基础知识学习情况进行评分和评价。在学习小组中设置组内互评机制。互评内容包括参与组内讨论、学习情况、互帮互助情况以及组内任务分工和完成情况等。鼓励设置小组会议制度,建议每周一次会议讨论学习,详细记录会议内容,包括上周任务完成情况、本周的任务与计划、对遗留问题的处理等。为鼓励组内学生互相帮助、共同进步,对于帮助其他组员或者在其他组员帮助下得到提高的学生,均可获得加分。课堂展示重点评价学生小组的答辩情况。针对展示中的问题进行提问,由小组内多名学生回答,以便对小组的整体学习状况进行评价。此外,在课堂展示中列出的参考文献及其他参考资料也是学生课下学习的一部分体现。课程设计和实验报告分为阶段性报告和课程报告两部分。阶段性报告主要是每个翻转课堂任务周期内的报告,课程报告是整个课程的综合性实验报告,是对阶段性报告的总结。实验报告评价应更加侧重阶段性报告,只要平时都正常完成阶段性学习的学生,完成课程报告均是顺理成章的事情。
(五)及时进行教学反馈与优化
教学反馈应分布于课程教学的各个阶段。在学期初始,教师会向学生解说教学大纲,使学生了解课程目标、课程内容、教学重点和难点、教学进度、考核方式、成绩评定方法、参考书目,以及教师和学生各自在教学过程中的角色。在教学过程中,师生充分讨论,教师采纳学生的合理建议,形成教师和学生均认可的教学内容。对于重点和难点内容,更需要学生大胆阐述自己的观点,以便动态调整教学内容,这也是了解学生学习态度的重要方式。通过阶段性反馈和课程最终的反馈与优化,课程大纲及教学内容、教学组织会更加的科学合理。