“算法设计与分析”课程教学改革探索

2022-01-22 10:34王东,林宏,左欣
计算机时代 2022年1期
关键词:过程性考核对分课堂教学改革

王东,林宏,左欣

摘  要: 探索“算法设计与分析”课程的一系列教学改革措施。将“对分课堂”的新型教学理念、教学方法和评价手段融入到教学过程中,根据教学内容特点灵活使用对分策略;以程序设计辅助教学系统为支撑,完成课程过程性考核评价;建设优质课程试题库、课程资源及拓展学习平台,为学生提供全面、持续的学习服务。教学实践证明,这些改革举措取得较好的教学效果。

关键词: 算法设计与分析; 对分课堂; 教学改革; 过程性考核

中图分类号:G642          文献标识码:A     文章编号:1006-8228(2022)01-107-03

Exploration on the reform for "Algorithm Design and Analysis" course teaching

Wang Dong, Lin Hong, Zuo Xin

(Guizhou Education University, Guiyang, Guizhou 550018, China)

Abstract: A series of teaching reform measures for the "Algorithm Design and Analysis" course are explored. Integrate the new teaching concept, teaching methods and evaluation means of PAD Classroom into the teaching process, and flexibly use the split strategy according to the characteristics of teaching content; Complete the process assessment and evaluation of the course with the support of Programming Teaching Assistant system; Build a high-quality course question bank, course resources and expand the learning platform to provide students with comprehensive and continuous learning services. Teaching practice has proved that these reform measures have achieved good teaching results.

Key words: Algorithm Design and Analysis; PAD Classroom; teaching reform; process assessment and evaluation

0 引言

“算法設计与分析”课程是计算机专业的一门核心基础课程,是“数据结构”课程的进一步延伸和提升,内容包括递归、分治策略、动态规划、贪心算法、回溯法等[1]。“算法设计与分析”课程的主要目的是通过系统地学习算法设计的主要思想,培养算法设计和分析的能力,为学生利用算法解决计算机及其他学科实际问题奠定基础[2]。该课程的特点是理论性强、概念抽象、知识点广、需要较扎实的数学基础[3],这使得教师既不好教,学生也不好学。

在“算法设计与分析”课程的传统教学流程中,教学活动是以教师为中心,授课教师在课堂上完成教学内容的展示,给学生讲解经典算法的代码,学生是被动的“听中学”[4]。这种几乎全程讲授的教学模式下,师生之间基本无互动,学生在学习过程中如有不理解之处,就容易产生畏难情绪,学习主动性就会越来越差,这样的教学效果不甚理想。因此,如何改变教学模式,调动学生学习的积极性和主动性,提高“算法设计与分析”课程的教学效果,是教师在教学实践中必须思考和探索的问题。我们在“算法设计与分析”课程的教学实践中采用了近年被广泛应用的“对分课堂”新型教学模式,取得了较好成效。以下讨论在教学实践中采取的一些改革举措。

1 引入对分课堂教学模式

“对分课堂”是一种立足中国教育实情,以教育心理学理论为依据的新型教学模式,是传统课堂与自主课堂的折中融合。其核心理念是将课堂时间一分为二,一半留给教师讲授,一半留给学生进行讨论,实质上是在讲授(Presentation)和讨论(Discussion)之间引入一个心理学中的内化(Assimilation)环节,让学生对讲授内容进行吸收之后,有备而来地参与讨论,简称为 PAD课堂[5]。“对分课堂”是一种适合我国教育历史文化背景的新型教学模式,该教学模式并不排斥讲授法,它强调先教后学,合作探究[6]。任何一项新内容的学习,都是从讲授开始,教师精讲留白,充分而不过分地引导;然后学生独立学习,小组讨论,全班交流。这种两阶段的学习通过“对分”的形式克服讲授式教学中学生被动接受的现象,引导学生参与课堂教学活动,使学生通过听课、自学、作业、讨论等方式对知识进行积极建构,增加教学中的师生交流与生生沟通,使教师和学生在教学中都发挥作用。

我们在教学中使用了PAD教学法。

