程序设计基础课程教学质量提升路径实践探索

作者: 苏国栋 郭永宁 赵少卡

程序设计基础课程教学质量提升路径实践探索0

摘要:针对程序设计基础课程特点并结合教学实际,探索在教学过程中通过改变教学理念、融入课程思政、灵活采用多种教学方法和教学手段、注重实践教学、构建多元化的学习平台、优化课程考核和评价体系等措施来提高教学质量,培养高技能应用型人才。

关键词:程序设计;课程思政;教学;实践

中图分类号:G642      文献标识码:A

章编号:1009-3044(2022)31-0158-03

1 引言

近年来,计算机的应用得到广泛普及,大力发展“智能+”产业也成了中国各行业转型的重中之重,旨在提升产业效率,实现以劳动力为主的重复制造向自动化、数字化生产转变。而实现自动化和数字化需要依靠计算机程序设计工程师来实施。因此,如何培养高技能的程序设计工程师就变得尤其关键。

其中,程序设计基础作为计算机类专业的基础课程,是计算机类本科生学习程序设计的入门课程,是培养高技能的程序设计工程师最重要的一环。通过该课程的学习,不但使学生掌握高级编程语言的知识、编程技术和基本算法,而且培养了学生严谨求实作风和对程序设计的兴趣,掌握计算思维和程序设计的思想和方法,具备利用计算机来求解实际问题的基本能力,为其他后续课程的学习打下扎实的基础,因此,程序设计基础课程教学质量在计算机类专业本科生教学中的重要性不言而喻。另一方面,计算机应用技术的普及、多媒体技术的成熟和新媒体技术的发展,进一步推动着传统程序设计基础课程在教材、教学方法和教学模式等方面的改革[1-3],仍处于探索和发展阶段。基于此,本文分析了程序设计基础课程教学中存在的问题,并就如何提高程序设计基础课程教学质量进行探索。

2 程序设计基础教学中存在的问题

现有计算机专业的程序设计基础教学往往存在着以下几个方面的问题:

1) 教学理念落后。以应试教育为主的教学理念难以满足现代学生的心理需求,且不利于学生素质能力的培养。

2) 育人的缺失。程序设计基础课程教学只进行知识能力的培养,而忽视了大学生世界观、人生观和价值观的塑造。

3) 教学方法和手段单一。传统的以讲授法的教学方法仍是主流形式,难以在课程中采用多元教学法。单一的教学手段,不利于激发学生学习兴趣,并难以有效、及时了解学生的学情。

4) 实践内容和平台陈旧。没有充分利用跨区域、跨时域的优质课程学习平台和编程类平台,使得学生缺乏获取知识的渠道和知识的扩展。

5) 课程评价体系不灵活。传统的课程评价体系中以考试成绩为主,而忽视了学生的个性发展,未能融合多元的、可量化的考核指标。

针对上述问题,本文从5个路径进行程序设计基础课程教学质量提升实践探索,如图1所示。

3 改变教学理念、融入课程思政

首先要摒弃程序设计语言课程只以讲述语法为主的落后面貌,本着面向未来的精神,把程序设计语言从应试课程转变为一种实践工具,主要目的不再局限于使学生单纯地了解和掌握程序设计语言的基本语法规范,而是要致力于培养学生运用程序设计语言解决实际问题的能力;以程序设计语言为工具,融入软件工程学的知识,介绍程序设计的基本思想和方法,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法融入古老的程序设计语言中,给程序设计语言一个焕然一新的姿态,并让学生从多角度、以多方式去了解和掌握程序设计语言以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编程,都具有灵活迁移这些思想和方法的能力。

其次,要精心挖掘课程背后的思政元素,围绕价值塑造、能力培养、知识传授的三维教学目标,充分挖掘专业知识中蕴含的思想、哲理、观点、精神等融入课程教学中,实现全员、全程、全课程育人,实现立德树人根本任务与课程的同向同行,形成协同效应,不断提升学生的家国情怀、人文素养、科学精神与职业道德[4]。具体,可通过以下四个方面进行挖掘:1) 树立爱国情怀。紧跟时事,引例诸如我国超算“神威·太湖之光”打破了国外的技术封锁等突破性实践,厚植学生的爱国主义情怀,增强他们的民族自豪感。2) 激发科技报国的使命担当。在教学过程中,教师时常与学生交流学习编程的初心和使命。鼓励学生立志参与国产操作系统和编程语言的设计和研发,从而打破国外在这方面的垄断霸权。培养他们为国效力为国争光的理想信念、科技报国的使命担当和锲而不舍的奋斗精神。3) 培养大国工匠精神和创新思维。程序设计是一项需要一丝不苟且逻辑非常缜密的工作。1996年,阿丽亚娜5型运载火箭的首航,因控制软件引发的问题导致火箭在发射37秒后自身毁灭,是历史上损失最惨重的软件故障事件之一。因此要培养认真严谨的学习态度、精益求精的大国工匠精神和勇于创新的信念。4) 强化工程伦理教育。为了培养新时代软件开发后备人才,夯实我国在软件开发领域的重要地位,本课程结合互联网用户数据泄露问题带来的安全性隐患,让学生树立程序设计与软件开发的安全意识,告诫他们要学好程序设计当红客,坚决不做黑客,设计编写传播非法软件将承担相应的国家法律责任,培养学生树立正确的人生观、世界观和价值观,要求他们按规则办事,遵纪守法。

