APP下载

编程驱动下的 C语言程序设计教学探析

2021-01-05程海水

山西广播电视大学学报 2021年4期
关键词:C语言实例程序设计

□程海水

(江西开放大学,江西 南昌 330046)

C语言程序设计是计算机专业的一门主要基础课程。开展C语言程序设计教学改革,探索如何保持学生兴趣、增强学生信心、提高学习效果,具有重要的现实意义。

一、课程教学存在的问题分析

C语言程序设计是一门非常重要,也非常具有趣味性的课程。问卷调查结果显示:1317名学生,占比高达73.29%,认为此门课程很有趣。但是C语言的一个突出特点就是概念多、语法多、使用灵活。而这些概念性的枯燥理论知识均分布在前三章。课程教师基本都是按部就班、逐个知识点进行讲解。这种教学方式严重打击了学生的学习热情,学生在没有体会到C语言独特魅力的时候就失去了学习兴趣。

随着对教学改革的重视,C语言程序设计课程教学改革探索日益增多,但主要都是基于项目驱动或任务驱动的教学模式。设计上,主要是整体设计和章节设计[1]。这两种设计方法都存在脱离学生实际、过于理想化的问题,涉及的项目或者任务不适合没有编程基础的新生,反而打击了学生学习C语言的自信心。

在教学上,课程教师仍然还是无法摆脱以教师为中心,甚至是完全以教师为中心。教师一言堂、单向灌输,学生被动接受、缺乏主动思考意识,课堂气氛沉闷,教师与学生之间的互动性不多,教学效果不理想。

C语言程序设计课程是一门关于编程的基础性入门课程,概念多、语法多且运用灵活,很容易打击学生学习积极性。但是,作为一门编程语言,它具有上手快、实用性强、趣味性强等亮点。目前大部分教学均没有去挖掘课程的亮点,只是按照一般的课程教学方式开展教学或者改革探索。

项目驱动和任务驱动教学法均是普遍被教师采用的课程教学改革模式。这两种教学模式均改变了以教师为中心的传统教学方式,以学生为中心、让学生通过解决问题去提高能力、掌握知识。但是,作为没有编程基础的学生来说,这些项目任务太大、太难。因此,在教授C语言程序设计这门编程入门课程时,如果简单地照搬项目驱动或任务驱动这两种教学模式,教学效果的提升作用不会非常明显,甚至会适得其反。

二、课程教学改进措施

兴趣是最好的老师。为解决上述问题,开展教学改革,探索如何激发与保持学生兴趣、增强学生信心,是关键所在。经多年教学实践和探索,结合课程以及学习者的特点,创新性地提出编程驱动教学法。它的核心思想就是以编程为着力点,始终让学生保持学习兴趣。充分发挥C语言程序设计课程具有很强的应用性特点,将知识点融入有趣的精选程序中讲解,让学生在体验C语言乐趣的同时,掌握枯燥的基本理论知识,最终达到提升学习效果的作用。

(一)重组知识体系

对知识点进行梳理归纳,按照编程驱动思想合理优化原知识体系。在内容编排上,突出编程驱动设计思想,弱化追求语法规则的全面性。选取部分简单、必备的知识点与程序充分融合。通过讲解问题、解决问题,既让学生保持学习热情,又掌握基本知识。更加重要的是,能够持续不断地提升计算机专业学生的一种关键能力和素养——编程能力。为保证知识体系的完整呈现,可以在每章节的最后,以知识储备或者知识拓展等方式补充需要的知识。

(二)精选程序实例

为了能够充分发挥C语言的独特魅力,需要改变为了呈现知识点而去随意选取程序实例的常规做法。在充分考虑难易程度的基础上,应从知识呈现、趣味性、实用性、现实性等多方面考虑精选程序实例。比如:简单的小游戏程序、汉诺塔问题、计算器小软件的开发、解二元一次方程、闰年判断等。这些程序实例最终形成一个结构合理、数量充足的精选程序库。[2]

(三)融入思政元素

