杨呈永 王洁
(1.桂林理工大学 网络与信息中心 广西桂林 541004;2.桂林理工大学 信息科学与工程学院 广西桂林 541004)
算法设计作为计算机科学的一门分支学科,是软件设计的关键。算法设计与分析课程是大部分高校计算机专业学生的一门必修课程,教学内容将数据结构、离散数学等内容紧密结合起来,结合计算机应用中遇到的实际问题,系统地学习设计与分析各种算法的基本原理、方法和技术,以全面培养学生正确分析算法复杂性和解决问题的能力。
2022年全国教育工作会议指出,要推进人才培养服务新时代人才强国战略,推进学科专业结构适应新发展格局。随着信息技术与现代教育的深度融合[1],传统教学模式已不能满足当前可持续发展的工程科技人才培养需求。在全球数字化转型的大背景下,高校需要顺应当前发展,对教学进行针对性改革以培养面向复杂工程问题的新工科人才[2]。
以我校现有的算法分析与设计课程为例,为适应当前对工程科技人才的需求,进一步提高课程教学质量,培养学生对专业知识的实际应用能力。我校针对该门课程的教学现状进行混合式教学改革。通过“雨课堂”与传统教学相结合,帮助学生系统地掌握专业理论知识,与此同时,实践教学与学科竞赛相结合,全面培养学生对专业知识的实际应用与学科竞赛能力[3,4],培养新工科应用型人才。
算法分析与设计课程的教学目的在于锻炼学生的算法逻辑思维,提高学生的编程能力。通过该门课程的学习,要求学生能够理解算法所设计的概念、原理和策略,能够运用所学理论进行算法设计。算法分析与设计课程内容多、概念复杂且逻辑性比较强,其学习难度较大,学生学习起来也较为困难。经调研显示,我校的算法分析与设计课程中普遍存在的问题主要为以下三个部分:
当前我校的算法分析与设计课程教学仍为传统的教学模式,理论知识部分以教师讲授为主,课堂教学以教师为中心,教师主导教学过程,学生长时间被动学习会使其丧失独立思考与解决问题的能力。该门课程目前的教学模式跟不上其教学需求,导致其教学效果跟不上现今对新工科应用型人才的培养需求。
我校该课程基于java语言进行算法理论基础知识的教学,学生需要具备扎实的编程基础,并且具备一定的离散数学、数据结构等知识基础,总体上对学生的基础能力要求较高。据课堂问卷调研显示,大多数学生认为该门课程抽象性较强,教师授课较为粗糙,理论知识讲解不透彻,极大削弱学生的学习兴趣。受课程教学的安排,很多地方教学不到位,导致学生对算法的理论知识掌握不足,并且算法设计实践能力也没有提高。短时间且低效率教学导致教学效果无法达标。
课程教学目的在于帮助学生学会分析算法复杂性,通过教学能够设计出复杂度低且性能好的算法。我校该课程的教学安排紧凑,理论教学与上机教学安排不合理,教师偏重对算法的理论教学,对上机实践部分重视不够,上机作业由学生自主完成,大部分学生不愿意花费大量的课余时间投入到算法学习中,因此学生的算法实践能力和对算法的综合应用能力较差。
雨课堂是在线教育研究中心的最新研究成果[5,6],基于PC端和微信平台提供智能化教学支撑,在很大程度上推动了教育信息化的改革。雨课堂灵活地与线下课堂高效整合,有促进师生教学融合,辅助学生进行自主学习和减轻教师工作量的优势。
计算机学科竞赛如蓝桥杯竞赛、ACM竞赛和互联网+大学生创新创业大赛等都与算法息息相关,通过学科竞赛能够反映出学生对学科理论知识的实际操作和应用能力。从算法分析与设计课程教学来看,学科竞赛与教学相结合不仅能够促进学生对理论知识理解,还能够培养学生综合能力,推动应用型人才培养[7]。
基于“雨课堂+学科竞赛”的混合教学模式以算法分析与设计的教学现状作为出发点,将雨课堂应用于传统课堂教学中,将课堂中心从教师转变为学生,让学生主动参与到课堂教学活动当中,激发学生自主学习与独立思考的能力。课程教学与学科竞赛相结合进行教学创新改革,本文以蓝桥杯竞赛为例,使用“蓝桥杯练习系统”作为课程实践教学和学科竞赛培养的线上平台。
基于“雨课堂”的理论教学贯穿于课前、课中、课后的教学过程,将雨课堂平台应用于传统线下教学课堂中,将课堂中心转变成以学生为主,改变传统授课中以教师为中心,学生被动学习的弊端,雨课堂向学生提供了师生相互学习与交流的平台,教师借助雨课堂的强大的教学功能进行课堂教学,提高教学效率。
(1)课前准备
学生课前准备以雨课堂为主,初次上课学生通过教师分享的课程码或课程二维码加入班级,教师课前在雨课堂平台上传每节课的相关教学资料供学生进行辅助预习,同时为了确保学生参与到课前预习中,发布一定量的预习任务来检验学生的预习效果,学生在规定时间内完成预习任务,为了激励学生进行课前预习,根据学生对预习任务的完成度按照一定比例作为课程平时成绩。
(2)课中学习
学生提前通过微信或者PC端进入雨课堂,教师上课后,在雨课堂发起上课,学生在课堂上结合教材,在雨课堂同步观看课件,教师根据课程授课的实际需求要求同学在雨课堂的讨论区进行讨论,不仅能够活跃课堂气氛而且还可以锻炼学生的思考能力,进而加深学生的课堂学习记忆。此外教师能够在雨课堂发布课堂练习或测试题,答题结束后实时生成答题报告,通过答题报告教师能够根据学生的掌握情况进行针对性教学调整。
(3)课后复习
上课结束后,雨课堂自动发送课堂报告给学生,课堂报告记录学生通过雨课堂进行学习的情况,例如汇总课堂做题情况,生成成绩单供学生参考。
该课程的上机实践环节以培养学生的算法设计和学科竞赛能力为主,该课程选取蓝桥杯竞赛内容作为上机实践教学。蓝桥杯练习系统应用于蓝桥杯竞赛培训,其内容十分贴切算法设计与分析课程的实践教学。
蓝桥杯练习系统的试题集共分为基础练习、算法训练、算法提高和理解真题四个类别。上机实践课程教学一共6周,每周有不同的实践内容,实践题目来自蓝桥杯练习系统的试题集,上机实践安排如表1所示。
上机实践练习题目由教师根据练习内容在蓝桥杯练习系统进行选取,学生通过试题编号在蓝桥杯练习系统完成,并且将每周的上机实践内容撰写相应的上机实验报告。此外,蓝桥杯练习系统中的算法提高和理解真题类别的试题作为额外加分试题,学生在课余时间可自行选择完成,额外加分仅限前两道试题。
算法分析与设计课程的考核方式由“平时成绩(30%)+期末考试成绩(40%)+上机实验成绩(30%)”三部分组成,平时成绩由考勤、课堂表现、雨课堂学习情况这三部分组成。上机实验成绩则以上机实验报告和加分试题完成情况作为参考,教师根据所提交的实验报告完成情况进行评分。综合该多元化的课程考核方式,能够从理论和实践上考查学生对算法的掌握情况、综合能力和创新能力。我校在2021年秋季学期,算法分析与设计课程采用“雨课堂+学科竞赛”的混合式教学模式进行改革实践,经过一学期的混合式教学,混合式教学与传统教学课程成绩对比如图1所示,蓝桥杯竞赛获奖情况对比如图2所示。
图1 学生成绩分数段对比图
图2 教学改革前后竞赛获奖情况对比图
算法分析与设计需要兼顾理论与实践,基于“雨课堂+学科竞赛”的混合教学模式,在理论教学上借助雨课堂作为教学辅助平台,以学生为中心,通过雨课堂的在线互动教学提高学生的学习积极性。以培养学生学科竞赛能力作为上机实践教学目标,通过“蓝桥杯练习系统”的针对性练习,锻炼学生的编程实践能力,开发学生对算法设计的创新和竞赛能力,有效提高了课堂教学效率和学生算法设计能力。