项目教学法在“C语言程序设计”课程中的应用
2022-04-29张馨
张馨
关键词:项目教学法;C语言;程序设计
从目前的社会发展现状来看,计算机技术的应用效果非常突出,其在促进行业发展、改变工作模式、提升工作水平等方面发挥着重要的作用。目前,计算机专业人才缺口较大,所以针对性的培养计算机人才很有必要。计算机专业是培养计算机人才的核心专业,该专業的入门语言是C语言,学生对其理解水平与后续课程的学习效果存在关联,因此,教学方法的创新对提高学生对C语言的学习兴趣以及提升C语言的教学效果非常重要。实践表明,在C语言教学中,实施项目教学法有比较好的效果,因此,加强项目教学法在教育实践中的应用有显著价值。
1概述
项目教学法是现阶段教育实践中被重点使用的一种方法,其具体是指.教师通过实施一个完整的项目来指导学生学习,并使学生完成学习目标的教学方法。其目的是通过完整项目的实施让学生能够充分参与项目实践,并在完成项目实践的过程中融合理论教学与实践教学,让学生发挥想象力,从而培养学生的思考能力、实际动手能力等。简而言之,有效实施项目教学法可以帮助学生获得综合成长。
从项目教学法的具体实施过程来看,其指导理论为构建主义学习理论。在该理论下,学生熟悉的工程项目会作为先导[1]。为了让学生对项目的基本情况有所了解,教师会对项目进行分解和分析,同时将学生分成不同小组来分配项目。各个小组的学生通过项目参与和讨论的方式共同完成项目实践,教师基于学生在任务完成中的表现进行评价,这可以提升学生各方面的能力,最终达到预期的教学目标。简而言之,项目教学法和传统教学法的突出差别在于前者能够调动学生的学习积极性,而且可以让学生的个性思维、想象力等得到发展,同时获得实践经验,从而提升学生的综合能力。
2C语言教学面临的问题
分析目前的教育实践可知,大学新生对于C语言课程的整体知识面相对较窄,在C语言的学习中,如何将问题转化为计算机可接收的模型,对初步接触编程类语言的大学生而言,是存在一定难度的。因此,学生对学习C语言的兴趣浓度会显著下降。没有兴趣的引导,学生的学习动力不足,加之学生的动手能力普遍不强,自主探究意识也不高,所以,C语言课程教学效果难以提升。
就目前的高校C语言教学来看,其问题主要集中在如下方面:(1)学生问题,学生问题主要指在教育实践中,学生的学习积极性和主动性不强,与教师的配合效果较差,学生的整体学习效率和质量堪忧[2]:(2)教法问题,教育要讲究方法,如果不能保证教学方法的科学性,那么最终的教育实效也难以保证。鉴于此,教育要结合具体的目标和要求来对教学方法进行创新;(3)教师问题,教师的专业化水平、课堂掌控能力以及对学生的吸引力等均会对最终的教育结果产生影响。现阶段,C语言教学中的教师问题也是比较突出的,要在实践中解决相关问题。
3C语言教学中的项目选择与设计
由于C语言是大学新生首先接触的编程语言,在利用项目教学法开展教学工作时,必须对项目的选择做综合思考。结合实践来看,选择的项目不能太难,同时选择项目时要根据课程的进度来对不同时期的项目做界定。在项目教学法的具体使用中,一方面需要考虑人才培养目标,另一方面需要对教学内容进行考量,尽量以现实生活中比较容易理解的内容作为教学项目。基于上述原则,教师需要在项目选择时做综合考量,即项目要与学生的理解能力以及编程能力匹配[3]。如果项目太大、太难,会使学生的学习兴趣降低,这对教学工作的持续性开展是很不利的。总体而言,在选择项目时,要尽可能地与教材中的知识点保持关联,要依据“C语言程序设计”课程教学以及专业特点来选择与学生生活紧密相关的项目。循环结构项目符合上述要求,可以在C语言教学中进行利用。考虑到学生的实际水平,在循环结构设计教学的过程中,教师需要做跟进指导。
4项目教学法的应用
分析目前的教学实践可知,“C语言程序设计”课程涉及的知识点较多,需要学生理解的内容也较难,所以在项目教学中,需要强调的是,知识点的掌握是基础,学生对算法的理解则是重点[4]。在选择项目时,将涵盖知识点较多、对算法的理解较深刻的项目作为教学项目,然后实施项目教学。这不仅能培养学生的算法构建能力、程序编写能力,还能提升学生其他方面的素养。循环结构项目教学具体可以划分为子项目选择、计划制定、活动探讨、作业提交和交流5个阶段,对每个阶段的具体工作进行强调,这对发挥项目教学法的优势有重要意义。
4.1子项目的选择
在开展教育工作的过程中,教师要根据循环结构项目的具体内容,对教学进度进行分析,同日寸对循环结构项目做拆解,使其形成不同的子项目。基于子项目的内容,教师对具体的教学内容做合理调整,并在课堂上让学生学习循环结构项目程序的制作方法,以及了解相关程序的主要内容。其目的是引导学生对循环结构项目的子系统进行划分[5]。在开展教育工作的过程中,教师要将学生划分成不同的小组,具体的划分方法可以基于实际情况来选择。比如,教师可以确定小组长,然后让小组长招人,人数控制在5~6人:也可以基于“传帮带”思想直接确定小组成员。在小组划分完成之后,教师将具体的项目作业发给每个小组的组长,然后由小组长传达作业内容。
学生在拿到项目后,可以在课堂上进行讨论,对教师给出的项目提出自己的意见,并积极参与讨论功能模块的实现[6]。由于学生还处在C语言学习的初级阶段,因此,每个小组的项目可以保持一致。小组成员可以基于自己对项目的了解,并结合自己的喜好,来确定需要完成的子项目任务,然后对自己的子项目进行方案的研究与制定,并在课堂上和大家讨论、分析。
4.2计划制定
计划制定在项目教学法的具体使用中是不可忽视的内容,其影响项目教学的具体周期。在开展计划制定工作的过程中,每个小组的组长需要结合组员的实际情况来制定小组任务计划,同时要向教师报告。教师基于项目的内容对每一个小组的计划提出必要的修改意见[7]。之后,小组成员可以基于自身的子项目拟定项目实现计划,并最终确定实现项目的方案。
4.3活动探讨
活动探讨是实施项目教学法的关键环节,旨在培养学生综合能力。从活动探讨环节的具体工作来看,教师需要提供必要的技术指导,以及为学生展示各个模块之间的相互关系。教师和学生之间通过交流、讨论来互换模块功能实现的相关内容,可以确保模块之间程序的有效衔接。在开展活动探讨日寸,学生需要对自己的模块形成自己的思路,与小组成员相互讨论,并和教师有良好互动。之后,学生就可以利用自己掌握的C语言知识来对项目模块进行完善。在遇到问题时,组员可以向其他小组成员求助,也可以向教师求助,由此,教师、学生之间能够形成一种良好的协作、互助关系。
小组成员可以根据自己选定的子项目对程序的具体需求进行了解,同时将程序的需求记录在笔记中。与此同时,学生还需要将自己在子项目开发过程中遇到的问题以及解决问题的过程撰写成报告。小组成员可以就报告中存在的具体问题进行交流和探讨,如此一来,学生对相关技术的理解会更加深刻。
4.4作业提交
小组成员在完成子项目后,应该及时与组长进行联系。组长要掌握各小组成员的项目完成情况,及时汇总消息,并将不同的子项目进行整合,最终顺利完成整个项目。在作业提交之前,小组长需要带领小组成员对本组项目的功能进行完善,并在完善项目的过程中记录遇到的问题,然后和教师进行交流,最后基于教师的建议制定并落实修改方案。
4.5交流
交流是促进学生加深理解、持续进步的重要环节,在项目教学法的实施中占据着重要地位。从具体工作的落实来看,教师可以在学生提交作业的基础上提出问题,并让小组成员進行回答。在小组成员回答问题的过程中,教师可以发现其在思考和设计程序中存在的具体问题,并对问题进行解释和指正,这可以让学生获得成长。与此同时,教师对项目完成得比较好的小组进行表扬,可以增加成员的自豪感,并提升其对C语言课程的兴趣。在交流阶段,教师可以作为“牵头人”引导学生之间友好交流,并在交流的过程中,使他们能够发现自身存在的问题,也能够看到别人的“闪光点”。这对学生弥补自身缺陷、持续提高自我有较大的价值。
5结束语
在现阶段的教育实践中,应用科学、有效的方法可以提升教学效果。研究发现,高校教育中不少课程提出了实践性要求,如“C语言程序设计”课程不仅要求学生掌握理论知识,还要求掌握程序设计方法。传统教学模式和方法在课程教学实践方面表现出不足,难以持续提升教学效果,而在“C语言程序设计”课程教学中使用项目教学法能够产生积极作用。本文基于循环结构项目程序设计,对项目教学法在C语言课程教学中的应用进行分析,旨在为现阶段的教育实践提供参考。