新工科背景下《C语言程序设计》教学改革与探讨
来源:用户上传
作者:
一、引言
在以互联网为核心的新一轮的科技和产业革命正驱动着新经济的迅猛发展的大背景下,我国的企业迫切需要新型的工科人才,高等工程教育改革也受到了社会各界的高度关注。2017年上半年教育部先后以《复旦共识》、《天大行动》、《北京指南》等文件为标志,提出新工科的概念并启动了我国工程教育改革的人才培养计划。
我校的《C语言程序设计》课程面向的是大一理工专业的学生,其前驱课程是大学计算机基础,该课程属于计算机通识类课程,其理论知识覆盖了计算机信息编码、算法、计算机硬件系统、数据库技术、计算机网络通信、信息安全、计算机新技术等;授课内容比较宽泛,只能简单的介绍入门级的知识,受限于学时限制无法深入展开。大部分学生通过该前驱课学习后有了计算机的基本概念,但是没有系统的程序设计和计算思维理念,在学习C语言这门课程时往往会出现受困于语法细节,忙于调试各种语法错误,在该课程推进的过程中会有同学渐渐产生受挫感,进而丧失学习兴趣。
二、改革具体措施
为了更好的培养出符合“新工科”需求的工科人才,按照“工程教育专业认证”的要求,经过和各个工科专业专家请教、资深教师讨论以及往届学生的回访等方式方法,针对C语言课程教学过程中存在的不足,我校对《C语言程序设计》这门课程进行了以下改革措施。
(一)教学内容的调整
传统的C语言教学内容是按照教材的顺序以概述、数据类型、数据计算、顺序选择循环三大结构、数组、函数、指针、结构体等组织教学。而事实上,从编程调试第一个hello world程序开始,学生就开始接触到各种系统库函数,但是按照传统的进度学生在前半个学期学习中会花大量的精力去理解零散的语法、错误调试等,没有形成模块化程序设计的思想,等到课程后期接触到函数时就很难对函数整体认知,甚或有部分学生虽然以高分修完了课程,但是完全不能理解结构化自顶向下的程序设计理念,更不论与人合作解决复杂问题参与可能性。为了突破学生教科书代码式学习方法,提升学生项目合作能力,经过反复的研究论证,我们将C语言的课程教学内容顺序做了调整,将函数提前至三大结构;即学生了解了C语言本身支持的数据类型和数据计算后,借助于学生的已有的知识背景引入函数概念。比如通过一个教务管理系统作为切入点,引导学生思考如何自顶向下实现一个复杂系统?这个时候,学生基本没有复杂的语法概念,教师尽可能地从功能结构划分的角度引导学生将一个复杂的系统化整为零,划分成几个教师管理、学生管理、课程管理、成绩管理等子系统,然后将这些子系统逐步求精,细化成若干个功能逻辑功能相对集中、易于实现的模块。在激发了学生求解问题的兴趣后,教师可以趁热打铁告知学生函数的益处是代码重用、共享性性等,并且本课程后面的章节内容的学习会围绕这个教务管理系统来进行。后面讲述三大结构的知识点时,可以结合函数知识点模拟编写相关的子模块。比如在实现一个原型的教师管理子模块的时,就可以结合顺序结构,按照数据输入、数据加工、数据输出的传统的处理顺序,实现简单的程序编写。在此原型系统的基础上逐步求精,譬如当需要输入、存储和管理的数据量比较多时,就可以適时的引入循环结构、结构体数组等概念,启发学生完善相关子模块。在优化系统的同时,继续强化函数的具体应用,从函数名称命名、函数的参数传递、返回值等细节着手,加深理解函数的作用。
将函数教学内容前置后,其后的三大结构、数组、文件、指针等教学内容可以继续渗透强化函数的知识点,便于将函数的思想贯穿于整个教学、项目实践环节。这种教学内容的调整一方面可以更好地帮助学生理解并有更多的机会去应用模块化编程的思想;另外也更利于培养学生算法的认知实践能力、项目合作能力和计算思维能力。
(二)教学模式革新
传统的语言类课程教学采用的是教师理论课主讲学生模拟代码编写实践的模式,作为一门实践性比较强的课程,面对尚不具备编程能力和计算思维能力的初学者,面对严苛晦涩难懂、易错的语法对学生是一个巨大的挑战。为了更好的激发学生的学习兴趣,更好的循序渐进地掌握课程知识点,在综合调研了各种教学模式和教研室研讨的基础上,我校最终将该课程的教学模式革新为基于CDIO的工程教育模式 ,将一个具体的项目的构思、设计、实施作为本课程的整个知识点的大背景。其优势是一方面充分调动了学生的学习兴趣,另外也可以引导学生主动思考、激发学习潜能。在理论教学实施环节中,尽可能的引导学生利用已知的知识背景构建相关的场景解决问题,可以尽可能的把课堂的话语权交给学生,通过学生的讨论、讲解教师点评的方式推进课程的教学。比如,在介绍数据类型知识点的时候,任课教师可以抛出构建教师实体模型需要采集哪些数据,这些数据以什么样的结构存储等问题,请学生上台讲出自己的思想并给出基本的结构,然后教师针对学生的答案进行讲评。
(三)教学辅助手段的增加
教学内容的改革避免了传统教学内容中注重全面的知识点重点不突出的缺陷,教学模式的革新融入了项目、软件工程的思想,为了更好的实现新工科培养目标,我校在C语言课程改革中充分利用教学辅助手段辅助学生学习。首先,依托校内资源创条件,利用我校已有的求索学堂网络学习平台,结合多媒体技术、视频剪辑技术、互联网技术等建立了课程互动网站,实现了学习资源的发布、微课的发布、作业发布和部分作业的自动批阅、师生的互动等。其次,充分引入微课、中国大学MOOC平台等网络教学平台为学生自主学习提供了一种可能。这些辅助手段为学生课余的自主学习提供了更多的途径,掌握学习的主动权,同时也让学生能更好的专注于主动的基于项目的学习。
(四)教学考核模式的改革
由于单一的考核方式难以体现新工科体系下对学生多个维度的要求,也为更好的激发学生学习积极性,我校对本课程的考核方式做了调整,将期末考试成绩分为机试和实验两个部分,分值各占60%和40%。机试考查学生课程知识点的掌握度,包括基本的语法、代码阅读能力、实际编程能力等。实验成绩主要考核学生每一个小项目的构思、设计及代码编写能力,对学生在实验过程中的创新、沟通合作能力也纳入考核范畴。
参考文献:
[1]潘海生,彭乾刚.工程教育学科建设:美国的经验与启示[J]. 高等工程教育研究,2019,(3):180-186.
[2] 魏蕾,耿楠,冯妍.基于函数的”C 语言程序设计”课程教学设计[J]. 黑龙江教育,2019,(8):68-69.
转载注明来源:https://www.xzbu.com/2/view-15099213.htm