APP下载

C++程序设计教学改革探索

2014-05-04黄华军

计算机教育 2014年2期
关键词:三步法主动学习教学改革

黄华军

摘要:c++程序设计是高等院校计算机科学技术专业的一门专业基础课。对于初学程序设计的大学生,c++存在语法多、规则复杂的问题,使教师教学与学生学习都感觉困难。文章针对c++教学中存在的问题,从教学计划、教学内容、教学方式和考核4个方面阐述对c++程序设计课程教学进行的改革探索。

关键词:c++教学;教学改革;三步法;主动学习

0、引言

c++具有功能丰富、表达能力强、灵活方便、应用面广、目标程序效率高、可移植性好的特点,因此很多高校都将其作为计算机专业的一门专业基础课。该课程对培养学生的编程技能与逻辑思维能力、分析解决问题的能力、自学能力有重要作用。但是,c++存在概念多、规则复杂、使用灵活、不易调试等问题,使得教师教学和学生学习都感到困难,特别是很多高等院校将c++作为计算机专业学生入学后首先接触的第一门专业基础课,这种现象尤为明显,而c++基础学不好将直接影响后续专业课程的学习。因此如何进行c++程序设计课程教育,进一步提高教学效果与质量,成为了计算机专业课程建设中的一个紧迫任务。

1、教学计划改革

教学计划改革前,中南林业科技大学c++程序设计课程安排在大学一年级第2学期开设,其中理论课程安排在第1~16周,每周4学时,共64学时,4学分;实践课程安排在第2~19周,每周2学时,共36学时,2学分。

笔者通过几年的教学实践,发现教学计划中存在3点问题:

(1)学生没有编程基础。中南林业科技大学计算机专业学生在大学一年级第1学期的专业基础课程只开设了计算机导论这门课程,导致学生缺乏计算机编程基础的知识。

(2)理论教学跨度过长。C++程序设计理论课时共64学时,需要、16周的教学时间。这使学生在学习过程中遗忘了前面的教学内容,从而影响学生的学习热情。

(3)实践教学课时不足。C++是一门实践要求强的课程,理论教学与实践教学课时合理安排应是1:1或者1:1.5。而中南林业科技大学的c++程序设计课程的实践教学课时不足,从而影响学生学习兴趣。

基于以上3点问题一中南林业科技大学对c++程序设计课程的教学计划做了修改,将c++程序设计课程教学内容分为两个部分。

(1)面向过程教学内容安排在大学一年级第1学期进行,其中,理论课时32学时,每周4学时,共8周,2学分;实践教学课时32学时,每周4学时,共8周,2学分。

(2)面向对象的教学内容安排在大学一年级第2学期,其中,理论课时32学时,每周4学时,共8周,2学分;实践教学课时32学时,每周4学时,共8周,2学分。

2、教学改革

2.1 教学内容改革

根据新版教学计划,对c++程序设计的教学内容进行改革。首先调整教学大纲内容。最初的教学大纲是按照64学时编制的,内容涉及c++面向过程编程和面向对象编程思想。新修改后的教学大纲分为两部分:第1部分是C++面向过程的程序设计思想;第2部分是c++面向对象的程序设计思想。每部分包括32学时的理论教学和32学时的实践教学。

在面向过程的教学内容中,重点介绍c++的基本语法、规则和编程思想,详细介绍数据类型、变量、运算符、表达式、语句、控制语句、数组、函数、函数重载、参数传递的关键知识点,弱化了指针的知识点。同时对一些知识进行归类教学,采用“三步法”教学方法对关键知识点进行归纳和总结。

在面向对象的教学内容中,重点对c++中类、对象、成员函数、数据成员、构造函数、封装性、信息隐藏、继承性和多态性等知识点进行详细介绍,弱化运算符重载的内容。

通过对教学内容的改革,使学生在具体的教学过程中,不会产生迷惑,从而避免学生在接触到程序设计时,区分不了面向过程与面向对象的编程思想。面向过程程序设计思想的重点是c++基本语法、规则和编程思路的形成,而面向对象的教学则可以为学生在后续学习目前流行的开发语言Java和c#等面向对象程序设计语言时提供帮助。

2.2 “三步法”的教学方法

“三步法”是笔者通过长期的C++教学过程发现的一个规律。“三步法”的教学方法定义为:在c++语法中,一般存在“定义、声明和应用”3个步骤,因此,将这3个步骤称为“三步法”教学。通过“三步法”的学习,能够使学生减少编程过程中的语法错误,提高编程能力。

在面向过程的教学内容中,总结了许多采用“三步法”教学的知识点。如函数的“三步法”教学方法是函数的定义、声明和调用。对于函数,我们在教学过程中第1步要定义函数,即定义函数的功能;第2步是向编译器声明函数的原型;第3步是在需要时进行调用。通过“三步法”教学,学生能够很快地领会函数的正确使用方法。其他的知识点包括变量的“定义、初始化和应用”、数组的“定义、初始化和应用”等。

在面向对象的教学内容中,也总结了大量的“三步法”教学知识点,其中类与对象是典型的知识点。对于类与对象,总结的是类的定义、对象的定义和对象应用的“三步法”教学方法,旨在告诉学生要正确使用对象方法,第1步必须要定义类数据类型,第2步是利用定义后的类数据类型定义对象,第3步才是对对象的应用。

