基于工程教育专业认证的“C语言程序设计”
2020-06-30申东李强杨桂芹
申东 李强 杨桂芹
摘 要: 基于工程教育专业认证的“C语言程序设计”课程,在教学过程中应实现以学生为中心,教学目标应以提升能力为导向,教学效果应益于解决复杂工程问题。因此,对“C语言程序设计”课程的教学内容、教学方式和教学评价的改革进行了探讨,旨在提高学生的自主学习能力、创新能力和团队协作能力。
关键词: C语言程序设计; 工程教育专业认证; 教学改革; 教学评价
中图分类号:G642.0 文献标识码:A 文章编号:1006-8228(2020)06-64-03
Abstract: Engineering education accredited course of "C Language Programming" should be student-centered in the teaching progress, the teaching goal should be oriented to enhance the ability, and the teaching effect should be beneficial to solve complex engineering problems. Therefore, it is discussed in this paper that the reforms of teaching content, teaching method and teaching evaluation for the course of "C Language Programming", in order to improve students' abilities of autonomous learning, innovation and teamwork.
Key words: C language programming; engineering education accreditation; teaching reform; teaching evaluation
0 引言
工程教育專业认证是1989年发起的一种国际通行的对高等教育机构所开设的工程类专业教育所实施的制度,这一制度的产生,是为了实现工程教育国际互认以及工程师资格国际互认这一条件的重要基础。我国的教育部于2006年成立了全国性工程教育专业认证专家委员会,在2012年成立了中国工程教育认证协会(筹),对原来的工程教育专业认证中的通用标准做出适量修改,力求靠拢《华盛顿协议》认证标准[1]。
工程教育专业认证提倡教学以学生为中心,教学目标以提升能力为导向,教学效果致力于解决复杂的工程问题,主要围绕着学生的毕业要求展开对课程体系的改革,为保障专业教育活力和教育质量,需要持续改进机制,不仅表现在师资配置,而且还要体现在课程教学,专业课程体系设置。
“C语言程序设计”是通信工程专业的学生必修的一门基础课程,这门课程的具有较强的实践性,经过学习C语言,可以更好的提升学生对于掌握编程方法、创建合理编程思维构架、提升自身软件开发的能力。然而,即使是计算机专业的学生,在学习C语言的过程中,仍然不能很好的掌握和理解C语言,对于处理实际的专业问题存在着一定的困难,而且,受到传统教育模式的影响,对于C语言的学习仍然是“老师讲,学生听”的模式,实际问题的解决和编程并没有得到重视,学生被动学习,为了考试而学习,很少有学生主动地、创造性地去解决问题。
基于工程教育专业认证的“C语言程序设计”教学改革的宗旨是打破传统的教学方式,融入新的教学理念、教学方式,通过新工具、新技术以及新的交流平台,提高学生的学习兴趣,指导学生从软件工程思维出发,对项目先做需求分析、系统设计,再程序编码和系统调试,最终完成项目从设计到开发的整个过程。这个过程旨在培养应用型人才,打破企业找不到符合自身需求的人才的现状。
1 通信工程关于“C语言程序设计”教学改革思路
1.1 教学过程中以学生为中心
工程教育专业认证的核心理念是在教学过程中以学生为中心[2],根据这一新提出的标准,要求教师在实际的教学过程中,注重学生学习的过程以及成果,产生利于学习的教学指导,激起学习C语言的兴致。
计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。C语言在学习的过程中,旨在培养学生的计算思维,通过计算思维的形成,对基础问题进行分析和解决,教师需要引导学生建立计算思维,促使学生可以具体的、客观的解决问题,依据社会对学生的期望制定合理的教学内容。教师需把计算思维贯穿于整个教学过程中,要求学生先给出算法和程序流程图,理清思路和步骤,然后再编程。由于C语言程序设计具有高度的自由性,且每个学生的计算思维的形成存在一定的差异,会导致学生对于程序的设计有差异,这就需要将学生作为个体,尊重每一个学生的差异,使得每个学生都有平等学习的机会。
1.2 教学目标以提升能力为导向
“C语言程序设计”课程的教学目标是提高学生分析问题、编码求解能力、软件工程思维水平以及计算思维,教学应该将目标作为导向,教师在教学的整个过程中应以提升学生能力和素质发展为根本要求,促进学生形成结构化程序设计思维。由于目前课堂讲课大多围绕着教学大纲,往往偏向概念的讲授,从而漏掉了学生自身的实践水平,所以针对传统教学存在的缺陷,提出了基于产出的教学模式[3],重点关注学习过程中的学习成果,在学习过程中,要求学生对自己负责,自主学习,教师更多关注学生基本能力的提高,使学生产生良好的学习动力,加深学习和教学之间的联系,并逐步进行完善以及改进教学过程。
1.3 教学效果益于解决复杂工程问题
“C语言程序设计”作为通信专业的基础课程,学习阶段学生离毕业时间较远,教师有责任培养学生解决复杂的工程问题的能力。用C语言作为基本工具对课堂上复杂知识和生产实际中复杂问题进行求解是“C语言程序设计”课程应当承担的教学任务。“C语言程序设计”理论知识过多,学生对于枯燥的语法结构难以理解,工程教育专业认证模式就是在系统的理论指导下实现水平、素质提升、基础的一体化培养,教学内容设计应当注重知识的综合性与应用价值,让学生参与解决实际的工程问题,提高C语言的应用能力,将一个完整工程贯穿教学始末,在强化知识的同时,可以让学生更好的了解实际解决复杂工程问题的过程和基本方法,力图将知识点融会贯通。
2 工程教育专业认证在“C语言程序设计”教学改革的实践
2.1 教学内容
在实际教学过程中,建议将一个学期分成若干个学习阶段,同时确定阶段性目标,教师在每个阶段末回顾自身教学内容是否完成,然后根据学生课堂理论、课堂实践、作业以及实验报告等,确认学生完成情况,并帮助学生顺利完成阶段性目标。
课堂教学可分为两个阶段:第一个阶段主要包括分支结构、数组、指针和字符串、循环结构、结构体与链表、文件、函数、C语言图形函数等8个大的分类的学习,在这一阶段强调基础的学习及应用,将这八个大分类作为八个任务驱动,而这八个任务驱动是由课程项目分解成的子模块[4]。在设置任务时需要关注内容之间存在的关联性,让学生自主积累任务所需要的基础资料,为第二阶段打好基础;第二阶段需要使学生置身于解决实际复杂问题的环境中,提出一个工程项目,这个项目旨在学生近一步熟悉项目开发流程,培养学生对于软件工程的设计思想。通过“做中学”这一战略,训练学生从创新的角度出发,了解计算机系统各个部分之间存在的联系,注重知识的相关性。
2.2 教学方式
基于工程教育专业认证的“C语言程序设计”突出强调以学生为中心,学生正处于接受新事物、新思想、新方法的阶段,需要改变传统的教学理念和方法,提出项目化教学模式,首先突出的是“自主学习”,其次要表现为教学过程中教师指引学生学习基础内容,除此之外要实践动手,在教学过程中尽可能调动课堂的活跃氛围,在轻松的学习环境下学习知识点,使学生对于C语言的学习产生浓厚的学习兴致。
教学方法主要包括基础内容教授、实验教学和学生自主学习。对于课堂教学内容,通过讲授章节的背景知识,清晰的明白C语言在整个学科体系的位置及作用,对于完善学生自身知识体系有很大的帮助,在进行与之相应的实验教学时引入1个课程项目,其中涵盖所有基本知识点,将这个课程项目可以划分为8个子项目,使教学任务通过子项目展开,提高教学效率,丰富教学模式。在进行实验教学时,将学生分组,每组5-7个人,由学生自主选择一名组长进行任务的分配,定期组织小组成员讨论,进行资料汇总,并督促小组成员按时完成任务,激发学生的创新思维以及学习积极性,在每一个子项目完成之后,要求学生总结实验过程,通过实验报告呈交教师查阅。
在每学期末,学习完所有基础知识后,开展为期十天的课程实训,这是一种自主完成设计内容的新型课程实训的教学模式。一人一题,题库由教师提出,并由学生自行选择,题库内容可包括设计信息管理系统、数学计算、图形处理、基于C语言的嵌入式开发等。学生需要在十天之内进行题目分析、原型的迭代开发,在此期间教师对学生提供适当指导,跟踪学生状态及效果,使学生强化对C语言的学习。
项目化教学模式优于传统教学模式的原因在于:
⑴ 项目过程完整,学生的学习目标明确且处于主导位置,师生共同参与项目的实现,益于师生之间的交流,促进共同进步;
⑵ 项目实践与理论知识紧密联系,有利于提高专业水平;
⑶ 项目模块化可以更好的提高个人专业水平和团队合作能力;
⑷ 项目结果的评价形式更加全面且合理[5]。
2.3 教学评价
传统“C语言程序设计”的考核标准是“平时成绩+期末考试成绩”,比例为3:7,由于期末考试成绩的占比较高,大多学生是在考前通过背知識点和经典案例来应付考试,导致学生对基本知识点、课程体系掌握不全面,在实际解决问题存在盲区,并不能考察学生计算思维和工程应用的能力。工程教育专业认证的“C语言程序设计”对基础知识点考察的同时,还需要考核学生解决实际复杂工程问题的能力。
对于传统的考核机制的缺陷,应该建立多元化的考核机制,可以将原有的笔试机制的占比减小,将项目的实践能力和团队协作能力融入考核机制中。例如,子项目的实践能力和团队协作能力占40%,期末考试占40%,实训成绩占20%[6]。
3 总结
基于工程教育专业认证的“C语言程序设计”教育模式是为了激发学生学习和探索的激情,通过项目的引入,实现理论与实际的联系,在教学过程中以学生为中心,提高学生团队协作能力和实际解决问题能力,使学生可以更好地适应未来的社会环境。C语言作为一门操作性极强的计算机编程语言,对于学生后续学习相当重要,通过对教学内容、教学方式是和教学评价的改革,充分调动学习积极性,提高教学质量,使这门学科更具科学成效性。
参考文献(References):
[1] 张延亮,康国栋,周清平.工程教育认证标准视角下软件工程专业课程教学改革探索与实践[J].煤炭高等教育,2018.36(5):117-121
[2] 罗卫敏,王令.符合工程教育认证标准的C语言课堂教学改革[J].计算机时代,2017.2:79-81
[3] 齐亚莉.基于工程教育理念的《C语言程序设计》课程教学改革方案[J].北京印刷学院学报,2017.25(7):102-109
[4] 曹罗生,李宁.浅析“C语言程序设计”课程的CDIO工程教育模式[J].科技咨询,2017.15(29):184-187
[5] 王晓娟,黄韫韬,刘世民.CDIO工程教育模式下项目化课程教学的研究与设计[J].佳木斯大学社会科学学报,2015.33(6):190-192
[6] 张淑萍.基于CDIO工程教育理念的C语言程序设计教学改革[J].科技视界,2017.3:41-47