APP下载

C语言混合式实验教学模式的改革与实践

2019-09-10贾凌黄晶晶

现代信息科技 2019年22期
关键词:C语言混合式教学实验教学

贾凌 黄晶晶

摘  要:C语言程序设计是一门实践性较强的课程。文章针对传统C语言程序设计课程实验教学中存在的不足,结合山东理工大学教学改革的进展情况,阐述C语言程序设计课程的实验教学在实验内容、实验方式、评价方式等方面所进行的改革与创新。期望构建线上线下相结合、课堂内外相结合的混合式实验教学模式,提高各专业学生的编程能力、培养应用型本科人才。

关键词:C语言;实验教学;教学改革;混合式教学

中图分类号:G642      文献标识码:A 文章编号:2096-4706(2019)22-0097-03

Abstract:C language programming is a practical course. In view of the shortcomings of the traditional C language programming course experimental teaching,combined with the progress of teaching reform in Shandong University of Technology,this paper expounds the reform and innovation of C language programming course experimental teaching in experimental content,experimental mode,evaluation mode and other aspects. It is expected to build a blended experimental teaching mode that combines online and offline,and both inside and outside the classroom,so as to improve the programming ability of students of all majors and cultivate application-oriented undergraduate talents.

Keywords:C language;experimental teaching;teaching reform;blended teaching

0  引  言

随着信息技术的发展,计算机辅助设计、人工智能、电子商务等各领域对从业者编程能力的要求越来越高,这需要高校对非计算机各专业加强程序设计课程建设,培养学生利用计算机解决本专业领域问题的能力。C语言是一种通用型计算机程序设计语言。它在系统程序、嵌入式系统等领域具有强大的优势,是绝大多数高校理工类各专业的必学通识课程,具有广泛而深远的影响。

以往,在山东理工大学(以下简称“我校”)及全国范围内所进行的信息化教学改革,多是针对课堂教学,在一定程度上提升了教学质量,然而,对于程序设计课程而言,实践锻炼对于提升编程能力至关重要。2018年4月13日,教育部正式印发了《教育信息化2.0行动计划》,这是教育信息化的再次改革和升级[1]。我校积极研究,迅速行动,对实验教学模式进行改革。从学生实际出发,采用引领、推动、抬高的步骤,稳步提升学生实践能力;从实验教学设计,到落地实施,改革长久以来形成的上机实验模式,让学生在实验教学过程中活跃起来。实践证明,改革后的实验教学模式对提升我校理工科学生的整体编程能力、培养创新型人才具有积极意义。

1  传统实验教学中存在的不足

非计算机专业的C语言程序设计实验教学往往存在以下几个方面的不足:

1.1  实验内容固定

C语言程序设计是面向我校理工科各专业学生开设的计算机公共基础类课程,在教学过程中采用统一的教学大纲、统一的实验内容、统一的考试要求。“大统一”的教学设计有利于教育资源的公平化,但不利于以学生为中心的个性化教学需求,各专业学生做相同难度、相同内容的实验项目,无法满足不同专业的个别需求,而且学生容易产生畏难情绪,形成复制答案的风气,影响学习效果。

1.2  实验模式单一

C语言程序设计实验模式通常是教师布置实验题目,学生自己编写程序,在此期间,学生遇到问题与教师进行沟通。我校C语言课程班级编制为大班制,在实验课程上,一位教师面对120名至160名学生,辅导工作量非常大。在教师忙于帮助学生解答问题、调试程序的同时,无法避免部分学生的自我放松,如在上课期间偷偷玩游戏、看视频等。

1.3  考核方式不够客观

我校以往的实验考核方式为,以学生在学期中提交的实验报告为依据,根据各实验的准确率计分。从早期的由教师手工评阅,到后来的基于ACM竞赛的OJ平台,实现了自动化评测。但是,OJ平台的评测采用最终程序运行通过即记录满分的方式,无法记录步骤分,非满分即零分的计分方式一方面缺乏区分度,一方面容易使学生产生挫败感,不利于激励学习。

2  改革与创新措施

进行创新型实验设计,对实验教学模式进行混合式教学改革,重构实验教学體系。具体内容包括以下方面。

2.1  基于数据分析,认清学生实际情况

在开课之初,设计问卷调查,多角度了解学生情况,发现我校非计算机专业的学生绝大多数没有编程基础,但普遍认为学习程序设计是培养计算思维的有效途径,对个人学业和未来工作具有重要意义,学生的学习态度端正,学习积极性高。

基于对学生情况的精准认识,重新编写实验教学大纲,重构实验教学体系,明确了采用引领、推动、抬高的步骤,稳步、逐步提升学生实践能力的教学指导思想。

2.2  改革实验教学内容

从编程小白到编程高手,编程能力的提升是循序渐进的过程。针对我校学生的实际情况,实验内容的设计考虑从最基本的题目开始,稳步提升难度。共设计12大主题实验,其中有11个验证型和设计型实验。题目设计先由模仿教材的引领式题目开始,再到填充部分空白的推动式题目,再到独立编程的抬高式题目。设计多层次、多级别的实验内容,使不同基础的学生建立信心,逐步提升实践能力。其中的1个综合型实验,设计为小组协作方式,使小组学生共同努力、共同进步。每个实验主题都建设了实验题库,分类型、分专业进行题目设计,与专业相结合的个别化题目,可以帮助学生了解到本专业对程序设计的需求。

2.3  改革实验教学模式

非计算机专业学生数量大、个体差异大,传统的大班集体上机实验、教师辅导、课后批阅作业模式使教学效果受限。本文改革以往的实验教学模式,借鉴浙江大学PTA程序设计类实验辅助教学平台与雨课堂智慧教学工具,使两者有机结合,建立在线资源和实验为一体的综合性、立体化实验课程。