“三步法”的教学方法是在笔者长期的教学实践过程中总结出来的教学方法,对于初次接触计算机编程的学生来说,通过程式化的学习,能快速记住编程的规范,减少语法错误,提高初学者的学习兴趣与热情,增强学生的自信心。

2.3 实践教学的改革

c++程序设计是实践性很强的一门课,培养学生的编程能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。实践课程的主体是上机实验课程,但仅在上机实验课上编程是不够的,学习效果也会大打折扣。为此,我们对实践教学进行了改革。endprint

(1)改革实践课程教学方式。传统的实践教学方法是学生上机实验课,发现问题后由教师答疑,编写实验报告,最后由教师批改实验报告。在这个过程中,我们发现一个问题。由于现在的教材编订,许多的实验内容都有标准的答案,这样容易造成学生在实验课程中,按照标准答案写程序,不能使学生的编程思维得到有效的训练。为此,我们对这一教学方法进行了改进。首先在理论课堂上给出下次实践课程的实验内容,要求学生必须先写好实验报告;然后在实验过程中,由邻桌同学对事先写好的实验报告进行调试和批改。这样做的好处是学生事先对实验内容进行预习,并设计相应的程序,同时,学生是带着批判的精神来调试其他同学的程序,激发了学生的学习兴趣,提高了实验课程的学习效率。

(2)以小项目带动实践教学,提高学生编程兴趣。我们提供许多对学生具有吸引力的小项目,如24点游戏、老虎过河这两款游戏,不仅玩起来简单,用c++语言实现起来也简单,这对刚学习计算机编程的学生来说,既有娱乐性,又简单易编程,实现后易有成就感,易增加学习兴趣。在实现这些小项目的过程中,练习和巩固了C++语言的基础知识。另外,我们还设计了与学生的年龄特征及学生生活内容相关的小型系统开发,如课堂点名、签到系统、学生信息管理系统等。在c++语言的基础知识学完之后,需要学习面向对象编程,功能模块增多,难度增加,该类项目与学生的日常生活息息相关,学生对这些项目的各功能模块的流程也非常熟悉。

(3)采用综合设计型实验增加学生团队合作协调能力。通过布置或由学生结合本人的兴趣,从实际应用中选择有具体应用背景的实验题目,安排学生分组共同完成。综合设计型实验的具体内容如下:

①首先将综合设计型实验的题目要求布置给学生,要求学生在选好题目的基础上,认真研究题目的要求,自行查阅有关资料,写出系统的需求分析、总体框架设计,确定小组组长和成员,由小组组长进行任务分配工作。

②小组组长组织系统的需求分析、总体框架设计的讨论工作,将确定的系统详细设计方案交于教师审阅。

③在限定的时间内,组长安排成员完成C++语言的代码设计,完成各个功能单元的实现和调试。

④联编调试,要求把各个功能块联编起来进行调试。

⑤写出相关的系统分析、设计、实现等实验报告和文档。

综合设计型实验建立起以学生为中心的教学模式,这样既锻炼学生的动手能力,也加强他们交流与团结协作的精神,全面提升学生的程序设计与软件开发能力。

2.4 考核方式改革

传统教学模式中,c++理论课程的考核往往只有考试一个环节,显得不太合理。基于之前的改革,笔者对c++程序设计理论课程的考核包括以下几个部分:

平时环节占总成绩的20%,主要考查学生的出勤、作业、课堂表现等;团队表现占总成绩的20%,主要考查学生的团队协作能力;期末考试占总成绩的60%,主要考查学生的基本知识点、程序阅读能力与程序编写能力。

对于实践教学,考核以考查为主,主要考查学生在实践过程中的编程开发能力。实践课程的考核分4个部分,包括:平时环节(占总成绩的20%),实验过程(占总成绩的40%),实验报告(占总成绩的20%),团队协作(占总成绩的20%)o

3、结语

程序设计课程的教学目的是通过一门程序设计语言的教学,使学生掌握程序设计思维,包括基本结构和基本算法等,从而掌握程序设计的一般方法。但c++程序设计课程存在语法复杂、编程灵活、调试困难等问题,再加上开设这门课程时,学生通常属于初学者,容易让学生对这门课程普遍感觉枯燥、难懂。

为此,笔者依据多年的教学实践过程以及对多届学生进行的调研,对中南林业科技大学的C++程序设计课程进行了教学改革探索,通过修改教学计划,调整教学内容,采用“三步法”的教学方法和多种形式的实践课程的教学方式,对C++程序设计这门课程进行了改革。通过这些改革,使中南林业科技大学计算机专业学生的编程能力有了一定的进步,提高了学生的学习热情与信心。endprint

猜你喜欢

三步法主动学习教学改革
新课改下课堂提问“三步法”
高中生物教学中学生主动学习策略研究
数字电路课程的翻转课堂教学及调研
试论高中生物教学中学生主动学习的措施
《个人理财》教学中,发挥学生主体地位的路径研究
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
“三步法”在球柱处方转环曲面处方中的运用