4 灵活采用多种教学方法和教学手段

4.1 引入“实例教学”法和“任务驱动”教学模式,提高学生学习兴趣和解决实际问题的能力

秉持以学生为本的教学理念,通过引入“实例教学”法和“任务驱动”教学模式驱动教学法,改变传统满堂灌的做法,充分调动学生学习的积极性,使学生积极参与到教学活动中来。在新教学模式实践过程中,积极鼓励学生开放式思考和质疑,努力在尊重学生思维和教师良性引导间取得平衡,致力于创建更加自由的学习和讨论空间,最终建立学生学习信心和兴趣。此外,在培育学生解决实际问题能力方面,通过精心设计实例,既尽量覆盖程序设计语言中的主要语言要素又给学生一个比较实际的切入点入手初级程序设计;然后再通过环节引导和实例进阶将此实例不断修改、扩充,形成局部知识点串接,启发学生细化问题求解,引导学生逐步参与到程序的编写和修订过程中。比如:在引入循环结构这一概念时,可以通过提出问题j:输入三角形的三边长,求三角形面积(设输入的三条线段a,b,c能构成三角形),来复习顺序结构,接着在问题j的基础上去掉假设条件,提出问题k:输入三角形的三边长,求三角形面积,来复习选择结构。进阶地,在问题k的基础上提出问题l:不断输入三角形的三边长,求三角形面积,直到用户按“Y”键结束程序。通过实例设计与问题进阶,自然地引入循环结构这一概念,并且围绕循环结构概念展开教学,最后综合利用选择结构(if) 和循环结构来共同解决这一相对复杂且具有一定实际意义的问题。在这样的实例教学中,因为有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法评价、优化设计等几个环节,实际上是一个螺旋式滚动向前的教与学过程。在这个螺旋式不断向前的教与学过程中,能够非常自然地调动学生参与,而且通过问题的不断扩展,有效开阔学生的思维,使得学生在课堂上真正地成为“主体”,教师扮演“主导”角色,取得了良好的课堂教学效果。

4.2 利用现代化的教学手段,提高教学效率

通过精心制作程序设计基础多媒体课件及电子教案,利用多媒体投影进行教学,一方面可以将抽象理论利用动画的方式描述出来,该直观、有效的教学手段对于化解教学中的重点、难点问题可起到积极作用。如在讲解递归函数的汉诺塔问题时,通过动画演示盘子在三根柱子上的移动过程,使学生对这一典型而又难以理解的递归问题有直观的印象。另一方面通过使用多媒体教学节省了大量板书时间,加大了课堂讲授的信息量,教师在有限的学时中将更多时间放在重点、难点的教学,也有更多时间为学生答疑解惑及学习方法的指导。不过在利用多媒体教学时,还要注意结合传统的板书,如在讲解程序设计的算法思想、思路和步骤时就要启发、调动学生利用已有的知识参与到程序设计中来,而不是将事先编好的程序直接显示给学生,旨在培养学生良好的程序设计方法和解决实际问题的能力。除了主体教学内容采用现代化教学之外,利用诸如作业盒子等互动类辅助教学工具来提供教学练习和信息反馈,从而广泛调度学生参与教学活动,实时了解学生对知识点的掌握程度,构建老师、学生与教学内容之间的多元化联系,形成双向良性循环。

5 注重实践教学

