高职C语言课程项目化教学研究与实践
作者: 张玉霞
关键词:职业教育;C语言课程;项目化教学
0 引言
C语言程序设计是高职计算机类专业的重要专业基础课,同时也是专升本考试的必考科目。一些传统教学方法往往局限于按照教材顺序讲授知识,辅以上机练习,导致学生所学知识碎片化,难以形成完整的编程思维和项目体系。因此,笔者尝试对高职C语言课程教学进行改革,从项目化、模块化出发[1-2],重新组织知识点,将知识点融入项目中,以培养学生的编程思维,为后续专业课程奠定程序设计基础。
1 C 语言课程教学现状
1) 教学方式陈旧。在C语言程序设计课程中,部分教师仍沿用传统的“讲授+板书+上机练习”模式,学生参与度不高,导致学习效果不佳。此外,上机练习通常作为知识点的辅助练习,缺乏完整的项目编写思路。
2) 实践环节不足。C语言程序设计课程具有很强的实践性,但当前一些教学内容往往过于侧重语法和基本概念,缺乏实际应用案例的引入,导致学生难以通过实际操作加深对知识的理解。
3) 学生基础差异大。山西通用航空职业技术学院作为高职类院校,生源包括普高生、职高生和中专生。由于C语言是一门基础编程语言,职高或中专学生可能已具备一定编程基础,而普高生则可能完全没有接触过编程,这增加了教学难度。
4) 考核方式单一。部分高校对C语言程序设计课程的考核仍以理论考试为主,这种考核方式不利于培养学生的创新实践思维,与职业院校注重实践能力和职业技能培养的初衷相悖。
2 项目化教学的必要性
在高职C语言课程中实施项目化教学,不仅可以提高学生的实践能力和综合素质,还能改进教学方法和手段,促进教师队伍建设,推动课程建设和专业建设。
1) 促进自主学习和合作学习。项目化教学通过引导学生主动参与项目,实现“教、学、做”的有机结合,激发学生的学习兴趣和动力,培养他们的自主学习能力。同时,项目化教学通常以小组合作形式进行,有助于培养学生的合作学习能力,帮助他们更好地适应未来的工作环境。
2) 促进产教融合。高职教育的目标是培养具有实际操作能力和解决问题能力的高素质技术技能人才。项目化教学能够将产业需求和技术技能要求融入教学中,实现产教融合,提高人才培养的质量和适应性。
3) 推动课程建设。项目化教学使教师可以根据实际需求设计课程内容和项目,使课程内容更加贴近实际应用和行业需求,从而提升课程的质量和实用性。同时,项目化教学还能促进教师对教学方法和手段的改革和创新,推动课程建设的持续优化。
4) 加强教师队伍建设。项目化教学要求教师具备扎实的专业知识和丰富的实践经验,以及良好的教学组织能力。通过实施项目化教学,教师可以不断提升自己的专业素养和实践能力,在人才培养中发挥关键作用。
3 C 语言课程项目化教学设计思路
3.1 项目化教学模式设计
考虑到职业教育强调技术技能的需求导向[3-4],在“学习内容项目化,项目实施自主化,全面提升技能水平”的理念指导下,本文提出一种“项目导向,自主学习,能力为本”的教学模式[5-6],如图1所示。
1) 确定项目。将教材内容分层项目化,各项目从简到繁、逐层深入。根据C语言课程的教学目标和学生的实际情况,确定具有实际应用背景的项目。项目目标应与课程内容紧密相关,同时具有趣味性和挑战性,以激发学生的学习兴趣和主动性。
2) 自主学习。教师在线上发布学习资源包,包括学习视频、章节资料等,并设置任务点闯关模式。学习结束后,学生可以查看自己的得分和排名情况,形成竞争比拼的氛围。在项目的驱动和教师的指引下,学生实现从知识的被动接受到主动探究的转变。
3) 能力测试。当学生完成学习任务后,教师组织线下能力测试,包括理论知识的测试和实践能力的测试。例如,选取4~8道选择题测试学生的理论知识掌握情况,选取具有代表性的案例小任务测试学生的编程思维能力和问题解决能力。
4) 教师讲授。测试结束后,教师对学生自主掌握的知识点进行归纳和补充,并对能力测试中具有代表性的案例代码进行审查和评价。
5) 项目实施。在前面的环节基础上,学生已具备一定的知识储备和学习兴趣。随后,教师根据学生知识掌握情况均匀分配小组,以3~4人为一组协作完成项目,并选出小组长作为带头人。在教师的指导下,小组长将项目分解为若干个任务模块,每个组员负责一个模块。在所有任务完成后,学生将各个模块的代码进行整合,形成一个完整的项目。整个项目的实施过程侧重培养学生的团结协作能力、软件综合开发能力、交流沟通能力等。
6) 评价反馈。项目完成后,教师组织学生进行项目成果展示和评估。每个小组可以展示项目的最终成果,讲述项目实施过程中的经验和收获,并接受教师的评估和指导。教师根据学生的表现和成果进行评价,肯定优点,指出不足,为后续的学习提供参考。
3.2 项目化教学内容设计
C语言程序设计按照教材顺序,教学内容包括C 程序概述、算法、C语法基础、分支语句、循环语句、数组、函数、指针、构造数据类型和文件十大章节,其中前两章是理论教学,后八章进行项目化教学。基于以上教学模式,根据知识的难易程度和连贯性,本文对本课程精选出3大项目、24个案例任务,具体如表1 所示。
3.3 项目化教学方法及手段
本课程采取混合式项目化教学[7],将传统教学方式与网络化教学的优势相结合,既发挥教师引导、答疑解惑、监控教学过程的主导作用,又充分激发学生作为学习主体的主动性、积极性与创造性。遵循“教师引导,学生为主”的原则,采用多媒体演示、讲解、讨论、超星学习通平台等多种教学方法,使项目化教学更加有效。
1) 线上平台。教师充分利用超星学习通平台的教学资源,导入本课程的学习包,包括微视频、章节学习、测试等。教师以本学期所授班级为单位建立班级,并在重要知识点处设立任务点。在自主学习阶段,学生需在超星学习通上根据教师布置的学习任务完成线上学习,每个学习任务完成后进行相应测试,这既充分调动学生的积极性和自主性,又能让不同程度的学生分层次达到学习任务。
2) 多媒体演示。学生自主学习完成后,教师主要侧重归纳性讲解,通过多媒体演示并借助思维导图将知识点层次关系展示给学生,不断完善和强化学生的知识结构。
3) 讨论。学生在完成自主学习及能力测试后,基于前面的知识基础,在项目的驱动下,以小组为单位对项目进行需求分析,组内成员交流讨论。在讨论中逐步提升交际能力、思辨能力、解决实际问题的能力等。
4) 答辩。各小组在完成项目后,对项目的功能实现和模块分配进行阐述。同时,教师在答辩过程中积极引导,并根据学生的完成情况给出指导意见。
3.4 项目化课程考核评价
C语言程序设计课程的考核评价由线上和线下融合、过程性评价(30%) 、成果性评价(40%) 和终结性评价(30%) 构成的多元化评价体系[8-9]。最终成绩=过程性评价×30%+成果性评价×40%+终结性评价×30%。
过程性评价针对学生在学习本课程过程中的学习情况和实际应用能力的发展情况,包括出勤考核(10%) 、线上视频任务点(10%) 、线上能力测评(10%) ;成果性评价对每组学生完成的项目成果进行考核,包括项目的可读性、完成度、配合度、实现难度等;终结性评价主要考核学生在学完本课程后所达到的理论水平和综合能力,通过期末理论考试进行考核。
4 项目化教学实践成效
以山西通用航空职业技术学院2023级工业软件开发技术2-3班为实践对象,本学期针对C语言语法基础、分支语句、循环语句三部分进行了项目化教学实践。学生对教学内容、教学方式、教学效果均表示满意。与2022级无人机应用技术7-8班实施的传统教学相比,各方面的对比数据如表2所示。
通过对比2022级无人机应用技术7-8班和2023 级工业软件开发技术2-3班的教学数据,可以看出项目化教学在各个方面均表现出色。与传统教学相比,项目化教学更能激发学生的学习兴趣和主动性,提高他们的应用能力和团队协作能力。同时,项目化教学也更能让学生将理论知识与实践操作相结合,提高学习效果。因此,可以得出结论:针对C语言的教学,项目化教学方式比传统教学方式更为有效。
5 结束语
基于“项目导向,自主学习,能力为本”的教学模式,C语言课程的项目化教学实践取得了一定的成效,适应了职业教育的需求导向,提高了人才培养的质量和适应性。鉴于C语言课程与数据库相关专业具有密切联系,在后续的课程改革中,可以将C语言与数据库相关知识进行融合,对涉及数据库操作的项目案例,如学生信息管理系统、图书管理系统等进行综合项目的实践,以帮助学生更好地理解计算机学科的知识体系和应用场景。