图书前言

前言

为什么要学习程序设计基础?

上海交通大学王浣尘教授提出,世界由物质、能量和信息三种元素组成,这种用系统分析的理论来认识世界的方法越来越广泛地为人们所接收。随着社会的进步,信息在社会中起到越来越重要的作用。现代学者对计算机(无论什么形态)的一个普遍认可的定义为: 能够存储和操作信息的智能电子设备,而计算机是通过软件来完成信息的操作和处理的,无论是设计软件,或者是使用软件来处理信息,都应该具备一定的程序设计的思维能力。

“万丈高楼平地起”,再优秀的软件,都是由一条条的指令按照一定的顺序和规则组成的。程序指令的描述方式不同于人类社会的自然语言,其顺序和规则不同于日常社会和工作中思考问题的方式。换句话讲,软件是由若干程序组成的,而程序是按照计算机的思维和逻辑设计而成的。因此,我们要学习和掌握利用逻辑和计算机思维来发现、分析社会中的问题的能力,并设计出相应的程序来解决问题,最终形成能够被大多数人使用的软件。

谁应该学习“程序设计基础”课程呢?

可以大胆地假设,在未来社会中,只有两种类型与软件相关的工作岗位: 一种岗位是设计软件; 另外一种岗位是使用软件。

美国的大部分大学都开设了程序设计通识课程,并把其作为重点,几乎所有学习自然科学的学生都需要选修这类课程。但是几乎所有的这类课程都是以兴趣引导为主,重点培养学生用计算机解决问题的思维,避免枯燥、困难、脱离实际的教学模式。受国外启发,近年来国内的大学首先在信息大类学科内开设了程序设计基础一类的课程,并且逐渐向其他专业推广。

高职学生以培养技能为主,一直忽视思维和设计能力的培养,这使得大部分毕业生在就业以后职业生涯的发展上与本科、研究生的竞争中处于劣势。再加上高职学生在校学习时间短,很多课程被压缩。因此,有必要将程序设计和一些新的方法、技巧整合在一起传授给学生,而避免过于追求一些枯燥的、艰难的程序设计。

程序设计基础包括哪些内容?

第一,思维。

这里的思维指的是计算思维,即通过运用计算机相关学科来进行问题求解、系统设计,甚至理解人类的行为和思维。尽管这种计算思维目前并不成熟,也不为科学家们所接受,甚至被认为是求解问题的一个错误方向。但是计算机思维是程序设计和软件设计的基础,是进一步学习计算机知识的基础,程序设计基础首先要培养学生的计算思维。

第二,表述。

基于综合考虑,本教程采用C语言来实现和描述每一个程序以及思想,C语言本身的功能和特点远远超过本书的范围,推荐部分学习能力较强的同学参考专门讲述C语言的教材,而本书则是重点应用C语言来实现相应功能。

第三,技巧。

一个熟练的程序员,其编程效率是一个刚毕业大学生的几倍甚至数十倍。在程序设计的过程中,有很多技巧能够提高程序设计的效率或者程序本身运行的效率。

如何学好“程序设计基础”课程?

程序设计大概可以分为三步: 分析、设计和调试。分析即运用计算思维和数学方法,理清问题的结构,找到问题的核心; 设计即通过某种具体的语言和工具来实现程序,解决问题; 调试即将设计完成的程序在各种环境下进行运行,测试程序是否正确。要想学好“程序设计基础”课程,无非是做好三个环节的工作。首先,掌握比较先进的数学思维和解决问题的方法,有助于帮助大家迅速地解决问题。其次,熟练掌握某种计算机语言,以及与该语言相关的技巧和方法,能够较快地将算法实现出来。最后,要有坚持不懈的决心和耐力,在验证程序的过程中,应反复不断地进行测试和调试,找到各种可能出现的问题,才能确保程序的正确运行。

编者2014年5月