王义宗 刘泽鹏 李菲 田纪亚
摘 要:本文旨在通过学习者的角度,探究程序设计类课程教学改革的实践与思考。以新疆理工学院计算机专业为研究载体,对该专业开设的程序设计类课程进行了调查与分析。结果显示,传统教学模式存在教学内容和方式相对单一、实践不足、样本片面等问题。基于此,本文以高质量就业为落脚点,针对程序设计类课程教学提出了采用项目驱动、案例教学、合作学习等教学模式,引入了教学内容体系化、学习资源网络化、学习模式个性化、教学评价多元化的四化原则,引导学生从思维到实践全面提升程序设计能力和工程应用能力。本文同时还讨论了适当增加开放性课堂、教师优化教学方式、多方面评估学生综合素质等教学策略,以期为程序设计类课程的教学改革提供更多思路和启示。
关键词:学习者角度;程序设计类课程;教学改革
中图分类号:G420
1 概述
随着信息技术的快速发展,计算机专业的人才需求日益增长,程序设计类课程作为计算机专业的必修课,同时作为提高学生计算机技能的核心课,涵盖了各种应用领域,也越来越受到国家的重视。本文立足于学习者角度,探究程序设计类课程教学改革的实践与思考[1]。
2 传统教学模式的现状与存在问题
2.1 现状分析
当前,程序设计类课程传统教学模式在一些高校依然存在,一些教师仍然采用传统的课堂授课方式,将大量的时间用于讲授知识点和语法规则,强调学生记忆和复述,缺乏实践和创造性思维训练。同时,教材的选用也存在问题,一些教材内容过于陈旧,无法满足实际应用需要。这种传统的教学模式的弊端在于没有强调实践能力的培养,对于程序设计类课程而言实践能力是最为重要的,学生需要通过大量的实践操作和编程练习来巩固和深化所学知识[2]。传统教学模式缺乏实践,不能满足学生真正需要的能力和技能。
另外,现在人工智能、大数据、互联网等技术的发展,对于程序设计能力的要求也越来越高。传统教学模式已经不能满足现实的需求,应该从课程设置、教材选用、教学方法、教学评价等多方面推进教学改革[3],以培养具有创新精神和实践能力的高技能人才为目标、以高质量就业为落脚点。
2.2 存在问题
2.2.1 教材内容与企业需求不匹配
根据前期文献查阅和调查发现,许多高校计算机专业的程序设计课程仍然使用过时的教材和技术,不能及时跟上行业发展的变化和需求的变化。导致学生学习到过时的知识和技术,以至于不能满足企业的工作需求。
2.2.2 方式单一,信息化工具应用不到位
传统的程序设计类课程教学模式对信息化工具的应用不到位,比如雨课堂、MOOC、智慧树等工具和平台,随着信息技术的发展,信息化工具对教学的辅助作用越来越突显,然而因为各种原因教师中使用信息化工具的人数和时长占比均很小,尤其老教师,几乎不使用,导致教学效果不佳。
2.2.3 实践性的训练不足
程序设计是一门实践性很强的学科,然而由于学时限制,加上学校硬件条件不足,很多程序编写训练变成了“纸上谈兵”,要求在草稿本上写写,导致学生在实际上机操作时经常出现代码运行错误甚至是不会编写代码的情况,使得应用型人才的培养大打折扣。
2.2.4 缺乏全方位和多元化的教学评价
教学评价是衡量学生学业成就和学习效果的重要手段。然而,目前在很多高校,对于教学评价仍然存在很多不足之处。首先,教学评价缺乏全方位的考虑。现阶段,在课程设置时过于重视对学生认知层面的培养,而忽略了对于学生情感、行为等其他因素的考量。其次,教学评价缺乏多元化的方式。传统模式常运用结构式考核方式对学生进行评价,这种方式的弊端在于难以全面地涵盖学生的各方面发展,同时也会因评价方式的单一化而影响教育的公正性。评价结果难以可靠地反映学生的真正水平,也使得评价结果难以进行横向、纵向的比较。
3 程序设计类课程教学改革的实践与思考
针对以上问题,本文提出了一些改革措施。围绕教学内容体系化、学习资源网络化、学习模式个性化、教学评价多元化的四化原则从教学内容、教学模式、教学方式、教学评价四个方面进行改革[4]。引导学生从思维到实践全面提升程序设计能力,提高就业竞争力,以期为学生的职业生涯夯实基础、做好铺垫。
3.1 教学内容改革
教学内容是教育教学的核心,教学内容的体系化是教育教学有效开展的基础。教学内容的体系化是指将教学内容进行分类、整理、组织和归纳,形成一套严密的教学体系,使学生在学习过程中能够有条理、系统地掌握知识。以下是教学内容体系化的几个方面。
3.1.1 塑造系统化的教学框架
首先根据学情分析来确认教学目标,然后对相关的知识点和技能点进行分类,构建教学框架。比如,将知识点分为基础知识点、语言知识点、应用知识点、框架和工具知识点,将技能点分为编码技能点、测试技能点、任务管理技能点、解决问题技能点,这样做可以让学生在学习的过程中有清晰的方向和基础。教师也可以在课程设计中更明确地设置阶段性的目标,集中精力解决学生知识点掌握中的瓶颈和难点。
3.1.2 扩展知识网络和知识深度
学生的学习兴趣和能力越来越多元化和个性化,因此,建立丰富、多层次、广泛的知识网络可以让学生在课堂中感到新鲜、有趣和吸引人,同时充实知识深度,能够让学生更深层次地理解知识,提高知识持久化和应用能力。比如学习编程语言,了解各类编程语言的特点和优势,并根据应用场景进行选择,满足多元化需求;学习新技术,了解行业发展的趋势和动态,如人工智能区块链等;学习算法和数据结构提高编程思维和能力。另外,通过深入研究框架和工具,查阅相关书籍和文章,学习其原理和思想,以参与开源项目方式提高编程能力和经验,了解项目设计和实现,掌握新技术。
3.1.3 教学内容与实际应用结合
教学内容应该贴近现实,把学到的理论知识和实际应用相结合,用实例来帮助学生理解知识点的内涵和实质。比如,采用案例分析将理论知识和实际应用进行结合,在案例中掌握实际应用中的问题与难点,可以通过指定实际的应用场景,让学生进行分析和思考,从而更好地理解知识点,这样做可以让学生更容易将抽象知识点与实际问题建立联系,从而更轻松地掌握知识,更好地培养学生自主解决问题的能力。
3.1.4 建立开放性的教学体系
传统模式注重的是以教材为主传授知识,而现代教育应更加强调开放、创新和拓展。教学内容体系要保持开放性,与时俱进,随时更新最新技术、理论和发现,使学生始终处于学习的前沿。
3.2 教学模式改革
教学模式改革应该以学生为中心,提高学生的学习主动性和参与度,充分发挥学生的主观能动性,在教学过程中多采用研究性、创新性、合作性等教学模式,激发学生学习积极性。同时,加强师生互动,引导学生探究问题,独立思考,解决问题,发挥学生的创新能力和实践能力,使学生在学习中体验到乐趣。
3.2.1 项目驱动式教学模式
在项目驱动教学模式中,以项目为核心,以实战为主导,把实战与理论联系起来,通过实际的项目,学生可以在反复的实践中不断探索编程的思想和实现方式,真正地完成自己的编程任务,提高自己的实践能力和创新能力[5]。
3.2.2 案例教学模式
案例教学是一种基于实践和经验探究的教学方法,以具体的应用场景为主线,向学生展示和分析实际编程案例,学生可以在模拟实际问题的过程中,更好地理解知识点[5]。比如,在循环结构中,可以引入生活中常见的“数数字”问题,让学生借助循环结构计算整数的位数;数组结构中,借助一维数组存储学生的成绩、员工的工资等。案例教学将具体的例子与抽象的概念进行结合,激发学生的思维,提升学生的学习兴趣。
3.2.3 合作学习模式
经过调研,目前很多学校采用传统学习模式,主要包括教师课堂授课、学生阅读教材、课后作业、考试评估四个过程。对于程序设计类课程而言,经常需要学生以团队形式完成某项工作,尤其是开发大型软件系统需要团队合作才能完成,而传统教学模式显然不能满足需要。本文提出采用小组合作的方式来学习,在学习的过程中,同一小组学生使用彼此的资源和能力,共同达成学习目标,加强了学生之间基于竞争合作的关系和互动,培养了学生的团队合作精神。
3.3 教学方式改革
3.3.1 增加开放性课堂
传统的程序设计类课程教学模式纯粹采用基于讲授理论知识和演示实例的方式,缺乏互动和合作交流的环节,导致学生的学习兴趣和积极性降低,同时也难以满足不同学生的学习需求。为了解决这一问题,提出了增加开放性课堂(Open Classroom),不再以纯粹授课为主,而是强调学生的自主性学习和探究,鼓励学生发表自己的认识和想法,教师也加强与学生的互动,对学生进行启发式教育。
3.3.2 使用新型信息化工具
在当今信息技术高度发达的时代,在教学中利用多种多样的媒体,展示多方面的信息、图片等,使课堂变得更加生动有趣。比如,借助雨课堂、MOOC、智慧树等工具不仅方便快捷,提高了效率,满足了学生的个性化学习,增加了师生的互动交流,还可以辅助教师进行教学全过程管理。
3.3.3 适应学生的学习特点
了解学生的特点和学习兴趣,然后采用有效的教学方式,如多样化的教学方法,学生的学习特点各不相同,有的学生喜欢听讲,有的学生喜欢看图表,有的学生喜欢动手实践。因此,教师应该采用多种教学方法,如讲授、演示、实验、讨论、小组合作等,以满足不同学生的学习需求。另外可以制订个性化的学习计划,根据学生的实际情况,合理安排学习内容和学习进度,让学生在适当的时间内掌握知识,并要求给予及时的反馈和评价,以便及时调整学习策略和提高学习效果。
3.4 教学评价方式改革
当前,学校的程序设计类课程的教学评价主要以课堂考试为主,缺乏综合评价的手段,很难全面有效地评价学生的学习成果。因此,需要采用多元化的教学评价方式,在评价中需考虑学生就业和课程目的的统一,这是评价改革的基本原则。新的评价模式应该从以下几个方面进行。
3.4.1 采用项目制,增加实践考核
以实践能力为主要考核内容,教师可以根据学生的项目完成度、代码质量和可操作性等进行综合评估,让学生在项目中体现编程的基本能力和实际应用能力,从而提高学生的实际技能。
3.4.2 精益编程
精益编程注重的是代码开发的效果,学生需要针对教师指定的任务设计编程流程,让学生更注重代码设计的流程和产品质量。当学生提交代码后,教师可以通过代码概要评估、代码细节审核和代码整体成果评分,让学生对代码的结构、风格、可读性、公共接口的协助、注释和代码工艺品质等方面进行反思和继续完善。
3.4.3 课堂互动式讨论
这种方式主要应用于课程中的教学案例分析,学生需要熟练掌握教学案例中的关键知识点、原理和代码实现思路,通过课堂互动探讨,考核学生对代码设计流程的理解和应用能力。
3.4.4 阶段性考试
定期由教师设计实际应用和编程难度适中的考试试题,要求学生熟练掌握知识点和代码操作能力,完成指定的编程任务,并将阶段性考核结果作为本课程的考核依据。
3.4.5 增加期中与期末任务考核
通过分别布置期中与期末编程任务,以完成度来考核学生对编程思想、视角和能力的掌握与应用,并为下一章、下一课的教学提供总结和指导。
通过以上这些新型评价方式,可以更充分地发挥编程课程评价的效应,可以更好地考核学生在编程实践过程中的实际能力,并在课程审核过程中获得真正有价值的反馈信息,帮助学生从中寻找自身的学习优缺点,并不断提高自己的编程技能,为提高学生的创新和创造能力打下坚实基础。
4 结论
本文以新疆理工学院计算机专业为载体,从学习者角度探讨了传统程序设计类课程教学的现状,分析了存在的问题和不足,并以此提出了教学内容体系化、学习模式个性化、学习资源网络化、教学评价多元化的四化原则,从教学内容、教学模式、教学方式、教学评价四个方面进行了改革和探索,提出了自己的思考,以期为计算机专业教育提供新思路和新方向。
参考文献:
[1]常兴治,蔡文博,唐小燕.基于学生行为数据反馈的精准教学模式设计与实践[J].常州信息职业技术学院学报,2023,22(02):3538.
[2]赵响.新时期高校电子信息类应用型人才培养策略——评《行业特色类高校人才培养模式改革与探索》[J].中国高校科技,2021(11):101.
[3]黄勤英,张海全.校企合作开展订单式人才培养模式的探索与实践[J].轻工科技,2022,38(06):111113.
[4]聂黎生.高校计算机公共课混合式教学改革研究与探索[J].软件导刊,2023,22(02):184187.
[5]任倩,姚光顺,胡晓静,等.基于OBE理念的“Web前端开发”课程教学改革与实践[J].滁州学院学报,2021,23(05):126130.
基金项目:2023年度新疆维吾尔自治区高校本科教育教学研究和改革项目(XJGXZHJG202347);2022年教育部产学合作协同育人项目(220606048144041);新疆理工学院2023年度校级教改项目(PT2023013)
作者简介:王义宗(1990— ),男,汉族,甘肃庆阳人,硕士研究生,讲师,研究方向为医学图像处理、高等教育模式改革;李菲(1995— ),女,汉族,河南义马人,硕士研究生,讲师,研究方向为数字媒体再现;田纪亚(1978— ),男,汉族,吉林长春人,硕士研究生,教授,研究方向为计算机视觉处理。
*通讯作者:刘泽鹏(1991— ),男,汉族,山西吕梁人,硕士研究生,讲师,研究方向为医学图像处理。