在实验课前,教师通过雨课堂发布实验要求与线上资源,学生进行实验准备,通过课前测试对知识点查缺补漏。教师通过雨课堂的数据汇总提前了解学生的学习状况,以便在课前能够及时调整实验内容。在实验课上,各小班借助PTA平台和雨课堂等工具轮流进行翻转课堂,大班利用PTA平台进行编程实验。我校机房为200台计算机的大机房,分为A、B、C、D四个区域。每次实验课,选择一个约40人的自然教学班在A区进行翻转课堂,其余自然班自主编程。根据程序设计实验课程的特点,进行翻转课堂的教学设计,方式不拘一格、多种多样,目的是切实使学生成为学习的主體,主动探索、主动实践、主动构建知识体系,提高创新能力。例如,对于验证型实验,先由基础较好的学生讲解,再由教师对重点、难点进行针对性讲解。对于设计型实验,先分组进行项目研讨,然后边讲解、边演练;完成之后,展示学生作品,再在组间进行学生提问、学生答疑。对于综合型实验,首先分组讨论,形成解决方案,教师再进行评价与讲解。在实验课后,利用PTA平台的实验资源,鼓励学生参加校外编程练习,通过与其他学校的横向比较,锻炼学生的编程能力,激发学习积极性。

例如,在学习结构体数组的知识点之后,让学生进行一个“构建学生信息管理系统”的设计型实验,混合式实验教学模式的流程如下:

课前,教师利用雨课堂将课件、视频、习题、实验任务等信息推送到学生手机,并汇总学习结果。

课中,以项目驱动的方式在小班进行翻转课堂。学生从自身出发,分析讨论这项任务中的数据与操作过程中应包括的内容。学生兴趣很高,求同存异,设计出多个版本的结构体类型,例如以下代码中包含嵌套的结构体:

struct student

{

charnum[12];

char name[20];

char sex;

struct birthday date;

chardep[30];

};

并且分析出结构体与数组各自的特点,以及在本项目中的应用方式。操作方面的讨论更加激烈,考虑到增、删、查、改等方式并讨论具体实现方法。在讨论中,从程序框架到各函数的设计细节,逐步理顺编程思路。学生在利用已有知识探究问题解决办法的同时,自然会考虑到内存分配问题,进而激发了学习后续知识点“链表”的积极性。在完成代码之后,选取讨论过程中具有代表性的思路进行作品展示,进一步分析异同,并引申出优化建议。

课后,一方面要求学生进行学习反思,提交实验报告;另一方面要求学生在PTA平台选择一个校外实验题目强化学习效果。

2.4  改革评价模式

实验教学是C语言程序设计课程的重要环节,是总成绩的重要组成部分。目前的实验评价,仅仅以实验报告作为评价手段,难以保障真实性和公平性。改革评价体系,加强实验教学的过程化评价,关注学生个体发展与团队进步,科学评价学习效果。实验成绩由实验报告、过程测试、课内成绩和课外成绩四个部分组成。

在实验教学中,进行三次过程性测试,通过测试促进学习。PTA平台能够记录代码的步骤得分,即使程序代码没有顺利通过运行,学生的努力依然能够被认可,对学生是莫大的鼓励,从而激励学生持续努力。课内成绩的评定以翻转课堂中的表现为依据,实验模式的改变使学生在实验课堂上既有相互交流又有自主编程,学生思维活跃,参与度高。课外成绩的评定以在PTA平台参加的校外编程为依据,通过练习其他高校的实验题目,提高了学生自我挑战的主动性,使学生从被动编程到主动刷题,在编程中发现成就感。

3  结  论

C语言程序设计是一门实践性很强的课程,学生必须通过有效的实践训练,才能在实践中掌握理论基础和程序设计的思想和方法,最终提高独立设计、编写程序的应用能力。我校进行的实验教学改革,以学情分析为引导,以学生为主体,以提高学生编程能力为目标,加强学生的参与意识,把交流和分享作为教学的常态,构建了线上线下相结合、课堂内外相结合的混合式实验教学模式。经过在对2018级学生教学过程中的实践,发现学生对学习编程的积极性明显提高,并且为ACM竞赛输送了优秀生源。实践证明,实验教学改革对于提高我校非计算机专业学生的编程能力、培养计算思维能力,具有积极意义。

教学改革需要持续研究与实践,不断迭代,验证短期及长期效应。教师需要具备积极应变的能力,不断探索研究,推动教学改革,才能提高教学质量,培养优秀的应用型人才。

参考文献:

[1] 王珠珠.教育信息化2.0:核心要义与实施建议 [J].中国远程教育,2018(7):5-8.

[2] 朴燕姬,金日泽.非计算机专业C语言综合性实验的教学探索和实践 [J].黑龙江科学,2018,9(4):38-39.

[3] 郭银章,王丽芳.基于项目任务驱动的C语言程序设计课程教学改革与实践 [J].计算机教育,2017(2):41-44.

[4] 杨焱超,熊盛武,饶文碧,等.基于翻转课堂的C语言基础与编程独立实验课教学实践 [J].计算机教育,2016(10):103-105.

[5] 张翠平,赵晖.基于雨课堂混合式学习的C语言课程教学设计 [J].计算机教育,2019(3):85-88.

作者简介:贾凌(1980-),女,汉族,山东青州人,讲师,硕士,研究方向:网络与信息管理。

猜你喜欢

C语言混合式教学实验教学
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
“C语言程序设计”课程混合教学探索
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
计算机原理中C语言的应用价值
基于SPOC平台的混合式教学模式研究和实践
基于SPOC模式的《大学计算机基础》课程改革的研究