APP下载

提升C语言编程实践能力的对分课堂教学改革探索

2020-05-25梁新元

软件导刊 2020年2期

摘 要:C语言是计算机类专业重要的基础课程,但实践教学反映,学生普遍存在实践能力差的问题。因此提出旨在提高学生实践能力的对分课堂教学模式。首先分析C语言教学存在的问题与研究现状,再介绍对分课堂教学模式。在此基础上,提出基于对分课堂的教学过程管理方案,实现课前准备、课堂教学、课堂交流和反馈、作业批改和课程考核等5个环节的全面管理。教学实践证明,对分课堂教学过程管理改革方案是一种有效方案,课程考试及格率从46.91%提高到94.54%,极大提高了学生C语言编程实践能力、改善了学习效果。基于对分课堂的教学过程管理方案符合能力导向教育的要求,有助于实现以学生为中心的高效率课堂教学,具有一定可操作性和推广性。

关键词:C语言程序设计;编程实践能力;教学过程管理;对分课堂;过程考核

DOI:10. 11907/rjdk. 192028 开放科学(资源服务)标识码(OSID):

中图分类号:G434文献标识码:A 文章编号:1672-7800(2020)002-0217-05

英标:Teaching Reform of Improving Practical Competency of C Programming Using on PAD Class

英作:LIANG Xin-yuan

英单:(College of Computer Science, Chongqing Technology and Business University, Chongqing 400067, China)

Abstract:C programming is an important course for computer majors, but the poor practical competency is the core difficult of C programming teaching, so this paper tries to improve students practical ability through the teaching mode of presentation assimilation discussion(PAD) classroom. Firstly, the teaching problem and research situation of C programming was discussed. Secondly, PAD was introduced. Then, the paper put forward a teaching process management scheme based on PAD, which realizes the comprehensive management of five links, such as pre-class preparation, classroom teaching, classroom communication and feedback, homework correction and curriculum assessment. Teaching practice shows that it is an effective teaching management scheme based PAD Classroom to obviously enhance students practical competency and improve learning effect of C programming, which can raise the passing rate from 46.91% to 94.54%. Therefore, the scheme meets the requirements of competency-based education, and it is helpful to achieve student-centered and efficient classroom teaching, which proves the scheme is operable and can be popularized.

Key Words:C Programming; programming practical ability; teaching process management; PAD classroom; process assessment

0 引言

人才培養是高等学校最根本的任务,其培养质量高低取决于教学过程质量管理水平与监控力度[1]。为保证人才培养质量,其核心是对教学过程实施全面管理,课程教学过程管理是教学质量的根本保证[1]。李长熙[2]对2004-2013年国内11种高教类核心期刊论文统计发现,有关高校教学质量管理和提升的论文有1 410篇,教学质量过程控制成为近年研究热点,但是教育界理论研究居多,研究成果可操作性不强。主悔[1]从教师的角度认为,教学管理质量控制主要由备课、教学、辅导、批改和考核5个要件构成,这是最基本的教学要求和必不可少的环节。本文针对这5个环节,提出基于对分课堂的教学过程管理方案。

1 课程教学问题与研究现状

C语言程序设计(又称为程序设计基础)是计算机类专业学生的专业基础课,也是部分理工科专业的公共课。能力导向教育(Competency-based Education,CBE)由美国心理学家麦克莱兰(McClelland)提出,他认为核心能力是学生成功就业与可持续发展的关键要素。C语言程序设计等程序设计类课程实践性非常强,培养学生实践能力是核心教学目标[3]。如何提高学生实践能力成为当前程序设计类课程教学改革难点。

传统教学培养学生实践能力效果较差。教学集中于语法知识学习,大多数考试也以考查语法知识为重点,导致学生语法掌握扎实,但解决实际问题的能力薄弱。文明瑶[4]调查显示,学完C语言程序设计课程后能熟练掌握、灵活运用的学生不到总人数的10%,大部分学生只能应付考试,甚至约5%的学生采取放弃态度。

程序设计类课程存在的主要教学问题包括:①教学准备不充分,教学内容设置不当,教学内容组织和安排不合理;②教育理念和教学方式不恰当,教学方式单调,没有体现学生的主体地位,学生学习兴趣没有得到良好激发;③实验教学观念落后,实践形式单一,实践管理落后;④学生缺乏必要辅导,学习效果信息反馈不到位、不及时;⑤考核方式不合理,学生实践能力弱,教学质量反馈控制不合理。综上所述,程序设计类课程教学方法与教学过程管理均存在问题,无法提高学生实践能力。

