公务员期刊网 论文中心 正文

程序设计基础课程设计教学改革

程序设计基础课程设计教学改革

摘要:针对程序设计基础课程学习效果欠佳的情况,以新工科建设和工程教育认证为契机,以《华盛顿协议》提出的“以学生为中心、产出导向、持续改进”教育理念为指导,以培养学生解决复杂工程问题能力为目标,根据毕业要求及对应的毕业能力分解指标点,提出对课程教学目标和教学内容进行修订,设计教学的各个环节,最后说明教学反馈情况。

关键词:工程教育认证;复杂工程问题;产出导向;反向设计;教学改革

0引言

随着新经济的快速发展,当前计算机专业人才无论从数量还是质量上都无法完全满足社会发展的需求。2017年,教育部在“教育部高等教育司关于开展新工科研究与实践的通知”中指出,新工科研究和实践围绕工程教育改革的新理念、新结构、新模式、新质量、新体系开展[1],而工程教育专业认证[2]则为工程教育改革提供质量保障。在此背景下,以工程教育认证通用标准[3](以下简称《标准》)和《华盛顿协议》[4])为指导,开展高校工程教育改革和创新,促进工程教育质量的全面提升,为新经济发展培养新工科人才迫在眉睫。

1教育理念更新

工程教育的主要目标是培养学生深入运用工程原理和各种工程知识,分析和解决复杂工程问题[5]。程序设计基础课程设计是为程序设计基础课程设置的实践教学环节,是培养学生综合运用所学知识解决复杂工程问题的一门实践课程,在计算机专业的课程体系中具有举足轻重的地位。通过分析以往的课堂教学,发现传统教学方式[6]难以达到理想的教学效果,具体体现在:①在教学方式上,以教师为主导,学生被动学习,学习积极性不高;②在教学内容上,以知识学习为主,学生好不容易学会了各种语法却不知道所学知识有何用处;③在教学效果上,大部分学生应试能力较强,但解决复杂工程问题的能力却得不到提高,导致毕业后学生的能力无法和社会需求接轨。针对教学过程中出现的问题,课程以《华盛顿协议》提出的“以学生为中心、产出导向(OutcomeBasedEducation,OBE)、持续改进(ContinueQualityImprovement,CQI)”三大教育理念[4]为指导,以培养解决复杂工程问题能力为目标开展课程改革与实践。

2合理的教学设计构建

根据吉林大学计算机专业的培养目标、结合《标准》中规定的毕业要求,学校制订毕业要求,将毕业要求中的各项毕业能力分解并映射到课程体系的每一门课程,各门课程再依据自身支撑的指标点自上而下地对教学目标、教学内容、教学策略和教学实施等各环节进行反向设计,形成课程教学思路。

2.1专业毕业要求

毕业要求确定后,将毕业要求的实现过程逐一分解映射到各门课程的课堂教学、实验教学、课程设计、实习实训、毕业设计(论文)等教学环节,从而完成从日常教学到毕业要求,再从毕业要求到培养目标的层层支撑关系。毕业要求不仅要支撑本专业的培养目标,也要支撑《标准》规定的毕业要求。依据2011年国家工程教育认证的反馈意见,我们对本专业在现行培养方案[7]基础上制定了2018版培养方案[8],对专业毕业要求作了相应修订,使专业毕业要求完全覆盖《标准》中12条毕业要求。达成《标准》毕业要求不只是一门课程的目标,也不是一位教师的责任,它需要本专业担任教学的全体教师、从事教学管理的全体职员、专业负责人、学院领导以及学校相关部门的共同努力,才能胜任和完成[9]。在具体开展能力培养工作前,需要将本专业各项毕业能力予以分解和落实。本课程作为计算机专业课程体系的一员,为最终达成毕业要求承担了相应的支撑工作。作为专业基础实践教学环节,本课程重点对专业毕业要求③“掌握计算机专业领域系统设计、集成、开发及工程应用的基本方法,能够综合运用理论和技术手段设计解决复杂工程问题的方案,设计满足特定需求的计算机软、硬件系统,能够将创新意识体现到设计环节中;具备在设计/开发中考虑社会、健康、安全、法律、文化及环境等因素的基本素养”和毕业要求⑨“具有一定的独立工作能力、组织管理能力和团队合作能力,能够在多学科背景下的团队中承担各种角色”进行支撑。

2.2课程教学目标

可以看出本课程教学目标的核心是培养学生解决复杂工程问题的能力,因此课程的后续环节主要围绕该核心开展工作。

2.3课程内容选择和设计

