首页 理论教育 编程能力的培养,程序设计的知识和能力构成

编程能力的培养,程序设计的知识和能力构成

时间:2024-11-13 理论教育 版权反馈
【摘要】:可以说,程序设计能力是学生学习计算机课程应具有的第一能力。好的程序由精心构造的、好的算法构成。给出问题求解的离散化计算过程,是程序设计中最具有创造性的工作。3.程序设计能力的培养环节知识的价值在于运用,知识的运用需要技能。学习和掌握排列组合、数学归纳法等离散系统的数学方法对提高程序设计能力尤为重要。描述和建立数学模型是程序设计的前奏,数学归纳法、穷举法、构造证明法等证明技术都是算法设计方法的基础。

5.3.3 编程能力的培养

1.程序设计在计算机学科中的地位

程序设计是指解决某一问题时涉及的描述、开发及有效求解的一系列活动,是利用计算机实现自动化的重要手段。

可以这样说:一切计算的基本问题是“什么能被有效地自动化”。这个自动化的过程就是程序设计的过程。程序设计语言是计算机程序的表达工具。学生必须熟练掌握多种程序设计语言,并有良好的程序设计风格。程序设计是计算机学科的重要通信手段之一,是理论、抽象和设计的综合能力之一。可以说,程序设计能力是学生学习计算机课程应具有的第一能力。

2.程序设计的知识和能力构成

按照循序渐进的原则,与程序设计有关的教学内容主要有:计算机基础知识和操作、程序设计语言和基本的程序设计方法、最基本的数据结构及其算法、常用的算法设计方法等。在学习这些知识的同时,必须与能力的训练有机地结合起来。程序设计能力表现在以下几个方面:

(1)用自然语言描述现实事物的能力。只有能够正确且清晰地陈述问题及其求解目标,才能确定程序的功能。

(2)数学描述能力。程序设计是为了告诉计算机做什么和如何做。这就需要利用定义、定理、公式、函数等数学工具把问题形式化,建立数学模型

(3)数据结构设计能力。选择合理的存储结构,在计算机中表示数学模型,是程序设计的一个重要方面。

(4)算法构造能力。好的程序由精心构造的、好的算法构成。给出问题求解的离散化计算过程,是程序设计中最具有创造性的工作。

(5)程序编码能力。用某种程序设计语言表达算法,尽管这种能力往往被认为技术含量不高,但也需要对程序设计语言的熟练掌握和对算法设计的深刻理解。

(6)程序调试能力。程序调试能力是一种专业综合技能,需要对程序设计语言和程序结构深刻理解,需要熟练的操作技能,需要会设置测试数据和设置程序断点,这些都有待于学生在实践中逐步积累经验。

可以说,程序设计能力的高低在很大程度上反映了学生驾驭自然语言、数学语言和计算机语言的能力。这三种语言是人们毕生有用的三种通用智能工具。前两者是后者的基础,良好的英语和数学训练是学好程序设计语言和培养程序设计能力的重要基础。

3.程序设计能力的培养环节

知识的价值在于运用,知识的运用需要技能。程序设计知识的学习和能力的培养需要各方面的知识基础,它是一个系统的教育训练过程。程序设计能力的培养需要以下多个教学环节的系统配合:

(1)打好数学基础。严格的数学训练是程序设计能力的基础。学习和掌握排列组合、数学归纳法等离散系统的数学方法对提高程序设计能力尤为重要。描述和建立数学模型是程序设计的前奏,数学归纳法、穷举法、构造证明法等证明技术都是算法设计方法的基础。

(2)强化英语水平。程序设计语言的符号系统以英语为基础。程序设计文档语言首选英语。英语资料是计算机的最新和最大的技术资料来源。英语水平是我国软件产业发展和参与国际竞争的制约因素。

(3)变革教学方法。用传统的课堂教学方法讲授动态的算法和数据结构是十分低效的,像排序、递归等抽象动态的内容讲解就常常是费力不讨好,应该采用直观教学方法,利用挂图、教具等讲解。计算机辅助教学是讲解算法和进行程序设计训练的最佳教学环境,既能增加学习的趣味性,又可利用图形的直观性帮助抽象和动态过程的理解。

(4)重视阅读环节。从某种意义上讲,程序设计是用程序设计语言和方法进行的一种写作。仿照自然语言的学习方法,大量阅读、分析、修改和扩充典型的算法和程序,是提高程序写作能力的有效途径。而这个重要的学习环节往往得不到应有的重视,缺乏配套的程序设计阅读分析教材。教师应经常带领学生阅读程序,理解程序,提高学生分析程序的能力。

(5)在程序设计教学中突出数据结构的内容。沃思(Wirth)教授的著名的公式:

算法+数据结构=程序

此公式反映了程序的两个重要组成部分,程序设计语言的教学应该而且能够结合数据结构的基本内容。随着面向对象程序设计方法的推行,在程序设计教学中更应搞好与数据结构的结合和衔接,尽早引入程序单元、对象等概念。

(6)重视算法设计。在整个程序设计课程中,必须强调算法设计方法。通过不断的算法设计训练,使学生切实掌握迭代、枚举、递归等常用算法设计方法。

(7)贯穿工程方法。学习程序设计,从一开始就要强调结构化程序设计的思想,良好的程序设计风格和软件工程规范,将软件工程的思想方法贯穿于整个教学过程。要指导学生学会写规格说明、使用规范编码、调试等程序设计的必备技能。有条件时,要重视面向对象程序设计方法的引入,搞好教材内容的更新。

(8)加强上机练习。在整个学习过程中,精心策划的一系列由易到难、由大到小和配套衔接的程序设计作业是必不可少的教学环节。没有严格的上机训练,只凭读书和课堂讲授,是学不好程序设计的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