面向新工科的C语言程序设计教学模式改革实践与研究

2023-11-20 04:06:52于刚贾志娟
互联网周刊 2023年20期
关键词:C语言程序设计教学模式改革新工科

于刚 贾志娟

摘要:在新工科的背景下,高校“C语言程序设计”课程在计算机相关专业的重要性越来越高,然而传统的教学模式存在理论教学和实践训练之间的矛盾。为了解决这个问题,分别从学生和教师的角度进行分析,在教学改革上通过多种模式,结合案例探究C语言教学的新思路和新方法,旨在提高学生的学习效果和能力水平。

关键词:新工科;C语言程序设计;教学模式改革;案例探究

引言

世界范围内新一轮的科技革命和产业变革,以及席卷全球的新经济的蓬勃发展,对工科教育的改革和发展提出了新的挑战,新工科建设的提出正是对这一挑战做出的积极回应[1]。新工科发展战略的推动,标志着高等教育向更加注重学生的自学能力、创新能力、实践能力及综合素质的培养方向转变。在此背景下,“C语言程序设计”课程在计算机专业的重要性不言而喻。传统的C语言教学存在重视语法教学但计算思维和编程能力培养不到位、实验教学缺乏完善的步骤和量化指标、考核方式单一、学生的实验作业敷衍了事、抄袭等一些问题[2]。这些问题导致学生对C语言的学习兴趣不高,只是掌握了语法,实践能力却很弱。因此,我们迫切需要寻求新的教学模式以适应新工科的要求,理论与实践并重,提升“C语言程序设计”等课程的教学质量。新的教学模式应满足新工科人才培养的需求,适应新时代教学目标的要求。为实现这一目标,本文提出了基于新工科人才能力培养的C语言程序设计创新应用型教学模式,并进行了创新型教学改革的尝试。

1. 存在的问题

“C语言程序设计”注重向学生传授实践技能和计算机思维,是严重依赖于动手实践的课程,其中蕴含了结构化程序设计思想的精髓,对于其他编程语言的学习具有指导性意义。在探索新的教学模式以适应新工科课程体系的过程中,我们发现了一个实际问题:教师在课堂上讲解理论知识的时间较长,给学生的实践训练时间不足,而学生在课下又往往缺乏自主训练的动力,从而无法达到教学目标。

1.1 学生角度

(1)学生的编程基础与技术能力呈现出明显的层次性差异。这个问题主要源于中学阶段编程教育的不足和差异化。在中学阶段,编程教育往往只是作为选修课或者附加课程,而且很多学校缺乏合适的教材和教师资源。因此,学生在编程基础和动手能力方面存在较大差异。

(2)普遍存在自主学习能力和动力的不足。中学階段的学习模式往往以被动接受为主,学生习惯了老师的讲解和传授。因此,当他们进入大学阶段,需要进行更多的自主学习时,会感到困难和不适应。

(3)学习目标缺乏明确性,学习兴趣缺失。学生对于学习C语言的学习动机和目标可能不够明确。如果学生没有清晰地认识到学习C语言的重要性和应用价值,他们可能难以建立起对该课程的兴趣和学习目标。

(4)对实践课程存在较为明显的畏惧情绪。中学阶段的教育往往过于注重知识的传授而忽视了动手实践能力的培养。因此,当学生进入大学阶段,面对实践型的课程,他们可能会出现畏难情绪和对考试结果的担忧。

1.2 教师角度

(1)传统教育观念仍然在一定程度上影响着教育过程。尽管教育改革已经在多个层面进行,但传统的教育理念特别是知识传授的教学模式仍然在很大程度上塑造了教育活动的形态,这使得教师在教学中过于强调理论知识的传授,而忽视了学生的实践能力和问题解决能力的培养。

(2)教师的专业发展受到其自身经验和教学资源的制约。许多教师可能由于经验的不足或者教学资源的限制,无法充分发挥教学能力,这在一定程度上影响了教学活动的效果。

(3)教育评价体系的压力可能影响教学活动的进行。在当前的教育环境下,对学生学业成绩的高度关注可能导致过度重视测试成绩,从而限制了教学活动的多元化发展。

(4)教育活动缺乏多样化的教学方法和策略。在很多情况下,教学活动可能过于依赖单一的教学方法,如讲授法或者研讨法,缺乏对多样化教学方法和策略的有效利用,难以满足不同学生的需求和学习风格。

2. 教学改革

2.1 混合式教学

混合式教学[3]是将面授和在线学习相结合的一种学习模式,旨在有效地教授知识,将被动学习和主动学习结合,实现以教师为中心向以学生为中心的转变。混合式教学强调实践和应用,让学生接触到真实的问题和编程挑战。通过解决这些问题,学生能够培养解决问题的能力和创新思维,提高他们在面对复杂问题时的分析和解决能力。以C语言中的循环结构教学单元为例,可以构建一个基于混合式教学的教学案例。

