基于项目驱动的C语言理论与实践一体化教学实践

2018-01-05 11:03吴国强张白潘俊涛
中国教育技术装备 2018年12期
关键词:非计算机专业C语言程序设计项目驱动

吴国强 张白 潘俊涛

摘 要 C语言程序设计是理工科大部分非计算机专业的一门重要基础性课程。分析C语言程序设计教学现状,针对教学中存在的问题,提出基于项目驱动的理论与实践一体化教学方法,目的是提高学生学习兴趣和培养学生实际程序设计能力。通过实际教学实践,得到比较好的教学效果。

关键词 非计算机专业;C语言程序设计;项目驱动;慕课

中图分类号:G642 文献标识码:B

文章编号:1671-489X(2018)12-0134-03

1 前言

C语言是一种高级计算机语言,是很多相关程序设计的基础,如面向对象的C++、JAVA等计算机语言课程;也是很多系统软件开发和应用软件开发的重要工具,如办公软件WPS和嵌入式软件等;还是全国计算机等级考试必须掌握的一门语言。因此,全国各高校除计算机专业开设C语言课程外,非计算机专业也开设这门课程。

传统的C语言程序设计教学采用以教材目录为主线的教学模式,上课重语法,上机实验验证性多,导致学生能听懂,但独立编程能力较差,缺乏程序设计的能力[1]。对于非计算机专业的学生,C语言的学习要求不高,也是导致学生编程能力低的一个因素[2]。对此,很多学者在研究过程中提出翻转课堂、慕课等新的教学方法[3],增加实践教学比例,但实践教学验证性实验居多[4],不利于提高学生编程能力。笔者提出以项目驱动的C语言理论与实践一体化教学方式,结合慕课教学方法,增加设计性实验和改变考核方式,进行实践教学。

2 C语言程序设计教学模式

对高校非计算机理工科专业的学生,第一学期安排学习大学计算机基础课程,在此基础上,第二学期安排学习C语言程序设计课程。教学过程中一般采用理论教学和实践教学相互独立的教学模式,可能存在以下问题。

1)大一第一学期,开设计算机基础课,是对计算机的基本介绍和软硬件的了解,用计算机编程的思维很难形成。采用此种教学模式,很难培养学生进行计算机程序设计的能力,面对众多的语法知识,学生学习兴趣不高。

2)运用此种教学模式,在理论课上存在教师“满堂灌”的现象,采用PPT进行多媒体教学,教学进度加快,学生只是被动接受。同时,授课内容偏重于语法,上机验证性实验多,不利于针对实际问题进行独立编程能力的提高,导致学生学习C语言编程的主动性和积极性不高。

3)C语言程序设计的教学内容以教材目录的形式展开,开始学生学习的积极性还比较高,但随着课程内容的深入,需要记忆和思考的内容增多,难度增大,学生学习兴趣降低。加之各章节知识点零散和先语法后实例的教学抽象生涩,脱离了具体的语句[5],虽然部分学生能够很好地掌握基本语法知识,但对于实际问题编写不出正确的程序。

4)C语言程序设计主要以笔试的形式进行考核,考核内容偏重于语法,忽略了学生应用C语言的编程能力,导致学生平时注重语法知识的死记硬背,以及考前的突击复习,虽然考试能够通过,但没有达到培养学生用计算机思维来解决实际问题的能力。

3 项目驱动的理论与实践一体化教学实践

针对以上问题,经过近几年的教学实践,笔者通过与学生沟通交流,发现他们在学习过程中比较突出的几个问题:一是上课能听懂教师所讲内容,但是到具体上机操作,编写程序和调试过程中的实践能力不足;二是实践相对理论要滞后,即上完理论课不能馬上实践,而是要等到实践课才能上机操作,在中间这一段时间,由于平时课业繁重,学生所学知识比较容易遗忘,上机时感觉无从下手。基于这样一种现象,笔者提出基于任务驱动的理论与实践一体化教学模式,具体教学探索如下。

理论与实践交互式一体化教学平台 采用凌波多媒体教学系统,图1所示为教师端截面图,包括屏幕广播、远程遥控、屏幕监视、多人会话、网上讨论、锁定电脑、发布消息、发布文件、收取文件、点名签到、班级模型文件等多种教学功能,通过一人一台计算机,可以实现理论与实践交互式一体化教学,理论教学过程中就可以随时上机实践。

项目驱动的理论与实践一体化教学 项目驱动是基于理论与实践相互结合的教学过程,通过一个具体的项目案例展开理论知识学习和不断深入的过程,并通过上机实践实现程序设计,不仅有利于保持教学内容的连续性,而且有利于提高学生对实际问题的分析能力和解决能力。主要方案如下。