如何为学生选择并设计合适的课程设计题目是培养学生解决复杂工程问题能力的关键要素之一。考虑到本课程的受众为计算机专业本科一年级学生,大部分学生仅有程序设计基础理论课和实验课所学的基础知识,因此在题目设计上既要考虑课程所支撑的毕业要求,又要兼顾受众的专业基础,根据学生的实际情况设计课程内容。针对教学目标①,课程内容应设计一个综合性、较大规模的工程问题,该问题符合复杂工程的特征,有一定的挑战性又不失生活化,利于学生反向分析该工程并找出所需专业知识,进而通过设计、编写、调试、测试的软件开发过程,培养学生初步解决复杂工程问题的能力。针对教学目标②,本课程设计设置3~4人为一组,分组完成课程内容,培养学生的组织管理能力和团队合作能力[10]。

2.4课程教学策略设计

教学策略是为实现教学目标而制订的、付诸教学过程实施的整体方案,包括合理组织教学过程、选择具体的教学方法和材料、制订教师与学生遵守的教学行为程序等[11]。为有效开展致力于培养解决复杂工程问题能力的教学,教学策略设计着重从以下4个方面考虑。(1)强调以学生为中心。教师的身份从课堂的主导者转变为引导者,通过诊断、评价、反馈以及建设性介入等策略,协助学生达成预期成果[11]。(2)强调产出导向。面向产出的教育与面向课程的教育(Competencybasededucation,简称CBE)的区别,关键在于“追求的是产出(能力),还是输入(知识/课程)”。课程强调产出导向,根据教学目标中毕业能力要求,对教学内容、教学策略进行反向设计,培养学生解决复杂工程问题的能力。课程主体上采用基于项目的学习(Project-BasedLearning,PBL)策略,让学生从一个生活中可以接触到的实际应用系统出发,分析目标系统,逐步推导并设计各个模块及相应的解决方案,最终实现对复杂工程问题的求解。(3)强调团队合作。课程的教学过程贯穿基于团队的学习(Team-BasedLearning,TBL)、合作学习(CollaborativeLearning,CL)等教学策略。学生以小组为单位,根据给定的复杂工程问题讨论工程需求,进而分析、设计并编码实现目标系统。一方面,团队成员为达成团队成果而合作学习;另一方面,每个团队成员有不同的分工,通过自我挑战和自我竞争提升自身能力。(4)强调教学手段情景化。在课程的验收阶段采用角色学习(RolePlayLearning)法。很多计算机专业的学生习惯于站在开发人员的立场思考问题,认为实现了系统功能就万事大吉了,这种自我定位直接导致设计及实现系统过程中对用户体验的忽视,进而引发系统开发与维护时的诸多问题。为了改变这种状况,在测试和验收阶段,学生切换角色、从使用者的角度使用、评估其他小组的系统。

3教学实施

在选题阶段,课程教学团队为2017级计算机专业本科生设计的题目为“利用C语言实现校园卡管理信息系统”,选题的具体要求中只列出各小组必须达到的基本要求,并鼓励学生在此基础上扩展。该选题具备复杂工程问题的特征,可以锻炼学生综合运用所学知识解决复杂工程问题能力。同时,该校园卡管理信息系统是学生们每天都能接触并使用的实际应用系统,教学内容的生活化可以激发学生的学习兴趣,很适合刚刚接触专业知识的学生从系统角度开展项目需求分析等工作。该题目无论从规模上还是从复杂性上,对处于入门阶段的一年级本科生都是极具挑战性的。每个阶段的教学内容设计如下。(1)需求分析与系统设计阶段,安排4学时。本阶段学生对系统需求、系统设计、任务分工等进行组内讨论,强调站在系统的高度,以系统的视角分析问题。(2)系统实现阶段,安排8学时。采用合作学习法,每个组员完成各自分工模块的编码实现,最终各模块整合成一个目标系统。本阶段教师不进行知识点的讲解,而要求学生根据第1阶段讨论的分工分析实现系统所需的知识(可能包括课堂上没有学过的知识),并通过与教师或同学讨论、查阅文献资料、浏览技术论坛、搜索网络资源等多种渠道解决该过程中遇到的困难。此方法引导学生主动学习、积极思考,促使学生逐渐养成独立分析、自主探索的学习习惯。(3)系统测试阶段,安排2学时。教学过程中采用角色扮演法,要求不同小组之间交换测试、使用其他小组的系统,每个小组扮演另一个小组的“客户”角色。实践证明,该方法对帮助学生深入理解客户的需求和提高对客户体验的重视程度有积极作用,大部分学生在使用了其他小组的系统之后,能立即意识到良好用户体验的重要性,从而在教师验收之前对自己的系统进行相关改进。(4)验收阶段,安排2学时。按照平时考核、代码和实验报告质量、任务分工和完成比例、界面设计和答辩情况等因素综合评定最终成绩。在验收过程中,教师随机选择一位非组内成员的学生作为操作者,以用户的角色辅助教师对程序进行验收,并在使用结束时为该小组设计并实现的软件给出至少1个修改意见或建议。实践证明,所有扮演该角色的学生均可客观公正地提出建设性意见,进而主动思考自己小组系统的不足之处。本课程的整个教学过程强调了学习过程中以学生为中心、以产出为导向的理念,使学生进行自我管理,充分调动了学生的学习热情,培养了学生独立分析问题、解决问题和自主学习的能力,教学取得了良好的效果。各阶段均支撑课程的教学目标①和教学目标②。