针对以上问题,学者进行了积极探索。鲁红英[5]针对目前高校C/C++语言程序设计课程教学现状及存在的问题,构建了一套教材体系完善、教学资源丰富、教学手段先进、教学评价合理、考核方式差异化的教学体系,但缺乏教学效果定量分析;朱晓旭[6]提出程序设计类课程过程性考核方案,并开发了相应软件管理系统支持过程性管理,但同样对教学效果缺乏定量分析;戴蒙[7]提出了该门课程具体过程化考核方案,可分成4大模块进行上机考试,机器自动阅卷,但没有能力开发或者没有购买自动考试系统的学校则无法操作,实践效果不佳;梁新元[8]提出了一套教学过程管理方法,可明显提高学生实践能力,但要求较高的教师参与度,实践中教师教学任务繁重,难以分出较多精力参与,因此该方法不具有推广性。

目前研究暂时没有提供有效可操作的教学方法和过程管理方式,难以覆盖程序设计类课程教学管理的全过程。因此本文拟采用对分课堂教学法,从备课、教学、辅导、批改和考核共5个环节,提出以实践能力为核心的教学过程管理,进行有效的质量控制,提高教学有效性。

2 对分课堂

“对分课堂”是复旦大学张学新教授[9]基于脑科学与心理学原理提出的原创新型教学模式,2014年在复旦大学本科课程上取得良好的教学效果。对分课堂将课堂教学过程预设为在时间上清晰分离的3个环节:讲授(Presentation)、吸收(Assimilation)和讨論(Discussion),简称为PAD课堂(PAD Classroom)。教师让出部分课堂时间,交给学生掌控和主导,形成师生对分课堂的格局,使课堂教学过程发生结构性变革[9]。对分课堂有两个核心要素需要强调:①将一半课堂时间分配给教师讲授,将另一半分配给学生讨论,时间上的对分可以根据实际情况进行针对性调整;②将教师讲授和学生讨论在时间上错开,让学生在中间进行自主学习和个性化吸收,即本堂课讨论上堂课讲授的内容。这样的“隔堂讨论”是对分课堂与传统讨论式课堂的根本不同,也是对分课堂的关键创新之处[10]。对分课堂形成“以学生为主体、以教师为主导”的教育新理念,通过对分课堂教学法能充分调动学生学习积极性,提高学习兴趣,提升课堂教学效果与质量[11]。

从2014年提出以来,张学新教授的对分团队在全国进行了推广,该教学模式在上千所高校的数千门课程和数百万学生群体中得到应用,已成为与MOOC和翻转课堂并列的教学方法。2018年,张教授因提出对分课堂教学模式而入选教育部第五届全国教育改革创新先锋教师(全国共15个)[12]。短时间内对分课堂在众多学科门类上成功实践,得到广泛和高度认可,显示了其优异的普适性和有效性。

对分课堂从教到学、从布置作业到批改作业、从课堂管理到考核,覆盖所有教学环节。因此,对分课堂可实现以学生为中心,充分调动学生学习积极性,实现程序设计类课程的教学过程管理与质量控制,培养核心素养,培养实践创新能力。

3 基于对分课堂的教学全过程管理改革方案

教学是由教师的教和学生的学组成的一种人类特有的人才培养活动。教学环节包括备课、上课、作业、辅导、检测等,这些环节均直接影响最终质量。教学全过程管理的基本思想是完善教学各环节,做好教学过程管理与质量监控。

本文以2017级和2018级计算机专业C语言程序设计课程教学为研究对象,分析和总结对分原理在教学过程管理与质量控制中的实现方法,构建适合C语言程序设计课程的教学过程管理体系,提高学生实践能力。

3.1 课前准备

课前准备主要包括教师准备和学生准备两部分。

上课之前老师需作好课前准备,精心备课,每次备课重点不同。重庆工商大学从2017级开始采用对分课堂指导下的讲练结合教学法。教学过程中时间控制成为难点,如何在有限时间内完成教学任务,实现讲练结合,使课堂讨论成为课堂管理重点。因此,备课重点从传统的精心制作课件调整为设计教案。由于讲练结合必须安排一部分时间让学生练习编程,对分课堂法要求在课堂上进行讨论、提问和回答问题,因此,教学方案设计必须精确到每一分钟。为此,首先针对2017级精心设计C语言程序设计教案,该教案强调讲练结合(见表1和表2),在反思的基础上对2018级教案进行优化和完善。