从“算法设计与分析”课程的教学内容看,每一章大致学习一种算法策略,首先对算法策略的基本思想、原理、基本性质、算法框架进行介绍,然后围绕一系列经典案例学习,每个案例按问题描述、问题分析、算法设计、算法实现、算法分析几个步骤依次展开。对每个算法策略的基本思想、原理及性质,每个案例的问题描述及基本分析,案例算法的基本设计思路和算法实现的关键要点由教师精讲。算法的具体实现通过分组讨论、合作探究共同完成。两阶段如何“对分”则根据案例的复杂程度选择不同对分策略。对于比较通俗易懂的案例,采用“当堂对分”的策略,以相邻座位自然分组,每个小组自由交流讨论、互相帮助。这样不但可以对学生因势利导、适时点拨,而且可以及时获得学生学习效果的反馈信息。对于较为抽象、复杂的案例则使用“隔堂对分”策略,让学生有充足的时间进行知识内化、吸收,教师将算法实现布置成课后作业,让学生在课后完成,此间鼓励小组间互助交流,教师通过辅助教学平台以PDA“亮考帮”的形式收集学习过程中遇到的问题。对于共性的问题,在下一次课内组织交流讨论,或由教师补充讲解。

2 实验教学改革

“算法设计与分析”是一门实践性很强的课程,其实验教学具有举足轻重的作用。传统的算法课程教学普遍存在实验教学不够深入全面的问题,主要体现在教学以理论为主,实践不足,学生的学习主要是“听课”,课后很少做编程练习。在实验课中,又主要以验证性实验为主,缺少设计性和综合性实验,学生很容易找到现存答案。另外,对实验作业的测评仍比较传统,由学生提交纸质的实验报告,学生之间的抄袭比较严重,教师批改工作量大,反馈滞后。

我们在实验教学中采取了一些针对性的举措。首先,在课程学时构成上,将实验学时完全独立成一门课程来开设,有独立的学时学分要求,有专门的实验教学内容和实验课考核标准,实验课与理论课处于同等重要的位置,实验课考核不合格同样需要重修,这一定程度上会提高学生的重视程度。其次,实验内容适当增加设计性和综合性实验。除频繁见到的题目之外,使用从实际项目中凝練出的实验题目。一方面,这样的题目新颖且难易俱备,很难从网上和课本上找到现存答案,能对学生有更全面的锻炼和考核。另一方面,让学生了解到实际问题,学生会感受到“算法设计与分析”课程的实用价值,有利于提高学习积极性和培养创新意识。

此外,使用程序设计实验辅助教学系统(简称PTA)开展实验教学,该系统能非常方便地进行实验任务布置和组织测试,具有强大的自动测评、查重与监考等功能,该教学平台不仅能减少教师批改实验作业的工作量,而且能快速获得学习反馈[7]。有了PTA系统的支持,除了实验学时之外,鼓励学生课后利用空余时间在PTA系统上做题进行锻炼,学生有更多的时间仔细思考问题,并且可以相互讨论、协作完成,这样更有利于锻炼学生解决实际复杂问题的能力。

3 课程考核评价改革

科学的考核评价方法对促进和激励学生的学习具有很强的导向作用。传统课程考核评价常采用以期末考试成绩为主的终结性评价,这种评价方式下,学生平时的上课出勤率低,常常搞考前突击,这种课程考核实际上是过于强调结果而忽视过程,并非真正的素质教育。在“对分课程”教学模式下,应改变课程考核机制,以过程考核为重点,采用更加全面、立体的课程考核方式,让课程考核较好的发挥出诊断、导向、调控、激励的功能。

我们首先将课程考核分为平时综合和期末考试两部分,两部分各占50%。平时综合由课前测试、课堂练习、课后作业、其他测试、上课出勤以及加分项目构成。其中,课前测试为每次上课前使用十分钟时间进行测试,课前测试的目标为考查学生对上一次课学习内容的撑握情况。课前测试时间较短,测试内容的选取至关重要,题型上不宜选择函数题和编程题,因为一是做这两种题型所花的时间相对较长,二是这两种题型容易在网上搜到答案。程序填空题则是课前测试的最佳题型,该题型将案例算法代码完全展现,又在关键之处留白。若学生理解了算法的实现思路,较容易将空白处补充完整,反之则很难做正确。通过课前测试,可以在第一时间了解学生对教学内容的掌握情况。