在实践教学中,为了培养学生程序设计思想和编程能力,精心设计实验教学内容并选用合适的实验教学方法。首先在实验教学内容上,遵循由浅入深、循序渐进、精讲多练的原则,以主要知识点为主线、兼顾趣味性和实用特点,采用“小实验”与“大实验”相结合的方法来设计实验项目,如围绕着设计一个实用的可用菜单操作,具有增加、排序、查询、删除、修改、显示学生记录并对指定文件进行操作等功能的“学生成绩管理系统”这样的“大实验”,把其各个子功能设计成“小实验”融入各个相关的主要知识点的实践教学中。其次在实验教学方法的选用上,根据课程的性质要求、学生的情况等,在教学的不同阶段,灵活选用各种实验教学方法。如在程序设计语言教学过程中,在开始阶段,可以使用验证法:即给出若干程序,让学生调试运行,分析结果,以此来熟悉程序设计语言的运行环境,程序的编辑、调试方法;在教学中期,可以多采用模仿法:即模仿已讲解过的典型例题或算法编制出自己的程序,以达到举一反三的目的;在教学末期,应多使用探索法:即在实验指导中,可不必明确指定实验步骤,只给出实验要求和目的,让学生自行设计实验方案,这样可以增强学生独立性和主动性。最后为了提高学生综合编程能力,配合理论教学,还单独开设了一门程序设计基础实践,要求学生完成一个具备增加、删除、修改、查询等功能、代码量在500行左右的综合性程序,并且这种做法也推广到其他相关课程中,如数据结构、面向对象程序设计等。

6 构建多元化的学习平台,进一步提高学生学习和实践能力

首先通过建设在线开放课程探秘神奇的程序世界在学银在线上发布,构建了线上线下一体化教学环境,促进学生自主学习。慕课平台完成了两个环境的构建:一是构建了慕课教学平台支持下的课堂知识学习环境,可以充分利用学习通等软件,组织多种形式的面对面翻转教学活动,利用签到、投票、抢答等功能开展全方位的混合式教学。二是构建了慕课教学平台支持下的课后知识迁移环境,可以根据课堂教学进展以及学生掌握情况,合理设置课后探究学习任务,促进学生对所学知识的深化巩固。

其次构建课程实验教学辅助平台,该平台具有比较完备的课程实验教学管理,支持在线作业、在线实验、在线考试、在线答疑等课程管理功能,同时构建了一个支持代码自动评测的自动化交互学习环境,有效提高了实践教学质量。

此外,积极组织开展相关课程的系列讲座,组建编程集训队,举行程序设计及课外科技作品竞赛,鼓励学生参加各类不同层次的竞赛,如中国大学生程序设计竞赛 (CCPC) 、蓝桥杯全国软件和信息技术专业人才大赛、中国高校计算机大赛团队程序天梯赛、RoboCom机器人开发者大赛等。通过这些第二课堂的活动,以激发学生学习和钻研的兴趣。

7 优化课程考核和评价体系

首先积极通过教学活动、定期听课制度、期中教学检查、师生代表座谈会、问卷调查等方式广泛征求意见,并建立学生评教信息反馈机制,及时将相关信息加以反馈,以不断完善课程教学方法、改进课程建设方案。

其次通过改进本课程的考核方法,关注客观化考核与主观化考核的结合、过程化考核与个性化考核的结合,得到最真实的学生实际能力反馈信息,以促进教学方法与授课质量的提高。程序设计是一个“从量变到质变”的过程,学生只有通过一定代码量的训练才能达到课程训练的基本目标,因此要求学生通过实践教学和平台工具,在该课程学习阶段,应编写不少于2000行的代码,在课程考核时实施加权综合评价方法,注重平时代码成绩、慕课学习成绩、期中考核成绩、期末考试成绩的多元考核指标结合。

8 结束语

实践表明,上述教学措施的推行有效地提高了教学质量,改善了教学效果,学生的计算思维和实际编程能力得到锻炼和提高。学生在各级各类的学科竞赛中特别是程序设计类竞赛中频频获奖。但教学改革是一个长期的过程,它需在实践中不断深入与完善,以适应科学技术的发展和社会对高技能应用型人才的需求。

参考文献:

[1] 杨凡.C语言程序设计教学改革模式的探索与实践[J].福建电脑,2022,38(9):59-62.

[2] 苏小红,王宇颖,孙志岗.C语言程序设计[M].北京:高等教育出版社,2011.

[3] 史蒂芬·普拉达.C Primer Plus中文版[M].6版.北京:人民邮电出版社,2019.

[4] 赵少卡,郭永宁,林为伟.高级语言程序设计[M].北京:电子工业出版社,2020:54-55,60-61,80-81.

【通联编辑:朱宝贵】

收稿日期:2022-04-25

基金项目: 2020年福建省本科高校教育教学改革研究项目(FBJG20200056) ;2019年福建技术师范学院网络教育名师培育支持计划(WLMS005) ;福建省自然科学基金项目(2020J01300, 2022J01971, 2022J01974) ;2020年福建省线下一流课程——《程序设计基础》

作者简介:苏国栋(1989—) ,男,讲师,硕士,主要研究方向为多媒体信息安全、人工智能应用等;郭永宁(1966—) ,男,教授,硕士,主要研究方向为计算机应用、信息隐藏等;赵少卡(1980—) ,男,副教授,硕士,主要研究方向为云计算、软件工程等。

上一篇 点击页面呼出菜单 下一篇