(1)预习资料:教师在课前提供一份在线的预习资料,介绍循环结构的概念和用法。预习资料中可以包括一些示例代码和练习题,供学生进行自测和巩固。

(2)在线讨论和合作学习:在课堂上,教师引入一个在线讨论平台,让学生在平台上提出关于循环结构的问题、分享经验和解决问题。学生可以在平台上互相讨论和解答问题,从而加深对循环结构的理解和应用。

(3)实践项目和案例研究:教师设计一个实践项目,要求学生利用循环结构编写一个简单的程序,例如打印九九乘法表。教师可以提供一些案例和指导,学生可以根据自己的兴趣和能力进行编码和调试。

(4)在线测验和评估:在课程结束前,教师可以利用在线测验工具对学生进行一次小测验,测试他们对循环结构的掌握程度。学生可以通过在线测验及时了解自己的学习情况,并得到教师的反馈和指导。

通过这样的混合式教学,学生可以在课前通过预习资料了解循环结构的概念和语法规则,课堂上通过在线讨论平台进行交流和合作,实践项目可以提高学生的实践能力和问题解决能力,而在线测验和评估可以帮助学生了解自己对循环结构的掌握情况。这样的教学方式能够激发学生的学习兴趣和动力,提高他们对循环结构的理解和应用能力。

2.2 项目驱动式教学

项目驱动式教学是一种主张自主探索,注重培养学生实践操作能力的多学科交融的新兴教学模式[4],通过让学生参与实际项目的设计、开发和实施过程,来促进他们的学习和能力提升。在项目中,学生需要面对实际问题和挑战,并通过分析、思考和实践来解决问题,提高实践能力和问题解决能力。以C语言的函数和指针教学单元为例,构建一个基于项目驱动式教学的教学案例,设计一个简单的学生成绩管理系统。

(1)项目目标:设计一个C语言程序,实现学生成绩的录入、查询和排序功能。

(2)项目要求:学生信息的录入,保存到一个结构体数组中。学生成绩的查询,输出查询结果。学生成绩的排序,输出排序结果。

(3)项目步骤:进行团队组建和角色分工,学生分成几个小组,每个小组负责一个项目。小组内部可以设几个不同的角色,如项目经理、程序员和测试员等。在项目计划和进度安排方面,小组成员可以共同制定项目计划和进度安排,明确每个成员的任务和时间节点。

(4)项目展示和评估:在项目完成后,学生可以进行项目展示,向全班展示成果和解决方案。教师和其他学生可以提出问题和建议,对项目进行评估和反馈。

通过这个案例,学生可以通过实际项目的设计和开发,巩固和应用他们对函数和指针的理解和掌握。他们可以通过团队合作和实践,提高问题解决能力和创新精神。同时,通过项目展示和评估,学生可以得到及时的反馈和指导,进一步提高学习效果和能力水平。通过项目驱动式教学,学生的实践能力能够大幅度提升。

2.3 以研促教,教研相长

教学和科研是高校的两大基本职能,两者相互关联,相互促进[5]。教学是科研的前提和基础,科研是教学的发展与延伸。建立科研与教学的互动机制,鼓励教师开展科学研究项目并将科研成果应用于教学中,提升教学质量和水平,吸引学生的学习兴趣,从而提高教学效果。

以教师开展国家自然科学基金项目《基于复杂网络的传染病朔源研究》研究为例,通过案例来展示如何在C语言教学中进行以研促教、教研相长。教师可以将复杂网络中的相关基础算法概念引入C语言中的具体知识点的教学中。复杂网络研究中的图论、网络分析等概念和方法,可以与C语言中的链表、树等数据结构相对应。教师可以设计一个案例,要求学生使用C语言实现一个基于链表的图数据结构,并且应用复杂网络的相关算法来分析和处理这个图。

在教学过程中,教师可以通过讲解和讨论,将自己的科研项目中的理论和方法与C语言教学内容相结合。教师可以向学生介绍自己的科研项目,讲解研究中遇到的问题和解决方法,并且与学生共同探讨如何将这些方法应用于C语言教学中。通过与学生的互动和交流,教师可以进一步验证和改进科研项目中的理论和方法,并且可以从学生的反馈中获得新的启发和思路,促进科研项目的进一步发展。学生参与教师科研项目,并在教师指导下进行科研探索。

2.4 以赛促教、以赛促学