近年来,国家高度重视课程思政建设。作为理工专业课程,更加应该深入挖掘C语言程序设计课程的思政元素。比如讲好科学家故事、呈现科学家探索未知的创新精神等。具体展现形式可以是程序中输入输出语句引用的一句话或者某个知识点的引申内容。将思政元素融入课程教学,培养学生家国情怀、工匠精神,提升学习者正确认识问题、分析问题和解决问题的能力,树立学生正确的人生观、价值观。

(四)革新教材理念

经过课题组对省内多所高校的教师调研发现,课程教师基本都是严格按照学校选用的教材内容和编排顺序开展教学的。因此,教材设计是否科学合理直接影响着教学效果的好坏。为提升课程教学效果,教材编写也应该革新编写理念:1.方式上,采用开放互联的新形态一体化教材的建设思路,将介绍实例程序的微课视频、编程源码等数字资源和纸质教材有机融合,为线上线下融合学习提供支撑;[3]2.设计上,融入基于编程驱动的教学思想。改变完整介绍基本知识、再通过实例进行巩固知识的传统模式,每个章节前仅需介绍程序实例涉及的基础知识点,确保学生不会被长篇大论的枯燥知识影响学习兴趣。后续快速进入程序实例介绍部分,通过程序展现其他需要掌握的知识点。以生动的程序实例作为教学情境,在讲解程序中逐步导入枯燥的基本知识。[4]

(五)引入思维导图

编程驱动教学模式下,课程知识体系进行了重新构建重组。为此,课程设计时,应该引入思维导图。在每章节的最后,通过思维导图直观展现整个章节的知识点,有利于引导学生归纳总结知识、梳理知识脉络,帮助学生系统掌握课程知识结构,深入理解与应用知识,增强学生学习兴趣和学习信心。[5]

(六)改进教学实训

C语言作为当今大多数高级语言的基础,编程实验占有重要地位,是培养学生基本编程能力、科学研究能力、综合创新能力的重要实践环节。[6]在教学实训中,编程驱动思想同样需要贯穿其中。对照相关知识点,设计对应的实训项目,形成一整套完整的实训项目库,用明确的编程任务来主导学生的实践操作。实训对应的编程任务应该跟课堂讲授的程序有相似性,并且紧扣相关的教学知识点,但要避免过于章节化,忽略巩固前面章节知识。[7]通过教学实训的实施,进一步加深知识点的理解和应用,提升编程思维能力和实践操作能力。

(七)线上线下融合

C语言程序设计课程受众面广,实用性、趣味性强,而且各章节知识相对独立完整。这些特点使得该课程是最适合采用MOOC等线上教学的计算机课程之一。[8]在基于编程驱动的教学模式和新的教材编写理念下,以知识趣味性、案例实战化为思路,以编程实例为抓手,建设传授知识与编程训练相结合、自主学习与教师引导相结合的MOOC等线上资源,实现基于编程驱动的线上线下融合学习。

(八)优化评价考核

针对基于编程驱动的课程教学特点,在评价考核方式上进行了初步探索。为避免在过程性考核和期末考核中出现临阵磨枪、死记硬背等应付考核的现象,考核的重点和方向要有所改变,把考核编程知识向考核编程能力转变,评价考核内容主要以编程任务呈现。[9]在前期教学的课中考核或者课后作业中,只安排较为简单的编程任务,忽略枯燥难懂的概念性内容和一些复杂的语法规则,待后期学生已入门、兴趣高、进入较好学习状态后,再逐步加大编程难度,加入难度大、规则多、较为复杂的相关知识。从而达到考核理论知识、锻炼编程能力、增强学习动力的目的。

三、结语

作为一种创新性的教学模式以及教学理念,编程驱动教学思想对现有的教学方法进行了改进,对知识体系进行了分析与重构,符合C语言程序设计课程特点和教学改革实际要求,与该课程的基础性和应用性特点契合度较高,特别是深入挖掘和充分发挥了课程的趣味性,提高了学生兴趣,调动了学生积极性,增强了学生信心,使学习效果得到了很大的提升,为学生的可持续发展奠定了良好的基础。

猜你喜欢

C语言实例程序设计
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
完形填空Ⅱ
完形填空Ⅰ