基于新工科人才培养的“C语言程序设计”创新型教学改革研究

2022-12-08 01:11谭明涛
太原城市职业技术学院学报 2022年11期
关键词:C语言程序设计C语言程序设计

■江 建,谭明涛

(湖南文理学院,湖南 常德 415000)

高等教育的主要目的是为社会输送人才,伴随着社会经济的飞速发展,社会对于人才的需求不断更新。高等教育体系要积极适应社会变化趋势,对教学体系以及教学模式进行创新与改革,通过这种方式确保高校培养出的人才能够有效融入社会,为社会发展作出自己的贡献。中国已成为制造业大国,传统的工科人才已经无法满足科技、国防、农业、工业等支柱产业旺盛的发展需求。此种背景下,国家提出“新工科”理念,高校要紧跟社会发展步伐,积极围绕“新工科”理念,对工科专业进行教学改革,确保高校人才培养目标与社会发展对于工科人才的需求一致。

一、“新工科”背景及内涵

(一)“新工科”背景

完善职业教育和培训体系,深化产教融合、校企合作。加快一流大学和一流学科建设,实现高等教育内涵式发展[1]。从微观层面来看,各种细分的工科专业,是培养高技能型人才的基础,高校管理者需要持续开展专业建设工作,只有保证专业建设水平,才能培养出高技能、高综合素养的“双高型人才”[2]。

(二)“新工科”建设内涵

由于“新工科”这一理念提出的时间较短,专家学者对于该理念的内涵理解还存在一定差异。主流学术观点认为:工科人才的培养,需要以工程专业认证作为切入点,围绕“持续改进”“目标导向”“以学生为中心”三大基本点,推动高校工科专业建设工作的顺利开展。以工科专业认证通用标准为基础,兼顾工科专业补充标准,为强化工科专业建设指明方向。具体而言,就是要在毕业目标、学习目标、师资队伍、配套设施、校企合作等方面给出明确的指导意见。

二、构建“C语言程序设计”创新型教学框架

针对“C语言程序设计”课程开展创新型教学改革时,不能将改革内容局限于理论知识的讲解以及知识点的解读,要结合工科专业学生的教学需求以及基础水平,提升工科专业学生的动手能力、思维能力、沟通能力以及创新能力[3],全面提升大学生核心素养。与其他计算机专业课程相比课程理论性较强,教材中存在很多较为抽象的知识点,以程序编写、算法设计、程序调试等功能作为该课程的核心内容,工科专业学生想要系统性掌握上述知识,需要具有强大的逻辑思维能力,在头脑中模拟计算机的运行方式,构建数学逻辑模型。此外,该课程具有很强的实践性,学生需要依据软件使用需求,按步骤完成程序设计、编写、调试、维护等工作。特别是在完成合作教学任务或者参加教学竞赛时,还要依靠良好的沟通能力与同学开展紧密的合作,共同完成课题。因教学内容体量较大,学习任务繁重,教学时长有限,常见的“灌输式”教学模式无法满足工科专业人才培养实际需求。因此,要基于“新工科”建设背景,从教学形式方面入手,基于互联网平台,在线上教学平台发布教学视频以及实践任务,引导工科专业学生能够灵活安排学习实践,利用碎片化时间随时随地学习专业知识(如图1所示)。

图1 “C语言程序设计”课程教学设计

三、创新教学模式

“新工科”建设背景下,想要实现教学体系的转型升级,其基础就在于对课堂教学方法的多元化发展,“C语言程序设计”课程包含的知识点较多,不同的知识点其切入点存在很大差异[4]。在开始课堂教学活动时,应根据知识点的特征,采用具有针对性的教学模式,帮助工科学生更好地吸收该知识点,推动课堂教学模式多元化发展。

(一)项目分析教学法

项目分析教学法,实质上就是对一个完整的软件项目进行细分,将项目拆分为若干个子项目,通过逐步完成子项目,培养工科学生的编程水平,并在此过程中让工科学生切实了解软件项目的构成方式,为日后参与真正的软件研发工作提供实践经验。实际开展项目分析教学活动时,教师先要对各个子项目的难度进行分类,依照难度“由低到高”的顺序为工科专业学生布置子项目,让学生独立运用所学知识完成子项目。在此过程中,教师可以通过巡查的方式了解每一位学生对于“C语言程序设计”的掌握程度,为下一步教学计划的调整提供参考。例如,教师可以为学生布置一个“在虚拟机上设计包含超链接、结构体、文字图像文件以及指针操控的软件系统”。该项目内容较多,教师可以将该项目拆分为“指针运动设计”“链表设计”“文件嵌入”“结构体设计”等子项目,学生在完成上述子项目之后,将全部子项目进行集中整合,最终完成教师布置的学习任务。需要注意的是,该任务中指针设计是重点内容,也是C语言教学体系的核心内容。教师要有针对性讲解指针设计逻辑思路以及设计流程,帮助工科学生意识到指针设计的重要性,通过这种方式提升工科学生对于指针设计知识的理解能力,为其后期编写出更为简洁、灵活的软件程序奠定基础。