4教学反馈

为获取教学效果的反馈信息,我们对刚刚结束本课程的2017级计算机专业本科生开展问卷调查,同时征集对课程教学的意见和建议。教师共发放问卷130份,收回121份,其中无效问卷2份。通过对119份有效问卷统计分析,得到以下反馈信息:①在教学内容方面,参与调查问卷的学生中,68%的学生认为题目比较难;83%的学生在16学时内不能全部完成题目要求,其中大部分学生需要额外学习10~24小时;所有参与调查问卷的学生均认为通过本课程,加深了对理论课所学知识的理解。②在对毕业要求的支撑情况方面,认为该课程对于表1中的分解指标点③-1、指标点③-2和指标点⑨-1起到支撑作用的学生分别占98%、97%和97%。从程序验收情况和学生调查问卷来看,课程基本达到了预期,取得了如下成果:①教师从课堂主导者转变为引导者,学生从被动学习改变为自我管理,培养学生自主学习的能力;②改变了学生不知所学知识究竟有何用处的尴尬状况,把一学期所学的理论知识直接转化为工程项目的要素,实现了第一个“麻雀虽小,五脏俱全”的工程项目,极大地提升了学生的自信和成就感;③学生学会从系统的角度看问题,根据系统反推所需知识,锻炼了初步解决复杂工程问题的能力。本专业先后于2011年和2017年参加工程教育认证,两次均顺利通过,2017年获得了有条件6年有效期的结论,本课程作为专业课程体系的实践教学环节,积极开展课程改革与创新,对最终达成《认证》毕业要求作出了预期的贡献。

5持续改进

吉林大学计算机专业建立了基于教学质量评价、基于毕业生反馈信息和基于社会评价结果的持续改进机制。根据合理性评价意见,结合国家政策、社会需求、学校定位、教育教学改革等多方因素,每4年对专业培养方案进行一次大修订,每年对课程设置进行微调。2017年,本专业以工程教育认证为契机,进一步改进本科培养方案,完成了2018版培养方案的修订工作。专业在新培养方案中进一步完善与课程体系及教学过程直接相关的毕业要求,除了将毕业生知识、能力和素质要求修订完善成完全覆盖《标准》现行的12条毕业要求外,还强调对解决复杂工程问题的要求,毕业要求中体现复杂工程问题的重要特征,强调工程实践能力的培养,尤其是解决复杂工程问题能力的培养。结合本专业毕业生调查问卷和学生座谈意见,在新版教学计划中,程序设计基础理论课课时在原基础上减少16学时,程序设计基础课程设计实践教学环节在原基础上增加16学时,切实为提高学生解决复杂工程问题能力创造条件。结合2017级本专业本科生的调查问卷反馈,程序设计基础拟在2018级的理论课教学中采用小班授课模式,实验课教学中安排更多综合性和设计性题目,程序设计基础课程设计继续保持对学生具有挑战性的难度。本课程将继续改革创新,为最终达成工程教育的毕业要求不断提升课程教学质量。

6结语

通过应届和历届学生评估反馈的结果,本专业及本课程梯队能及时发现教学过程中存在的问题并积极改进,教学质量不断得到提升。随着新工科建设和工程教育认证工作的推进,随着对“解决复杂工程问题能力”的理解的深入,课程团队将继续改革程序设计基础课程设计,将教学反馈与预定教学目标进行对照,使课程教学始终处于持续改进的状态。

作者:邓春燕 周治国 陈娟 吕帅 单位:吉林大学 计算机科学与技术学院 东北师范大学信息科学与技术学院

相关热门标签