教师备课前还需进行学情分析。计算机专业新生计算机专业素养参差不齐、差异较大。由于学生基础不同,给讲练结合法带来巨大挑战,因此,学生需在正式上课前作好相应准备。

学生准备部分主要包括准备笔记本电脑、安装软件和课前预习。由于采用讲练结合,因此正式上课前学生需准备好笔记本电脑,安装相应编程软件。为提高教学效率,要求学生课前学会电脑操作,并具备一定的键盘速度。学生课前准备也可安排在第一周的实验课上完成,以减轻教师工作量。对分课堂反对预习,主张课后复习,因此平时上课前不要求学生预习。

3.2 课堂教学

对分课堂把课堂教学分为讲授、内化吸收和讨论3个阶段,可以再分为5个关键环节:讲授、独立学习、独立做作业、小组讨论和全班交流[11],其中小组讨论和全班交流是课堂教学环节,重要性突出。

3.2.1 课堂讲授

课堂教学主要采用讲练结合法,即老师讲授与学生上机练习交替进行,采取理论和实验一体化方式教学。在表1中,老師讲完知识点和案例后,马上安排一定时间让学生上机完成指定练习任务,然后老师讲解下一个知识点和案例,学生再完成下一个练习任务,如此循环往复。

在传统课堂中,教师必须讲得事无巨细、全面、生动、透彻;但是,对分课堂的讲授原则是“精讲留白”[11]。在表1所示的授课教案中,两节课80分钟,教师讲解55分钟,学生练习35分钟,超时10分钟。老师讲授时间从原来的80分钟减少到55分钟,还要播放演示视频或现场演示。因此,教师进行选择性精讲,仅讲授最主要的知识点及注意事项,不过分强调细节。

本门课程共80学时,理论48学时,实验32学时。实验课主要安排对分课堂的小组讨论、学生提问和教师解答。由于采用理论和实验一体化方式进行教学,实验课上也会安排讲授和练习任务,如表2所示。理论课48学时需为学生预留约一半的课堂时间练习上机编程,因此,对分课堂上老师讲授的时间大幅减少。通过统计得知2017级讲授用时26.35学时,2018级讲授用时29.85学时,平均不超过30学时,少于传统讲授的48学时。而传统讲授方法即使安排48学时,还时常出现课时不够、需占用实验课时间的情况,或者教师快速讲完教学内容,无暇顾及学生感受,学生没有时间充分思考和消化。对比之下,对分课堂实现了高效授课,做到精讲留白。讲课过程中很少用PPT,讲解知识时只讲解主要内容和特别重要的语法点。对于不太重要的知识点,或以前占用较多课时的语法细节基本略过,并将其作为留白部分,让学生在课堂练习和完成作业的过程中建构知识,在该过程中既可展示自己收获或解决了的问题,也可针对性提出问题。对分课堂中,老师需去自我中心,扮演引导者、辅助者的角色,做到精讲少讲,帮助学生完成知识构建。

3.2.2 独立学习

对分课堂中的内化吸收分为独立学习与独立完成作业两个环节。独立学习主要内容是读书、复习、独立思考和总结,可以放在课堂上完成,更多时候是放在课后完成。在表1所示的理论课堂授课执行中,80分钟的课中学生上机练习35分钟,学生需完成验证性实验和少量改写实验,独立学习;在表2的实验课堂授课执行中,学生进行23分钟上机练习,在模仿编程过程中,学生内化吸收老师讲授的知识,提高编程实践能力。因此,在学生课堂练习阶段可实现独立学习。

3.3 独立作业与作业批改

课后学习主要内容是读书、复习、独立思考、完成作业,其中作业是连接讲授与讨论的核心环节,是对分成功的关键和实施对分最重要的抓手[11]。张学新教授[11]认为:作业目的是引导、督促学生课后复习,保证其理解基本内容,为深入、有意义的小组交流和讨论作好铺垫和准备。

在2017级和2018级C语言程序设计课程教学中每周布置1次实验作业,每次实验作业一般布置4道编程题,进行设计性实验,起到检验、引导和督促学习的作用,实现内化吸收。为保证学生独立完成作业,需从纪律规则上杜绝抄袭:每发现一次记3次0分,发现第2次再扣3次0分,发现第3次直接“挂科”。实践教学中通过严格管理,学生基本能独立完成作业。