1)慕课在线教育平台教学模式。通过学校慕课在线教学平台上传教学视频,学生可以课前学习,学习内容和传统课堂教学内容相同;不同之处在于学生自主学习和做课后习题,能够发现存在的疑难问题,通过平台反馈给教师,教师针对学生的问题,整理出课堂的主要教学内容,设计讨论环节,让学生解答疑难问题,作为平时表现进行考核。在一人一机的情况下,学生可以随时通过实际动手操作,更直观地理解抽象的理论知识,有利于问题的解决。

同时,通过慕课平台将难易程度适中并符合教学目标和涵盖本章节知识点的典型项目案例布置给学生,作为作业要求学生课前分析和写出算法;课堂上将学生分组,对案例进行讨论和完善,然后在计算机上编写程序,进行调试和运行;课后形成实验报告,通过实验管理系统提交。实验内容包括客观题和主观题,客观题主要是知识点的测试,主观题就是本项目案例求解的过程和内容。对客观题,系统可以自动批改打分,主观题由教师批改打分。实验报告的内容还包括心得体会,教师可以从中掌握学生对本章节知识的掌握程度。

一个项目通过作业设计、上机调试和提交实验报告三个过程,不仅使学生掌握本节的知识点,最重要的是有利于培养学生解决实际问题的能力,从能读懂程序转变为能写程序。

2)项目的设计。少一些对理论知识演示性和验证性的上机操作,增加设计性的项目,针对学生所学专业选择难度适中的项目,使学生意识到学习C语言是有用的,难度适中的项目有利于学生在设计过程中得到获得感和成就感,有利于提高学生学习的积极性和兴趣。在课程不断推进深入的过程中,保持项目的连续性和关联性,将零散的知识点不断地加进项目中,通过项目将知识点整合到一起。在这个循序渐进的过程中,项目内容不断充实,前面学习过的内容在后面章节重复出现。

通过项目的进行,有利于学生对学过的知识点的不断巩固,也有利于对新的知识点的学习,知识体系不断完善,形成一个整体。通过项目驱动培养学生程序设计的思维,提高解决实际问题的分析能力和动手能力,提高实践应用能力和不断创新的能力。

3)学习形式。初期经过“示范—模仿—实验”三个过程的教学组织形式,在这个过程中使学生学会使用和掌握计算编程,形成“个体—小组—教师”三个组成机制,即以个体的自主学习为主,小组互帮互助学习,教师指导为辅。借助凌波多媒体一体化教学系统,在一人一机的条件下,个体、小组和教师又是一个整体,通过在线实时互动和实践,有机地将理论与实践紧密结合在一起,通过项目驱动推进知识点的学习。

教学评价和教学效果 加强过程教学和实践教学考评比例。图2是旧的考评方式,主要分为平时考勤(10%)、平时作业(10%)、上机实训(20%)和笔试(60%)。与图2对比可以看出,图3所示新的考评方式增加了上机考试,分值占20%;同时,笔试所占分值下降到50%,上机实训所占分值下降到10%。这样做的目的是提高学生解决实际问题的动手能力和应用能力,真正做到学以致用。

针对2016级电气工程及其自动化专业学生采用新的考评方式,并和2015级电气工程及其自动化专业学生采用旧的考评方式的教学效果进行比较,比较的内容有期末成绩及格率、程序设计能力(上机实训和考试)、考勤与作业三个方面。如图4所示,可以看出,采用新的考评方式,2016级学生各方面的成绩均有一定提升。

4 结语

C语言程序设计是实践性很强的课程,也是很多高校理工科非计算机专业的基础课程。因此,以项目驱动的C语言理论与实践一体化教学为手段,课前让学生进行慕课学习,课上一人一机理论与实践融合,通过亲自上机操作解决课前学习遇到的疑惑。学生以小组为单位,根据项目要求对设计的程序进行修改和完善,在教师的指导下通过上机实践和总结,达到学习的目的。通过项目增加设计性综合实验,完善考核方式,有利于提高学生学习的积极性,有利于培养学生的程序设计思维能力和应用所学知识解决实际问题的动手能力。

参考文献

[1]金东萍.C语言程序设计课程实践教学改革探讨[J].辽宁科技学院学报,2015(3):75-76.

[2]游子毅.非计算机专业“C语言”教改方案的探讨与实践[J].科技创新导报,2015(10):106-107.

[3]韦萍萍,崔忠伟.C语言程序设计课程教学思考[J].计算机时代,2017(9):64-66.

[4]储岳中,秦锋,刘宏申.“C语言程序設计”理论与实践一体化教学的几点实践[J].计算机教育,2012,168(12):22-25.

[5]吴燕凤.C语言教学的现状与改革探析[J].大众科技,2012(7):216-217.

猜你喜欢
非计算机专业C语言程序设计项目驱动
非计算机专业计算机基础教学的总结与思考
高校非计算机专业计算机网络基础教学改革探究
以“学生为中心”的《C语言程序设计》教学设计探究
依托工作室的软件工程实践教学研究
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
程序设计课程中计算思维和应用能力培养问题研究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践