C++程序设计实践教材的创新与实践

2009-06-18 05:05
计算机教育 2009年15期
关键词:探索教学改革创新

朱 红

摘要:提高学生的计算机知识水平和实践动手能力,是计算机教学的根本任务。本文提出了一种上机实践教材的新思路,遵循学生的学习规律,从阅读程序模仿程序入手,由浅入深,最后达到拓展思维、提高编程能力的目的。

关键词:上机实践;实践教材;教学改革;创新;探索

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

1引言

在计算机教学活动中,计算机语言程序设计方面的教学是比较困难的,因为计算机语言和我们自身使用的语言在逻辑上有很大的区别,具有较为严格的语法格式和独特的算法逻辑。在教学中,语法和算法都可以通过研读程序进行讲解,但是,如何使学生通过学习能够独立编写程序一直是我们教学中的难点。由于计算机的算法与数学上算法有很大的区别,而经过十几年的学习,大部分学生利用数学中的算法解决问题已成了定式,例如求“1+2+3+……+100”这个计算机程序语言中经典的问题,很多学生考虑的是简便公式而不是直接循环求累加和,类似的问题不胜枚举。如何使学生从多年养成的思维定式中解放出来,轻松编写适应计算机特点的优秀程序,扩展其思维能力、创新能力,是程序语言教学需要解决的首要问题。针对这一问题,除了需要在计算机程序设计教材上下功夫外,实践教材的切入与引导也是不可缺少的必备环节。

2遵循学习规律,重视实践环节

长期以来,大家对编写计算机程序设计语言的教材十分重视,但却忽视了实践上机教材的编写,甚至于上机教材绝大部分内容是程序设计语言教材的习题解答,有的老师甚至不希望学生购买上机教材,因为部分学生会直接抄书上的作业答案。但是,历年来上机编程却是学生学习计算机程序设计语言的薄弱环节,许多学生可以熟练地阅读程序,但需要独立编程时却束手无策,不知从哪方面下手。而大部分的上机教材的上机实验的内容都只是针对某一个知识点,简单地提出编程要求,达不到辅导学生自主编程的目的。

为了解决这一在教学环节中出现的问题,培养学生的独立思考和编程能力,拓展学生思维,我们编写了《C++程序设计上机实践与学习辅导》教材,教材由四个部分组成,分别为上机实验指导、学习辅导与习题解答、综合测试和书中出现的全部习题与测试题答案。

3针对上机环节的创新与实践

虽然第一部分的上机实验指导只有16个单元,但却不同于一般的实验教材,是遵循学生的学习规律,从阅读程序模仿程序入手,由浅入深,最后达到拓展思维、提高编程能力的目的。具体来说,有以下四个步骤:

(1) 分析运行样例程序

阅读分析程序是学习计算机程序设计的第一步。每个实验单元的第一部分都是一个有一定深度和难度的典型范例程序,同时对该程序进行编程分析,分析程序的算法和难点,并且针对该程序提出问题,需要学生通过上机运行分析程序予以解答,目的是使学生通过调试运行样例程序掌握算法的基本结构与常用语法规则,并且学习规范化的编程方法。

(2) 完善程序

实验单元的第二部分是完善程序。给出一个与样例程序类似的完整的程序架构,其中重点的算法或相关的语法部分由学生自己完善,完善后调试运行,并且回答有关的问题。这样通过练习,逐步使学生适应了程序的语法结构,同时因为算法是学生自己完善的,也解决了程序结构与算法不能兼顾的问题,使得学生可以有针对性地解决重点问题。在这一部分中,如果碰到经典的算法问题,比如弦截法求解方程、选择法排序等,则会给出详细的解释,以帮助学生深入掌握。通过这一部分的练习,学生对程序的结构和算法语言的特点有了一个比较全面的认识,也有了一定的独立编程的能力。

(3) 模仿样例程序编程

实验单元的第三部分是要求学生独立编写与样例程序类似的程序,主要是使学生通过模仿练习独立编程。模仿是独立编写程序的必要步骤,通过模仿,可以了解规范的程序结构,思维方式,编程方法,程序设计技巧,同样,对编程过程中涉及到的常用算法及编程难点都有详细的提示及指导。

(4) 进阶提高编程

实验单元的第四部分是进阶编程练习,编写与上述三部分内容与语法有一定的关联度但又具有一定难度的程序。这一部分要求学生比较好地掌握前面三部分的内容,目的在于加强学生对所学知识、技能的灵活运用。在这一过程中,学生独立分析问题和解决问题的能力得到提高,并且可以尝试不同的解决问题的方法,引导学生用多种思维方式去解决问题,拓展思维能力,增强学生的创新精神和创新能力。

每个实验单元都是由上述四个部分组成的,从学生实践的角度而言,由浅入深,构成了一个有机的整体,使不同程度的学生都能找到适合自己实际情况的实验项目,达到提高学生的知识水平和实践动手能力的目的。