课堂练习安排在教师讲授后的独学和小组交流阶段完成,题型以函数题为主。函数题的主函数、数据结构定义、输入输出由系统给出,学生只需实现函数接口部分。课后作业为每一章的扩展练习,作业量较多,以编程题为主,完成时限从每一章第一次课开始到本章最后一次课结束,学生有较充足的思考时间。其他测试则灵活安排,比如单元测试、期中测试。学生上课出勤情况也是课程考核评价的指标之一,出勤率可由课前测试导出,无需额外花时间清点上课人数。平时综合的几个部分适当分配占比权重,在开学第一次课时就向学生公布。

课程考核中的期末考试采用在线测评系统进行机考,题型及试题综合考虑覆盖度及难易度,这一部分的考核一般是由学校统一组织,考核的组织比较严格,考试时使用测评系统的防作弊功能,考核结果能比较真实的反映学生的学习效果。另外,为提高学生学习积极性,附加了一些加分项目,如:课程学习期间获得软件设计师证书、取得MOOC优秀证书、参加ACM-ICPC竞赛获奖均可获得不同程度的加分[8]。

4 加强课程资源建设

为强化学生隔堂学习的内化过程,及时侦测学习效果,获得学习反馈,大量的练习、测试是必不可少的。为此,需要建设高质量的试题库,才能满足教学活动的需要。

首先,试题要能覆盖不同层次的学生,要搜集具有一定趣味性、使用不同算法设计策略、具有不同难度等级的试题。这要求试题要有一定的数量。其次,从试题的搜集来源看,可以从全国青少年信息学奥赛、ACM-ICPC竞赛题、程序竞赛题、公司面试题、教科书中的经典问题以及实际项目中产生的算法题中选取。第三,题型选择上,尽可能为每个试题都建立三种题型:程序填空题、函数题和编程题,这样可以满足不同教学场景的应用需求,比如在课前测试中主要使用程序填空题,课堂练习中主要使用函数题,而课外作业以编程题为主。

除试题库建设外,其他课程资源或学习设施也能帮助和促进学生的自主学习。我们整合教研室力量,精心制作课程微课及其资源,形成“微课教学资源包”,建设支撑微课展播的小程序学习平台,进一步拓展了课程的学习空间。

5 结束语

本文对“算法设计与分析”教学实践中采取的一些改革举措进行了阐述。分别从引入“对分课堂”教学模式、实验教学改革、课程考核评价改革和课程资源建设四方面进行了探讨。这些改革举措在教学实践中已取得良好成效,学生的学习兴趣得到了提高,课堂教学的互动性得到增强,学生的实践能力有了明显进步,部分学生在课程学习期间参加各级程序竞赛获奖,部分学生取得软件设计师证书。下一步将在教学实践中对各项改革举措继续进行验证、总结与改进,形成更加精细、有效的实施方案。

参考文献(References):

[1] ThomasH.Cormen.算法导论:第2版[M].机械工业出版社,2007

[2] 何克晶,张星明,郑运平.算法设计与分析课程全方位实践教学改革探索[J].计算机教育,2017(2):45-49

[3] 华伟,张典,姜官男,等.数据结构与算法分析立体化教学模式探索[J].计算机教育,2018(10):93-96

[4] 范昊,束德勤.《算法设计与分析》课程教学方法研究[J].教育教学论坛,2020,455(9):255-256

[5] 张学新.对分课堂:大学课堂教学改革的新探索[J].复旦教育论坛,2014,12(5):5-10

[6] 刘绍乾,钱频,王曼娟,等.对分课堂教学模式及其成功因素探析[J].教育教学论坛,2019,13:46-48

[7] 向程冠,熊伟程,熊世桓.OnlineJudge在数据结构教学中的应用[J].电子技术与软件工程,2019,22:133-134

[8] 尚军亮,李圣君,孙燕.《算法设计与分析》教学研究[J].高教学刊,2016,21:47-48

猜你喜欢
过程性考核对分课堂教学改革
应用型法学课程过程性考核方式探析
浅谈信息化平台背景下“对分课堂”的教学意义及思考
“对分课堂”教学模式在电影史课程中的应用
外国文学史课程的“对分课堂”教学改革研究
信息化背景下高职学生自主学习能力提升研究
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索