1. 引言
在信息技术高速发展的今天,C语言作为编程领域的重要基石,其教学质量直接影响到学生的专业素养和未来发展[1]。然而,传统的C语言程序设计教学模式往往侧重于理论知识的传授和编程技巧的训练[2],忽略了学生作为学习主体的主动性、创造性和实践能力[3]。面对这一现状,本文在全面梳理国内外C语言教学改革研究成果的基础上,深入分析了当前教学模式存在的问题,并提出了基于Researcher Learning Model (RLM)的教学模式改革思路。RLM教学模式通过模拟真实研究情境,采用问题导向学习、多维视角分析、实践探索与迭代优化等方法,旨在培养学生的自主学习能力、批判性思维、解决问题能力和创新能力,使C语言学习更加符合学生的认知发展规律。
2. 国内外研究现状概述
近年来,基于多种先进教学理念的教学模式,如成果导向教育(Outcome-Based Education, OBE) [4]、项目驱动教学[5]、翻转课堂(Flipped Classroom) [6]以及在线学习平台[7]等,逐渐在高校教学中得到广泛应用。本节对现有国内外关于C语言教学改革的研究成果进行了全面的梳理和对比分析。
2.1. 成果导向教育(OBE)
OBE是一种以学习成果为导向的教学模式,强调学生的学习成果而非教学进程。在C语言程序设计课程中,OBE模式通过明确的学习目标和预期表现,引导学生自主学习,逐步达成目标。其优点在于扩大学生的学习机会,使每个学生都能按照自身的学习节奏和风格获得成功;同时,OBE模式注重知识的整合与应用,有助于培养学生的综合能力和创新精神。然而,OBE模式对教师的专业素养和课程设计能力要求较高,需要不断更新教学内容和方法。
刘怡[4]为突破C语言实验教学的难点,通过引入OBE模式来优化实验教学的课程目标,提高了实验课程的教学质量。Gou P [8]等人结合计算思维 + 信息技术赋能专业学习,根据不同专业的特点,开展了基于OBE理念的Python课程教学设计,有效提高学生的学习效果,培养学生的计算思维能力和创新能力。王春莲[9]基于OBE模式探究了高职院校C语言程序设计课程的教学改革思路和具体实践策略。
2.2. 项目驱动教学
项目驱动教学方式继承的是Learning by Doing的教学思想。是一种以项目为核心的教学模式,通过完成具体项目来激发学生的学习兴趣和动力。在C语言程序设计课程中,项目驱动教学能够帮助学生将理论知识应用于实践,提升解决实际问题的能力。该模式的优点在于能够调动学生的积极性,增强自信心,培养团队合作精神和创新能力。然而,项目设计需符合学生的就业预期和当前发展水平,且需配备足够的教学设备和资源,否则可能影响教学效果。
杨可扬[10]等人从技术发展的角度分析了传统教学模式不足形成的各种原因,并提出了基于NodeMCU项目驱动的C语言程序设计教学模式。Yu M [11]等人探讨了如何结合新工程教育理念,通过教学改革提升学生的编程能力和创新意识,并在实践得出结论:以培养新的工程人才为基础的C语言程序教学改革能够有效激发学生的学习兴趣。
2.3. 翻转课堂和在线学习平台
翻转课堂和在线学习平台都是一种颠覆传统课堂的教学模式,将知识传授环节放在课前或是课后,通过微课视频等形式让学生自主学习;课堂时间则主要用于讨论、答疑和实践活动。在C语言程序设计课程中,此类学习方式能够提高课堂效率,尤其适合忙碌的学生和需要反复学习理解的学生。然而,该类新颖的课堂模式对教师制作微课视频和设计导学案的能力要求较高,且无法实时掌握每个学生的真实学习进度。
滑梦荻[12]对混合式教学模式下的课程思政进行了简单的实践探索,并且从两个方面分析了混合式教学模式下课程思政的特殊性。Liebenberg J [13]提到了在疫情期间学校已从线下学习转换为在线学习的形式,这个过程中大多数学生都有积极的在线学习体验,但也有部分学生对在线学习的偏好的看法存在很大差异。Levin R C [14]研究了在线教育MOOC (大规模开放在线课程)在十年中的全球影响,其总结出MOOC扩大了一流大学开展的活动范围,并将继续大幅扩大获得低成本、高质量教育的学习者群体。
综上所述,OBE、项目驱动教学、翻转课堂以及在线学习平台等多种教学模式在教学课程学习中的应用各具特色,既有显著的优势,也存在一定的局限性。本研究充分借鉴这些教学模式的优点并结合课程特点和学生实际,探索出更加高效、科学的Researcher Learning Model (RLM)教学模式,以提升学生的创新能力和综合素质。
3. RLM教学模式设计思想
在C语言教学领域,特别是对于大一新生而言,传统的教学模式往往侧重于语法规则的讲解与编程技能的直接传授,忽略了学生作为学习主体对新知识的探索过程。本研究提出的Researcher Learning Model (RLM)教学模式,旨在通过模拟研究者发现问题、分析问题、解决问题的过程,激发学生的学习兴趣,培养其自主学习能力、批判性思维和解决问题的能力,使C语言学习更加符合学生认知发展的自然规律。
3.1. 模拟真实研究情境
RLM教学模式首先结合OBE模式构建一个贴近现实的研究情境,让学生在虚拟或实际的项目背景中开始他们的学习旅程。例如,可以设定一个基于C语言开发的简单计算器、小游戏或数据处理功能作为项目导向,让学生感受到学习C语言的实用性和趣味性。
3.2. 问题导向学习
问题导向学习是RLM教学模式中最核心的思想。在项目中,教师不再直接传授知识点,而是引导学生通过项目需求发现具体问题。学生需要思考:“这个功能的现实逻辑是什么?”“为了实现这个功能,我需要学习哪些知识?”“这些知识我应从哪里获取?”这些问题导向的学习方式促使学生主动探索和学习,增强学习的目的性和动力。
3.3. 分析问题的多维视角
在发现问题后,鼓励学生从不同角度分析问题,如容器选择对应变量定义、逻辑推理对应算法设计、获取结果对应代码输出等。通过小组讨论、文献查阅、新型线上学习方式等方式,培养学生批判性思维和团队合作能力。教师在此过程中充当引导者和资源提供者的角色,帮助学生构建知识框架,但不直接给出答案。
3.4. 实践探索与迭代优化
学生根据分析结果尝试编写代码,并在实践中不断调试、优化。RLM也引用了“Learning by doing”的理念,通过反复的实践与反思,学生不仅掌握了C语言的语法和编程技巧,更重要的是学会了如何面对和解决编程中遇到的各种问题。
3.5. 反思总结、持续学习与创新能力培养
项目完成后,组织学生进行项目总结和反思,分享学习过程中的收获、遇到的挑战及解决方法。通过撰写报告、展示成果等形式,促进知识的内化和深化,同时增强学生的表达能力和自信心。并鼓励学生保持对新技术、新知识的探索热情,不断拓宽视野,提升自我学习能力。通过参与开源项目、竞赛、科研活动等方式,激发学生的创新潜能,为未来的学习和职业生涯奠定坚实基础。
RLM教学模式RLM教学模式将研究者的探究过程融入C语言教学中,通过模拟真实研究情境、问题导向学习、多维视角分析、实践探索与迭代优化、反思总结与知识内化以及持续学习与创新能力培养等环节,有效提升了学生的自主学习能力、批判性思维、解决问题能力和创新能力,更符合大一新生接触新事物的自然规律,为C语言乃至其他编程语言的教学提供了新的思路和方法。
4. 基于RLM的高校C语言程序设计教改具体实践结果分析
本研究将Researcher Learning Model (RLM)教学模式应用于四川大学锦江学院计算机学院的C语言程序设计课程中,旨在通过模拟研究者的探究过程,提升学生的学习主动性、批判性思维和问题解决能力。以下是对该教学模式具体实践结果的详细分析。
4.1. 具体实践过程
(1) 多维度的教学目标设置
掌握C语言的核心知识:能够灵活运用这些知识解决实际问题。
培养学生创新思维:在能够有效解决问题的基础上,鼓励探索新方法和技术。
提高学生团队协作能力:有较好的团队合作、项目管理和沟通能力。
(2) 组织学生学习
课程启动:在课程开始前,通过一次介绍会向学生介绍RLM教学模式的理念、课程目标、项目背景及考核方式,激发学生的学习兴趣和期待。
分组策略:根据学生的学习基础、兴趣特长和性格特征进行异质分组,每组4~5人,确保组内成员能够相互学习、优势互补。
(3) 学习过程
项目选择:参考实际应用场景,通过多个小项目的集体学习,构建学生完备的结构框架体系。最后提出包括“学生成绩管理系统”、“简易文本编辑器”、“简易计算器”等多个C语言项目,供学生选择或由教师指定进行实践。
问题导向学习:学生根据项目需求,自主提出需要解决的问题,并通过教材、网络资源、小组讨论等方式寻找解决方案。
实践探索:学生在项目实践中不断试错、调试和优化代码,教师定期组织代码审查会,提供指导和反馈。
线上学习平台:利用MOOCs (如中国大学MOOC、Coursera等)、GitHub、在线编程练习平台(如LeetCode、Codeforces)等线上资源,为学生提供丰富的学习材料和编程实践机会。
激励策略:通过每个小组完成任务的效率,给予不同的奖惩机制,提高小组成员间的凝聚力。例如,每个项目小组开始前制定项目完成的deadline。如果,在deadline之前完成并通过检验则有对应的奖励;相反,在deadline之后完成则会有一定的惩罚。
(4) 考核内容
为更好地衡量学生的学习成果,C语言程序设计课程采用了新的评估机制,即考试成绩和平时成绩各占50%。其中,考试成绩主要考察学生对基本语法和编程思维的掌握,平时成绩则综合了多项指标。以下是平时成绩的每项指标描述。
过程考核:包括参与度(如小组讨论贡献、在线学习时长)、阶段性成果(如项目报告、代码提交记录)等,占总评的50%。
项目展示与答辩:每个小组需完成项目的最终展示,并进行答辩,占总评的30%。
编程能力测试:通过编写特定题目的C语言程序,测试学生的编程能力,占总评的20%。
4.2. 学生积极性和满意度分析
在RLM教学模式实施后,本研究通过问卷调查和课堂观察收集了学生对该教学模式的积极性和满意度数据。以下是基于量化数据的分析。
积极性评估:积极性评估的数据样本来源于每节课堂中同学们的互动气氛的强弱,由教师客观评价学生的上课积极性,每个样本内容包含5点量表(非常不积极–非常积极)。由图1学生积极性分布图所示,纵轴为积极性等级(非常不积极–非常积极),横轴为对应课时数。在64节课时的“C语言程序设计”课程中超过80%的教学课程,学生“积极”或“非常积极”地参与到学习中,平均得分为4.14分(满分5分)。教学过程中也能够清晰体会在项目实践阶段,学生的积极性显著提升。
满意度分析:满意度评价的数据样本来源于整体课程结束后设计的问卷调查结果,询问学生对RLM教学模式的整体满意度,满意度调查同样采用5点量表(非常不满意–非常满意),此外还追加了课程评价内容填写。如图2所示,调查结果显示,近90%的学生表示对教学模式“满意”或“非常满意”,平均得分为4.3分。由此可以看出,该模式下的学习能够激发学生的学习兴趣并提升学习效果。
Figure 1. Distribution of student motivation
图1. 学生积极性分布图
Figure 2. Student satisfaction analysis chart
图2. 学生满意度分析图
其次,将收集到的所有学生对课堂结构的评论进行关键词云分析,得到下列图3词云展示图。图中可以看出,学生对课程的评价大部分是较好的。其中,也有同学指出自己的学习方式更喜欢安静的环境,以及觉得实践过长有点浪费时间。在后期教学过程中,本研究会进一步加强改进上课模式,尽可能地符合学生的需求。
Figure 3. Review word cloud display chart
图3. 评论词云展示图
4.3. 实践项目完成效果
在课程结束时,对各小组的实践项目完成效果进行了综合评估,包括项目质量、创新性、团队合作及问题解决能力等方面。以下是基于量化数据的详细分析。
如图4所示,横坐标表示项目组编号,左边纵坐标表示创新点和解决关键技术个数,以及项目整体质量(总分10分);右边的纵坐标表示综合成绩分数(总分100分)。
项目质量:通过教师评分和学生互评的方式,一半的项目获得了“优秀”或“良好”的评价,表明大多数小组能够按照项目要求高质量地完成任务。
创新性:鼓励学生提出创新思路,在项目中融入自己的创意。评估结果显示,有40%的项目展现出了较高的创新性,如使用了独特的思想、界面设计或功能实现。
团队合作:通过问卷调查和观察,我们发现RLM教学模式下的团队合作更加紧密和高效。90%的小组表示在项目过程中成员之间沟通顺畅,能够相互支持和协作。
问题解决能力:面对项目中的挑战,学生展现出较强的问题解决能力。平均每个小组在项目过程中独立解决了5个以上的技术难题。
综合成绩:对上述评价指标进行综合打分,展示每个项目小组的综合实践能力。
Figure 4. Comprehensive evaluation chart
图4. 综合评价图
4.4. 期末考试与总体成绩
(a) 期末考试成绩分布图 (b) 三年平均分对比图
Figure 5. Comprehensive performance analysis chart
图5. 综合成绩分析图
考试成绩方面:经过改革后的教学模式,学生的考试成绩分布更加均衡。如图5(a)的数据显示,约75%的学生在期末考试中获得了良好以上的成绩(80分以上),且由图5(b)可知相较于以往的平均成绩有显著提升。这表明,基于RLM的教学模式不仅提高了学生的实践能力,还增强了他们对基本理论和语法的理解。
5. 总结与展望
本文通过对信息技术发展背景下C语言程序设计教学改革的探索与实践,成功构建了基于Researcher Learning Model (RLM)的教学模式,并在四川大学锦江学院计算机学院的C语言程序设计课程中进行了有效应用。实践结果表明,RLM教学模式在提升学生学习积极性、满意度及综合素质方面取得了显著成效。通过项目驱动、翻转课堂、在线资源利用及实践评估体系等创新手段,学生不仅掌握了C语言的核心知识和技能,还学会了如何自主学习、分析问题、解决问题及创新创造。这些能力的提升不仅为学生的后续学习奠定了坚实基础,也为其未来的职业发展提供了有力保障。
致 谢
衷心感谢四川大学锦江学院为我提供了良好的学习环境和丰富的学术资源,使我能够顺利完成本篇论文。特别感谢计算机学院的各位老师在课程改革过程中给予我的支持和帮助。你们的指导不仅在学术上为我提供了宝贵的思想和灵感,也让我在实践中不断提升自己。
NOTES
*通讯作者。