例如实验书中的函数单元,其中样例程序是根据变量求解函数值,通过这个样例程序使学生掌握了调用函数的格式,实参、形参的定义、引用,函数返回值的使用等函数调用的基本知识。而完善程序部分有两个程序,一是用牛顿切线法求解方程的实根,另一个是利用二分法求解方程的根,两种算法都给出了详细的图示说明,要求学生完善的部分则是实参、形参调用的语法格式和关键的算法语句。学生在完成该部分内容的时候,不用去考虑具体的程序结构,而将重点关注在函数部分最易出错的地方上——参数的调用格式和函数返回值的应用。模仿编程的部分是编写弦截法求解方程的程序,同样在书中给出了弦截法求解方程的详细的图示说明,而弦截法解方程的程序结构与二分法极其类似,所以对学生而言,只要掌握了函数调用的概念,通过阅读程序说明就可以轻松地完成这一项目。进阶提高是用递归调用的方法编写牛顿切线法求解方程的程序,这个题目有一定的难度,因为递归调用本身就是程序语言学习的难点,但是,从另一个角度来看,掌握了递归调用,则对函数调用参数的传递、函数值的应用等函数调用的概念也有了一个深层次的理解,同时编程能力也有了进一步的提高。

由此可见,通过这四部分的练习,不同程度的学生都可以找到适合自己水平的切入点,进而深入下去,由浅入深,掌握每个实验单元的内容,编程能力和思维能力都得到了切实有效的提高。

以上是实践教材的第一部分即上机实验指导部分的内容及特色,也是我们编写实践教材的初衷。

4用多样化练习巩固所学内容

众所周知,C++语言由于概念复杂、规则繁多、使用灵活,是较难掌握的一门算法语言。这就需要学生在了解概念、语法、算法的基础上,有针对性地大量练习,在练习中加深理解,发现问题,巩固所学的内容。而现有的教材由于篇幅所限,无法涵盖大量的例题及习题,因此,在实践教材的后边部分,我们收录了大量的习题,用以补充这部分的内容。

实践教材的第二部分是学习辅导与习题解答,其中章节的设置与《C++程序设计教程》一书相同,针对初学者在学习过程中遇到的困难和容易出现的问题,结合大量的例题进行了详细论述,内容全面,例题丰富,针对性强,同时给出了大量习题,帮助学生巩固复习所学的内容,使学生在学习完每一章后,都可以通过相应的习题和例题巩固所学到的理论知识。例如,在数组这一章,由于课时的限制,一般的教科书只给出简单的例题帮助学生理解概念和算法,比如冒泡法排序,数组中寻找最大值,简单的字符串处理函数的应用等,如果要深入灵活掌握数组的内容,这些例题无论是深度和广度,都是远远不够的。因此,在实践教材的第二部分,对应数组这一章,我们详细讲解了13个例题,包括求解fibonacci数列,二维字符数组的输入输出,进制的转换等经典例题,同时给出了32道练习题,涉及利用递归算法排序,从字符母串中查找子串等常用算法,再加上上机部分的鞍点查找,实时插入排序等算法,这些内容相辅相成,构成了一个立体的、全方位的练习体系,有助于学生灵活、深入地掌握所学内容,达到良好的学习效果。

第三部分是综合测试,给出七套模拟试卷,与第二部分学习辅导中对知识点分门别类的练习不同,在这部分中,将C++程序设计语言的全部内容综合考虑,融合各个知识点从而使学生能够全面、深入地掌握C++语言;第四部分是全部习题及模拟试卷的答案。

5加强实践教学是提高学生创新能力的关键

《C++程序设计上机实践与学习辅导》教材经过一年的使用,效果十分明显,大大增加了学生上机练习的积极性,通过网络提交上机作业的人数与往年相比,有了大幅度地提高,不少学生还主动提出新的思路、新的方法与老师交流。由此可见,在实践教学中倡导新的思路、新的方法,对提高学生学习兴趣,发展学生个性,拓展学生思维,培养学生的自主学习能力和创新能力发挥着关键性的作用。为此,计算机教学需要不断地研究创新,探索有效的教学方法,有的放矢,有效地培养全面发展的人才。

实践教学是高等教育中的重要组成部分,实践教学应努力贯彻以学生为主体,教师为主导,坚持知识传授、能力培养、素质教育协调发展的实验教学理念,培养具有创新意识、实践能力的高级人才。

参考文献:

[1] 金长宫. 高校计算机基础课教学实践与探讨[J]. 中国科技信息,2008,(4):204,206.

[2] 左桂兰. 计算机教学的实践与创新[J]. 辽宁教育行政学院学报,2008(2):147.

[3] 赵玉. 基于网络资源的计算机教学实践探索计算机教学的实践与创新[J]. 教学与管理,2008(12):112-113.

Developing Teaching and Learning Innovations in C + + Programming and Practice Book

ZHU Hong

(College of Electronics and Optics, Nanjing University of Science and Technology, Nanjing 210094, China)

Abstract: Improving student computer knowledge and practical ability is the fundamental task of computer teaching. This paper presents a new idea of C++ programming and practice book. Students can learn to follow rules of learning procedure, first study good C++ programming code from easy to digest, and finally achieve the expansion of thinking, and improve the programming and practical ability.

Key Words: exercise on computer, practice book, teaching reform, teaching innovation, teaching exploration

猜你喜欢
探索教学改革创新
社会转型期行政权控制的路径探索
房地产项目策划课程案例教学探索与实施
“创新人才培养模式”下的实验教学改革探索
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索