对分课堂批改作业非常简单。作业分为3、4、5共3个等级,作业批改从完成、态度与新意角度进行评价,应付完成评定为及格3分,态度认真评定为良好4分,有新意和创意评定为优秀5分。采用对分思想评阅作业,只需简单区分学生的及格、良好和优秀等级,打等级3~5分,大幅提高了作业批改速度。2018级计算机3个班共有168名学生,将作业批改分为详阅、简阅和不阅共3种方式,分别占 1/4、1/4和1/2。详阅方式要给出分数和优缺点简单评语,简阅方式只给出分数即看一眼就给分,不阅方式只要提交正确就给5分。

3.4 讨论互动与教学反馈

课堂上还采用了对分课堂法,实现课堂讨论和师生互动。课堂讨论环节分为小组讨论、教师抽查、自由提问、教师总结等部分。后3个环节也可统称为“全班交流”。小组讨论通常3~4人一组,讨论时间10~20分钟。要求学生围绕作业,写出“亮考帮”,小组讨论互相切磋学习,共同解决问题。小组讨论解决不了的问题,再通过全班讨论或向老师提问解决。“亮考帮”是“亮闪闪,考考你,帮帮我”的简称,其中“亮闪闪”是本次学习的收获,“考考你”是指本次独立学习中自己掌握了其他同学可能不会的内容,或者帮老师出一些题目考查他人,“帮帮我”指本次学习中自己不会的疑问。“亮考帮”是讨论工具,也是老师了解学生作业情况的依据。

在该教学模式下,学生课堂讨论积极。课堂时常出现学生讨论非常激烈,讨论时间额外延长的情况。为保证小组讨论效果,主要从随机实现固定分组、随机指定小组主持人、制定提问记录表和发送作业批改情况等方面着手,有效提高讨论质量。在2017级计算机2个班和2018级计算机3个班教学中,对分课堂的小组讨论主要安排在每周实验课上进行,时间安排如表2所示。讨论内容为前次作业,采用的是隔堂对分,没有采用当堂对分。讨论前老师会将学生的实验作业及其批改情况、优秀典型和主要问题反馈给学生,通过作业反馈,学生能够了解自己存在的问题,学习到多种代码实现方案。小组讨论过程中老师走动观察学生讨论情况,不评价和介入小组讨论。

学生提问非常有代表性,有些小组提出许多深入而精彩的问题。原来在传统课堂需要老师仔细讲解的注意事项和细节问题以及需要老师精心设计的问题,现在学生基本上可通过自己探索解决,或通过小组讨论解决,对小组讨论没有解决的问题向老师提出。学生通过小组讨论建构知识和解决问题。学生讨论之后是学生提问环节,老师会随机选择学生提问,然后记录主要问题,老师针对学生提出的问题进行回答,最后将批改作业中存在的主要问题进行简单讲解,同时展示优秀作品。

整个教学过程中要求学生按照小组形式坐在一起,学生在课堂练习阶段也可以小声讨论、帮助同学解决问题,老师也会在教室巡回走动帮助学生解决问题。课后,个别学生还可通过QQ向老师提问,老师课后可给予个别解答。

3.5 过程性学习与形成性过程考核

传统课堂中往往通过期中或期末考试评估学生成绩,学生普遍出现考前高度紧张、临时抱佛脚的现象,学习效果差,这些现象其实是教学失败的标志[11]。张学新教授[11]认为:对分课堂主张把为实现有效学习付出的努力分散到整个学期,使学生转向过程性学习,淡化学习结果,强化学习过程。

传统课堂中,平时成绩与期末成绩比例分别是30%和70%,无法充分调动学生学习积极性。对分课堂中,理论成绩由平时成绩和期末考试成绩各占50%构成,平时成绩通过6次理论作业取平均分得到;实验成绩由平时成绩、半期上机考试成绩和期末上机考试成绩组成,分别占50%、25%和25%,平时成绩通过10-12次作业取平均分得到。通过强化学习过程管理,充分调动了学生学习积极性。

检测和质量控制是教学过程管理的关键环节,是检验和控制教学质量最核心的环节,所有其它环节均为教学质量服务。严格的质量检测和控制措施是保证质量的关键步骤,影响整个教学质量控制过程。严格的上机考试最能反映教学质量与学生实际能力水平。对分课堂实验上机考试禁止使用书籍参考资料、网络、U盘和手机,严格保证考试质量和水平。考试采用A、B、C、D 4套试卷进行考试,保证相邻同学之间的试卷完全不同,上机考试座位和试卷需错开安排[8]。

