本文刊登在电气电子教学学报_电气电子教学学报

其他范文 时间:2020-02-29 05:12:51 收藏本文下载本文
【www.daodoc.com - 其他范文】

本文刊登在电气电子教学学报由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“电气电子教学学报”。

本文刊登在电气电子教学学报 第26卷 第5期(2004.10)

C++语言教学新思路

戚晓芳

(东南大学材料科学与工程系 南京 210096)

摘要 本文分析了当前C++语言教学中存在的问题,在此基础上结合教学的内容、手段及环节的设置等方面提出了一个新的教学思路。关键词 程序设计,程序设计语言,教学

程序设计语言是大学计算机教育的核心课程,通过这门课程的学习,不仅可使学生获得一定的软件开发能力,还可锻炼他们的逻辑思维能力,对学生综合素质的提高也具有一定的促进作用。本文在较为深入地分析当前程序设计语言教学中存在问题的基础上,根据作者多年从事程序设计语言教学的实践经验,从教学的内容、手段及环节的设置等方面提出了一个新的教学思路。现状分析

受专业性质及总学时的限制,一般理工类专业不太可能开设较多的计算机课程。以我校为例,我校一般理工类专业只开设了计算机文化基础和程序设计语言等两门课程,而没有开设数理逻辑、计算机组成与结构、数据结构、软件工程等相关方面的计算机课程。这在某种程度上加大了讲授程序设计语言课程的难度,加上一些其它存在于教学过程中的问题,致使目前的教学效果不尽人意,具体表现在如下几个方面:

1.1 教学内容

C++语言因其强大的功能及广泛的实用性而日益成为当前高校理工类专业程序设计的主流教学语言。由于C++语言在具备高级程序设计语言特点的同时,还具有类似汇编等低级语言的面向机器的特点,因此,要求学生只有具备一定的计算机系统知识,才能深刻理解它的精髓。同时,在学习过程中,要求学生不仅要学会C++语言的使用,还要求他们灵活地运用C++语言来编程解决实际问题。然而,目前教师一般受传统应试教育的引导,忽略了上述因素对教学效果的影响,将授课重点放在C++语言的基本语法的讲授上,所选的编程实例大多用于语法规则的验证和说明,这种教学模式 “就事论事”,仅从语言的使用这个单一的角度进行教学而使得大多数学生在学完C++语言课程后,“知其然而不知其所以然”,吃不透、用不活所学语言知识,表现于学生在程序调试时,对一些不正确的执行结果经常不知所措,在开发较大规模的应用程序时,软件设计能力差。因此,仅从语法的层次讲解语言是远远不够的,必须将程序设计语言与相关的计算机知识结合起来教学,才能将语言讲透,学生才能将语言用活。

2.2 教学环节

目前,C++语言的教学环节主要是上课、课后作业、上机验证或调试一些小程序以及考 戚晓芳,女,1972年生,讲师、在职博士研究生,主要从事软件分析、理解及测试等方面的研究,电话:3793977,Email:xfqi@seu.edu.cn。试,这种教学环节的设置比较单一,学生缺乏大程序开发实践的锻炼,缺乏规范的软件开发的训练以及与其它人协作开发的经验,致使学生在学完程序设计语言课后,在面对较大规模的软件开发时,往往不知从何下手,难以实现从掌握语言到实际应用语言这一质的飞跃。2.3 教学手段

C++语言的授课大多采用多媒体课件。课件的运用一方面减轻了教师板书的负担,增加了授课的信息量,但另一方面,教师在授课时对课件的过分依赖则给本门课程的教学带来了一些问题,如在实际教学过程中,经常涉及到对一些重要的逻辑推理过程的讲解和示范,学生一般需要较长时间理解这些推理过程,而用多媒体课件进行讲授时,教师在不注意的时候,往往不自觉地加快演示的节奏,学生的思维难以与之同步,从而使授课质量下降。教学新思路

由以上分析可知,当前C++语言的教学体系在诸多方面都存在着不足,为提高教学质量,本文提出一个新的教学思路,新思路以教学内容的整合为中心,通过一些教学环节和手段的配合,以建立一个合理的教学体系。

2.1 整合教学内容,引导学生建构较为完备的软件知识体系

新的教学思路从学习语言使用、开发简单小程序开发一定难度的小程序开发较大规模的软件这三个层次来进行教学内容的组织,力图实现C++语言的教学与基本的软件知识教学的有机融合,使学生掌握的知识层层推进,逐步建构起一个较为完备的软件知识体系。