(二)“线上+线下”混合教学模式

随着高速网络以及信息化技术的快速发展,线上教学体系越发成熟。“新工科”建设背景下,工科专业课堂教学也要积极尝试网络化转变,构建“线上+线下”多元化教学矩阵。与其他专业课程相比,“C语言程序设计”专业课在构建线上教学模式方面具有一定的优势,课程的大部分内容都是在电脑机房中进行。因此,教师要充分利用机房中的多媒体教具,通过更为直观的动画演示、电子白板讲解等方式,运用多种形式对某知识点进行深入分析,帮助工科专业学生加深对于该知识点的印象[5]。此外,基于“电子教室”平台,教师可以为学生定期推送优秀的教学资源,并在校内论坛开设“C语言程序设计”学习板块,为不同班级、不同学年的学生进行学习提供平台,提升其学习效率。例如,在学习“输出几何图像”课程的时候,如果只从程序编写的角度介绍几何图像输出方式,会给一些学生带来困惑,无法了解课本中记录的各项操作的实际运行规律,加大知识记忆难度。针对这一问题,可以使用电子白板,教师每输入一条指令,电子白板上的几何图形就会呈现出相应的变化,通过这种直观的方式让学生了解每一条程序指令的具体用法。此外,在对指令进行调试工作的时候,可以借助电子白板实时展示程序命令被调用的过程,激发工科专业学生对于程序设计的学习积极性,变被动学习为主动学习。

(三)问题导学法

“新工科”建设视域下,如何提升工科人才综合素养成为教学工作的重要目标。仅依靠传统的被动学习模式,无法发挥大学生的主观能动性。针对这一现象,需要利用问题导学法,以问题作为切入点,引导工科专业学生独立思考、独立解决问题。与传统教学模式相比,问题导学法将学生放在了教学活动的核心位置,教师由“施教者”蜕变为“引领者”,教学问题的分析研究、对策制定、实践反馈以及经验总结等工作,均由学生独立完成,通过这种方式培养大学生独立学习的好习惯,经过长时间的独立学习训练,大学生会逐渐摸索出一整套适合自己的学习方法论,并逐步养成自己的学习节奏,对于专业能力以及综合素养的全面提升大有裨益。想要学好C语言,学生需要具有良好的逻辑思维能力,而问题导学法是培养学生逻辑思维能力的有效方式。因此,在实际开展教学活动过程中,需要积极采用问题导学法锻炼学生逻辑思维能力。例如,在学习“循环结构程序设计”一课的时候,很多学生对于“循环结构”这一概念较为陌生,尽管教材上已经解释了“循环结构”的含义,但是大部分学生无法从枯燥的文字叙述中了解“循环结构”真正的内涵,也无法运用循环结构解决实际问题。采用问题导学法之后,教师会在课程正式开始前提出问题,要求学生利用软件程序输出整数1~10,这是C语言中十分基础的内容,所有学生都能在短时间内得出正确答案。在得到上述答案之后,教师提出下一个问题“这十条命令中,哪些部分是重复的?”学生们会带着问题分析这十条指令,并标注出其中的重复部分。此时,教师给出结论:利用循环结构,可以对程序命令中的重复部分进行循环处理,压缩命令体积。为了提升运算效率,可以将输出指令中的十个不同的目标,定义为一个变量,令该变量在每次循环的时候自动加“1”通过这种方式完成整数1~10的输出,通过循环结构完成输出任务。利用问题的一步步引导,让学生了解循环结构的大致框架以及基本用途,并思考如何在日常生活中运用循环结构解决实际问题[6]。

(四)优化考核措施

