前言
2006年3月,美国科学基金会计算机与信息科学工程部主任周以真(Jeannette M. Wing)教授首先提出并定义了“计算思维”(Computational Thinking,CT)这一概念: 计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。2011年,图灵获奖者Richard M. Karp提出了“计算透镜”(Computational Lens)理念,其核心是将计算机作为一种通用的思维方式,通过这种广义的计算(涉及信息、执行算法、关注负责度)来描述各类自然过程和社会过程,从而解决各种科学问题。
在我国,计算思维的重要性也引起了科学家和教育界人士的高度重视。教育部高等学校计算机基础课程教学指导委员会主任委员陈国良院士等积极地倡导把培养学生的计算思维能力作为计算机基础教学的核心任务,并由此建设更加完备的计算机基础课程体系和教学内容。
《程序设计基础(第2版)》(王恺、闫晓玉、赵宏编著)详细地介绍了一些利用计算机求解问题的原理和方法、C++语言的基础知识、基本的数据结构,以及如何使用C++语言和常用数据结构实现算法解决实际应用问题等内容,并且通过对一些精选问题求解思维和方法的分析,以及针对初学者容易出现错误和困惑的地方所提供的大量提示,帮助读者快速掌握核心技巧。另外,还通过二维码提供了视频讲解资料,也按照5E方法给出了应用案例,帮助读者更好地理解使用计算机解决问题的基本方法,达到使用C++程序设计语言解决实际问题的目的。
实践是训练计算思维和学习高级程序设计语言必不可少的环节。本书是《程序设计基础(第2版)》的配套教材,书中精心地为各章选编了配套的计算思维训练练习和上机实习题目,并在思想方法、算法和语法上给出了相应的指导,还为每章选编了配套的练习题目,并给出了参考答案,目的是使初学者通过理论结合实际练习,逐步提高计算思维能力,掌握使用计算机解决问题的基本思想和方法。本书可以作为高等学校学生提高计算思维能力、熟悉POTOBE理念、学习“计算机高级语言程序设计”课程的辅助教材。
本书由南开大学计算机学院公共计算机基础教学部的教师结合多年的教学经验和大学计算机课程教学的发展编著而成。本书面向我国高校计算机专业学生和非计算机专业理工科学生,力争使学生在有限课时内学习有关计算机基础知识,能够用C++程序设计语言和基本的数据结构实现一些基本算法,同时具有自觉使用计算思维、5E方法去解决实际问题的能力。其中,郭天勇负责第1、3、5、7、9、11、13、15章的编写并统编全书,李妍负责第2、4、6、8、10、12、14章的编写及全书校对工作,王恺负责编写第4~6章、第8章、第9章、第14章及第15章,赵宏负责编写第1~3章、第7章、第10~13章。
在本书的编写过程中,得到了清华大学出版社张瑞庆编审的大力支持,在此表示真诚的感谢!
本书还参考了国内外的一些程序设计方面的开放课程网站和书籍,力求有所突破和创新。由于作者能力和水平的限制,书中难免存在欠妥之处,恳请读者指正。
作者
2026年3月于南开园