第一个层次以语言为主线,结合简单小程序逐一介绍C++的语言成份及语法使用规则,目的是使学生学会语言的基本使用。在此过程中,针对C++语言的特点,从设计背景、执行环境以及系统实现等多个角度讲授语言成份,使学生不仅“知其然”,而且“知其所以然”。如讲述指向函数的指针时,我们指出引入该语言成份的原因是由于一个函数不能直接以其它函数作为参数,只能通过指向函数的指针来实现,只有理解了这一点,学生才能深刻理解引入该语言成份的必要性,才能将之灵活应用;在讲述数组与指针的关系时,我们指出数组名就是该数组的首地址,对某数组a来说,在实际执行过程中a[i]就等同于*(a+i),这样学生才真正搞清C++语言中数组越界的本质,才能在实际编程中加以注意;在讲述变量的作用域和生存期等概念时,我们介绍程序区、全局数据区、栈区及堆区等四种不同的内存分配方式,这些基本知识的补充以及与语言知识的融合有效地帮助了初学者从根本上理解各语言成份在使用上的一系列问题。

学生仅仅熟悉C++语言还远远不够,最重要的是培养他们运用C++语言解决实际问题的能力。第二个层次的教学内容设计的出发点是引导学生实现从编写简单的小程序到灵活运用语言编程解决一定难度的实际问题的转变。在此阶段,我们以一些较为复杂的应用问题为牵引,由浅入深地介绍典型的算法,如枚举、迭代、递归、贪心、回溯等方法,并融合数据结构和程序设计方法等方面的基础知识,逐步培养学生的建模和程序设计能力。如对八皇后问题、迷宫问题的讲解,不仅使学生了解了回溯法的思想、对复杂对象的描述的抽象(数据结构),而且引导学生通过对实际问题的解决,领会程序设计中“分而治之”的基本程序设计方法。

最后一个层次的教学内容主要是补充一些必要的软件领域知识,为学生开发较大规模的软件做好准备。在此阶段,我们结合下面的大型分组课程设计,适当介绍软件工程学方面的知识,重点介绍基于WINDOWS的编程基础,如MFC的组成、图形设备接口、文档视图结构、对话框、控件等流行的编程技术,使学生能迅速适应从开发小程序到开发大程序的转变。

2.2 开展分组课程设计,强化学生软件开发能力

课程结束后,安排一次软件分组课程设计,每组4-5人,时间2-3周。题目具有较强的应用背景,如信息管理系统,亦可结合相关专业的应用进行,如工艺过程的软件控制系统,工艺过程的数值计算模拟系统等。要求学生经过需求分析、软件设计、编码、测试等软件开发的各阶段,最后可提交一个软件原型及有关文档。通过这样较大规模的软件开发活动的实践,可提高学生的软件开发水平和合作能力,不仅如此,还可使学生在以后的专业学习过程中,有意识地将计算机技术应用到生产和研究过程中,真正实现学有所用。

2.3 灵活运用教学手段,优化总体教学效果

在授课过程中,我们针对不同的教学内容,运用不同的教学手段,优化总体教学效果。如对知识性强的内容尽量采用多媒体,对某些简单的章节可安排学生自学,课上提出要点;对需要深入掌握的重点和难点,如指针、多态等概念以及一些涉及复杂的逻辑推理的算法思想及例题等,可不用多媒体,用板书的形式进行详细的讲解。通过对教学手段的灵活运用,我们才能合理分配学时,做到既难易兼顾,又保证教学质量。结束语

本文针对程序设计语言教学中存在的问题,提出了一个新的教学思路,其中部分设想已应用于实际的教学,如在教学内容的讲授上将C++语言与软件的基本知识进行有机的结合,在教学手段上采取“因材施教”的策略等,教学效果得到明显改善。当然,如果在课程结束后,再配合进行大型的课程设计,那么一定会收到更好的效果。

参 考 文 献

[1] 吴乃陵.面向对象C++程序设计教学改革.电气电子教学学报, 2003, 25(2), 9-11.[2] 周佩德等.计算机软件技术基础 

C++/ C程序设计.电子工业出版社, 1998.[3] 黄维通.Visual C++面向对象与可视化程序设计.清华大学出版社, 2000.Research on New Teaching Ideas in C++ Programming Languages

Qi Xiaofang

(Department of material Science and Engineering, Southeast University, Nanjing 210096)

Abstract This paper analyzes the problems presently existing in the teaching C++ programming language.Combining with the contents, methods and links of teaching, a new improved teaching idea is proposed.Key words Programming, Programming language teaching, Teaching

下载本文刊登在电气电子教学学报word格式文档
下载本文刊登在电气电子教学学报.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文