在“C语言程序设计”课程中,结合郑州师范学院信息科学与技术学院搭建的OJ(online judge)训练平台(http://acm.hi-54.com/)和ACM ICPC竞赛模式在C语言课程中进行教学,高效地提升学生编程能力。OJ平台上提供了大量的编程题目,涵盖了各种难度和类型,为学生提供了丰富的编程训练资源。通过ACM ICPC竞赛模式的训练,学生需要在限定时间内解决一组问题,这对他们的编程能力和快速解决问题的能力提出了高要求,从而有效提升他们的编程水平,同时培养学生解决复杂问题的能力。在OJ平台和ACM ICPC竞赛中,学生需要解决的往往是实际问题的抽象和简化,这需要他们具备良好的逻辑思维能力和解决问题的能力。这种模式鼓励学生思考如何使用计算机解决复杂问题,而不仅仅是编写代码。通过实际编程和参与比赛,学生的动手实践能力将得到锻炼和提升,有助于他们更好地理解和应用理论知识。以赛促教、以赛促学,使学习变得更加有趣和挑战性,真正提高学生的学习兴趣和积极性。通过改革后的教学模式,学生在各大比赛中屡次取得显著的成绩。

2.5 挖掘思政元素,激发内在动力

作为思维跳跃范围广、掌握新知能力强,但社会经验不足的青年群体,大学生普遍在理想信念等精神层面相对欠缺[6],填补这些精神层面的空白,不能仅依赖外在推动,而必须依赖学生自身的内在动力。在“C语言程序设计”课程中引入思政元素有助于引领大学生树立崇高理想信念和正确价值观念。教师在教学时不仅需要耐心细致地传授专业知识,还要通过课程的思政元素使学生懂得做人做事的道理,在春风化雨润物细无声中培育学生树立和践行社会主义核心价值观,增强学生的责任意识、鲜明的政治取向,促使学生成长成才,起到教学育人的职责。例如,在讲授函数的概念时,可以将其与社会责任和分工合作的理念相结合。我们可以解释,每个函数都有其特定的任务,就如同社会中的每一个人都有其特定的责任。一个程序中的函数需要协同工作以完成整个程序的功能,这正如在社会中,我们需要分工合作,才能实现更大的目标。在“C语言程序设计”的教学中,融入这些思政元素,既可以帮助学生更好地理解编程概念,也可以引导他们思考社会责任和道德伦理的重要性,以此培养他们的道德观念和社会责任感。

结语

在新工科的背景下,程序设计与系统开发能力成为计算机类专业毕业生应具备的基本且重要的能力,同时也是学生创新能力的基石。作为计算机类专业的基础课程,“C语言程序设计”的教学质量以及学生的学习成果,对学生后續课程的学习、计算思维的建立、学习习惯的形成以及计算机系统和创新能力的提升都具有深远影响。需要强调的是,教学改革是一项涉及多个环节的系统工程,需要教师持续尝试、实践,并根据实际需求以及学生的反馈进行微调和优化。我们期望在将来的教学活动中,这一模式能够得到持续改进,为新工科背景下的C语言程序设计教学提供更好的支持,更有效地培养学生的专业技能和提升综合素养。

参考文献:

[1]林健.面向未来的中国新工科建设[J].清华大学教研,2017,38(2):26-35.

[2]杨琦,张晓月,韩鑫.C程序设计课程案例教学内容研究与实践[J].高教学刊,2023,9(12):112-115.

[3]李雷孝,翟娜,王慧,等.以学生为中心的Java高级程序设计混合式教学模式研究与实践[J].计算机教育,2022,(3):148-152.

[4]刘慧,田元荣.项目驱动教学模式评价研究——基于生命周期理论视角[J].教育教学论坛,2023,(12):37-40.

[5]刘玉荣,胡荣,王锦标,等.基于高校科研平台反哺教学的探索与实践[J].高教学刊,2022,8(34):91-94.

[6]李心记,卢泽慧.伟大建党精神融入大学生理想信念教育探析[J].华北水利水电大学学报(社会科学版),2023,39(3):71-77.

作者简介:于刚,硕士研究生,助教,研究方向:计算机应用;通信作者:贾志娟,硕士研究生,教授,研究方向:信息安全,计算机应用。

基金项目:河南省高等教育教学改革研究与实践项目(编号:2021SJGLX579);郑州师范学院本科教学改革研究重点项目(编号:JXGGZD-001211570)。

猜你喜欢
C语言程序设计教学模式改革新工科
面向新工科的Python程序设计交叉融合案例教学
计算机教育(2017年8期)2017-09-01 15:00:02
新工科形势下高校二级学院毕业设计管理探索
科技视界(2017年10期)2017-08-21 07:51:35
新工科背景下大学生创新创业教育探索
网络新应用环境下JavaWeb课程教学改革研究
计算机教育(2016年9期)2016-12-21 00:25:47
家居空间设计项目化教学模式改革的国际比较研究
基于微课的高职艺术设计类专业教学模式改革
考试周刊(2016年89期)2016-12-01 12:21:49
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
软件工程(2016年8期)2016-10-25 16:02:07
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
科技视界(2016年22期)2016-10-18 16:12:24