为了印证“C语言程序设计”教学改革的有效性,应对教学改革具体措施进行跟踪分析,需要对考核措施进行优化与完善。具体而言就是要将其考点进行细化,采用“平时成绩+期末成绩+实践成绩”的考核体系,从更为多元化的角度对学生综合能力进行科学评价。注意,由于该课程具有很高的实践性,因此可以适当提高“实践成绩”在总成绩中的占比,引导大学生更加注重实践能力的提升。条件允许的情况下,可以利用“实验项目成绩”取代“平时成绩”,以小组为单位,每学期为学生布置一道综合性项目实验类题目,在期末通过对实验项目成果的考核,判断学生对于该课程内容的实际掌握情况。此外,还可以利用大数据技术以及云计算系统,为每一位学生建立“成绩跟踪档案”,让任课教师可以掌握学生学习成绩的起伏变化,通过面对面交流等方式了解学生真实学习情况,帮助教师为大学生制定具有针对性的学习计划,并提出相应的学习意见,提升“C语言程序设计”课程改革的针对性。

四、基于项目化教学视角开展教材改革

从宏观层面来看,对“C语言程序设计”课程进行的教学改革,就是对传统的课堂教学进行项目化升级,以项目作为驱动,培养学生独立学习能力,并在探究项目过程中掌握各种基础知识。想要完成这一目标,需要对课程教材进行改革。C语言作为计算机专业基础课程,其教材内容较为繁杂,需要以项目教学作为切入点,从“如何完成软件开发项目”的视角重新解读教材。

C语言作为一种工具类语言,学习C语言的主要目的是为后续的软件开发工作奠定基础,而在软件系统开发行业中,软件研发时间十分宝贵,因此在学习C语言时,工科类学生就要养成用最为简单便捷的方式解决实际问题的思维习惯。C语言课程的知识体量十分庞大,为了提升学习效率,需要将C语言知识分割为若干个模块,以软件编程逻辑,将每一个模块串联起来形成一个完整的教学体系。其中每一个教学模块都有明确的教学目标,学生们能够利用线性思维追溯教学模块的前置知识,并对该教学模块后续知识进行预测,借助这种方式帮助学生理顺C语言知识总体脉络,帮助其在头脑中构建起C语言知识基础框架。

具体开展教材编写工作之后,可以按照知识结构特点,将“C语言程序设计”课程分为三个模块。第一个模块为基础模块,主要内容是介绍C语言基础知识以及计算机逻辑运算规律、常见运算符号等。该模块的知识点以语法知识为主,因此在设计教学任务时,应该以简单的计算类程序作为案例,在该案例中融入程序表达式、C语言基础运算符以及数据类型等基本内容。在完成第一个任务项目之后,教师需要为学生布置第二个任务项目,该项目主要基于计算机运算顺序、逻辑选择以及循环结构等内容构成,在分析该任务时,应将重点放在计算机逻辑运算原理方面,通过实际操作,让大学生了解计算机软件程序逻辑运算基本规律,掌握选择结构、循环结构、顺序结构这三种最基本的逻辑运算结构的内涵以及适用范围。并搭配一些生活中常见的逻辑运算案例,如数据奇偶判断、成绩查询及划分、闰年判断等,让学生利用三种基本逻辑运算结构解决实际问题[7]。第二个模块为提高模块,指针、数组以及函数等知识划分到第二模块,该模块内容更为复杂,编写教材时应编入一些学生容易理解的简短案例,以深入浅出的方式引导学生掌握指针运动编辑、数组调用、函数调用等知识,针对难以用文字进行完整阐述的知识点,可以通过图形内容展示,降低教材阅读门槛。第三个模块为应用模块,学生们在掌握了C语言基础知识并进行了一定的能力提升之后,教材编写的重点便转变为利用C语言知识解决实际问题,本模块的主要内容为文件、共同体以及结构体。需要先阐述上述内容在计算机软件程序中发挥的主要功能,并通过大量的案例证明,帮助学生理解。与前两个模块不同,第三个模块要为学生预留出讨论内容,利用项目驱动模式让学生主动参与到程序的研发以及修改工作之中。通过对教材进行模块化处理,达到符合任务驱动教学法的需求。

“新工科”人才培养模式下,如何提升工科类人才逻辑思维能力以及动手实践能力,成为教学工作的重点。高校想要培养出符合时代发展需求的高素质综合型人才,就要深入剖析“新工科”理念的基本内涵,结合学校实际情况以及学生基本素养,构建“C语言程序设计”创新型教学框架,采用多元化的教学方式提升工科类大学生实践能力,同时对教材进行改革,促进教材与多元化教学模式相匹配,从多个维度一同出发,共同促进工科专业人才成长。

猜你喜欢
C语言程序设计C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用