4 对分课堂教学过程管理改革实践效果

教学改革成果主要体现在提升学生实践能力,培养学生核心素养上,符合能力导向教育的要求,实践教学效果非常满意。

学生实践能力大幅度提升,充分说明了教学方法改革的有效性,对分课堂教学法明显优于传统教授法。相对于传统教学,对分课堂明显提升了学生实践能力,如表3所示。传统教学中,老师精心准备课件,讲解全面,个人精力投入巨大,但教学效果并不理想。通过表中的数据分析可以看出,采用对分课堂教学法实现课堂讨论,采用讲练教学法实现理论和实验结合,理论课堂进行上机练习的教学方式非常成功。2014-2016级计算机课程采用传统讲授法,即理论课上老师讲课件,实验课上学生上机练习。仅期末上机考试,平时作业很少批改和反馈给学生。2017和2018级计算机教学通过对分课堂教学方法的改革和过程管理,学生编程能力有很大提高,平均代码行、平均分、优秀率、优良率和及格率均大幅度提高。与传统教学班相比有较大程度提高,及格率提高47.63%,优秀率提高45.74%,优良率提高57.35%,平均分提高33.45分,平均代码行提高80.88行。大部分同学从不会编程变为可熟练编程,同时编码规范性好,初步具备了工程意识。

表4给出了不同教学法下期末计算机编程能力对比分析,展示了ABC 3个编程能力等级学生人数及其占比。A级为成绩在70分及以上的同学,表示编程优秀的学生;C级为40分以下的学生,表示基本没有编程能力;其他学生是B级,表示具备普通编程能力的学生。从这些数据可以看出,对分教学大幅提高了编程能力,A级编程优秀学生比例非常高,比传统教学提高53.62%。B级和C级学生比例较低,对分教学比传统教学B级普通编程能力的学生比例降低23.16%,C级不具有编程能力的学生比例降低30.46%。

5 结语

教改实践证明,基于对分课堂的C语言教学过程管理方案以学生为中心,实现从教到学、从布置作业到批改作业、从课堂管理到考核的全过程管理,可大幅提升C语言程序设计课程教学质量,提高学习效果和学生实践能力,符合能力导向教育要求,具有很强的可操作性与一定的可推广性。

同时本文提出的方法还存在许多不足,需进一步改进和完善。如怎样提供更加有趣且合适的教学材料,如何采用更好的方法激发学生学习兴趣从而更好地调动学生学习积极性;同时学生学习能力与逻辑思维能力还需进一步优化,以增强对分课堂教学的普适性与可推广性。

参考文献:

[1] 主悔. 高校教学质量管理的过程控制[J]. 三峡大学学报(人文社会科学版),2013,35(3):105-108.

[2] 李長熙,李建楠. 我国高校教学质量管理与提升研究述评——基于2004年到2013年国内11种教育类期刊的分析[J]. 现代大学教育,2014(6):50-58.

[3] 梁新元. 新工科背景下程序设计类课程的核心能力[J],电脑知识与技术,2018,14(17):146-149.

[4] 文明瑶,丁群,张基温. 关于建立程序设计课程教学新体系的研究[J]. 计算机光盘软件与应用,2012,(11):248-249.

[5] 鲁红英,肖思和,孙淑霞.  “C/C++语言程序设计”课程教学改革与实践[J]. 计算机教育,2013,(7):95-98+102.

[6] 朱晓旭,杨季文,赵雷,等.  程序设计类课程过程性考核研究与实践[J].  计算机教育,2014,(22):99-102.

[7] 戴蒙,李文举,徐继延,等.  《程序设计语言》课程过程化考核总结与探讨[J].  课程教育研究,2016,(5):197-198.

[8] 梁新元. 《C语言程序设计》教学过程管理的改革与实践[J],现代计算机,2018,(6):62-67.

[9] 张学新. 对分课堂:大学课堂教学改革的新探索[J]. 复旦教育论坛,2014,12(5):5-10.

[10] 张学新. 对分课堂:一种新的教学法[J]. 复旦大学教与学专刊,2014,(2):1-2.

[11] 张学新. 对分课堂:中国教育的新智慧[M]. 北京:科学出版社,2017.

[12] 中国教育新闻网.  第五届全国教育改革创新典型案例推选活动获奖名单[EB/OL]. http://www.jyb.cn/zgjyb/201801/t20180121_939612.html.

(责任编辑:江 艳)