|
1.内容提要
本书可以作为普通高校程序设计课程的教材,也适合已有一定基础、需要进一步系统化提高思维能力的广大程序设计人员自学。本书可以作为各个层次程序设计课程相关教师的教学指导用书。
2.前言
多年来,作者一直从事计算思维原理及应用的研究与实践,并将其与认知科学相关理论融合,取得较好的教学效果。在此基础上,构建了本书的体系结构,尝试新的教学思路和策略。本书的主要特色如下:1)将计算思维原理隐式地贯穿在全书体系、各个章节、各个维度、各个程序设计知识的解析之中;2)正确梳理了计算机语言、计算机环境、计算机应用和程序构造基本模型及方法几个方面的同步关系,并以计算思维原理耦合各个方面;3)以程序构造基本方法及其演化为主线,将计算机语言机制巧妙地作为基本方法的支持而展开;4)从演化角度,系统地解析了两种主流程序设计方法的内在思维联系;5) 对C++语言机制及其对程序设计基本方法的支持与拓展给予详细的解析。 本书的出版,期望引起各界同行对普通高校程序设计课程教学思路和改革方向的思考与讨论,并且,面向泛计算社会,为从根本上提高程序设计应用能力,构筑必要的思维基础。 本书的出版,我的学生们付出了大量的工作。孙竹山、周晓和崔效伟参与了案例设计并调试了大部分案例程序,徐旻昱、沈轩、张勇、黄亚彭、丁德林、袁明明、万逸、任杰完成了全书图表整理和制作工作。在此,对他(她)们付出的辛勤工作表示衷心感谢! 本书的出版得到江苏省教育厅(江苏省“十三五”高等学校重点教材立项)、东南大学(中央高校建设一流大学/学科经费)等组织机构和单位的支持,在此表示衷心致谢。 本书的出版得到了东南大学出版社的支持,在此表示衷心感谢!特别感谢张煦编辑的大力支持。 本书中的观点都是基于作者个人的认识、理解和感悟,难免存在错误和不妥之处,希望读者来信批评与指正。作者恳切盼望各位同仁来信切磋,作者的Email是junshen@seu.edu.cn。
3.目录
1.1程序与程序设计 1.1.1程序 1.1.2程序设计 1.2程序设计四要素 1.2.1方法 1.2.2语言 1.2.3环境 1.2.4应用 1.2.5程序设计四要素的关系 1.3程序设计的思维特征 1.4程序设计的基本学习策略及其C++映射 1.5本章小结
2.1数据类型 2.2单个数据的组织 2.3堆叠、关联与绑定 2.3.1堆叠 2.3.2关联 2.3.3绑定 2.4数据组织中的计算思维 2.5常用基本数据组织形态 2.5.1线性数据组织 2.5.2层次数据组织 2.5.3网状数据组织 2.5.4C++语言常用基本数据组织方法及其描述 2.6本章小结
3.1表达式 3.2基本语句 3.2.1基本处理语句 3.2.2流程控制语句 3.3堆叠与嵌套 3.4数据处理中的计算思维 3.4.1表达式嵌套 3.4.2语句堆叠与嵌套 3.5常用基本数据处理方法 3.6本章小结
第二篇方法
4.1方法与模型 4.2程序构造方法的认识视图 4.3程序构造方法建立的基本原理 4.4两种主流的程序设计方法及其思维联系 4.4.1面向功能方法概述 4.4.2面向对象方法概述 4.4.3两者的思维联系 4.5程序构造方法的进一步认识 4.5.1数据组织与数据处理的关系 4.5.2程序构造方法的计算思维特征 4.5.3C++语言对数据组织和数据处理的统一 4.6本章小结
5.1基本功能模块的构造机制及其描述 5.1.1基本功能模块构造机制的抽象 5.1.2C++语言对基本功能模块构造机制的支持及描述 5.2常用基本数据处理方法的C++语言函数定义及解析 5.3基本功能模块构造机制对数据组织方法应用的具体规则 5.3.1基本功能模块构造机制中数据组织方法的应用规则 5.3.2C++语言对基本功能模块中数据组织方法的拓展 5.4C++语言对基本功能模块表达模型的进一步拓展 5.4.1空返回值 5.4.2空函数与无参函数 5.4.3默认参数与可变参数 5.4.4多重返回 5.4.5系统库函数 5.5本章小结
6.1函数之间的耦合 6.1.1函数之间交互关系的实现机制 6.1.2函数的调用 6.1.3函数的返回 6.1.4C++语言中函数调用与返回的描述 6.2函数的一种特殊耦合关系——递归 6.3C++语言对函数耦合关系的拓展 6.3.1表达式参数与表达式返回 6.3.2函数重载 6.3.3函数模板 6.3.4高阶函数 6.4C++语言中面向功能方法的程序基本结构 6.4.1多文件结构概述 6.4.2编译预处理 6.5深入认识面向功能方法 6.5.1模型化方法的建立 6.5.2存在的弊端 6.5.3多维思维特征 6.6本章小结
7.1概述 7.1.1数据类型的重要性 7.1.2运用面向功能方法拓展新的数据类型——抽象数据类型(对象) 7.2数据类型拓展后带来的问题及其处理 7.2.1实例的构造和销毁 7.2.2默认构造函数与复制构造函数 7.2.3初始化参数列表 7.2.4同一种对象多个实例之间的数据共享 7.2.5实例访问与this指针 7.2.6如何实现新类型的基本运算 7.2.7如何解决类型不一致问题 7.2.8如何实现新类型的输入和输出(可流类) 7.3让对象生活在面向功能方法时代 7.3.1基于抽象数据类型的数据组织方法 7.3.2基于抽象数据类型的数据处理方法 7.3.3支持抽象数据类型的面向功能方法的程序构造 7.4深入认识数据类型 7.5本章小结
8.1对象关系概述 8.2对象嵌套关系 8.2.1对象嵌套时的实例构造与析构 8.2.2宿主对象的使用 8.3同族对象之间的关系 8.3.1继承(或普通遗传) 8.3.2多态(或遗传变异) 8.3.3C++语言对继承和多态的拓展 8.3.4对同族关系的进一步认识 8.4抽象数据类型的进一步抽象与拓展 8.4.1类模板 8.4.2类模板特化 8.4.3类模板与继承 8.4.4泛型编程 8.5C++语言中面向对象方法的程序基本结构 8.6深入认识面向对象的方法 8.7本章小结
9.1共享 9.1.1函数内的共享 9.1.2抽象数据类型内的共享 9.1.3单文件程序内的共享 9.1.4多文件程序内的共享 9.1.5共享带来的问题 9.2安全 9.2.1引用 9.2.2const限定 9.2.3异常控制 9.2.4动态类型检查 9.3性能 9.3.1inline函数 9.3.2类的友元 9.3.3类数据成员的mutable限定 9.3.4临时变量 9.3.5初始化参数列表 9.4对共享、安全与性能的综合认识 9.5本章小结
第三篇应用
10.1什么是应用 10.2应用的思维特征及其C++映射 10.2.1应用的思维特征 10.2.2应用思维特征的C++映射 10.3学习应用的基本策略 10.4本章小结
11.1什么是I/O流 11.2C++ I/O流机制的实现概述 11.3C++标准I/O流 11.3.1标准输入流类型及其使用 11.3.2标准输出流类型及其使用 11.3.3对标准I/O流的深入认识 11.4标准I/O流的状态管理和格式控制 11.5文件I/O流 11.5.1操作系统文件处理的一般原理 11.5.2如何创建文件输入流对象实例 11.5.3如何创建文件输出流对象实例 11.5.4如何关闭文件I/O流 11.5.5如何访问文件 11.5.6文件流应用示例及解析 11.6对I/O流的深入认识 11.6.1I/O流概念的认知层次 11.6.2I/O流概念的通用性 11.6.3I/O流机制的安全性 11.6.4I/O流概念的递归性 11.6.5I/O流的模板化(模板化I/O流) 11.6.6标准I/O流体系的可扩展性 11.7本章小结
12.1字符串的传统处理方法 12.1.1通过字符数组处理符号串 12.1.2通过字符型指针处理符号串 12.1.3传统处理方法存在的问题 12.2自己构建字符串数据类型String 12.3C++标准库的字符串数据类型string 12.4字符串流 12.5进一步认识字符串 12.6本章小结
13.1什么是异常 13.2如何处理异常 13.3C++异常处理机制 13.3.1异常处理框架及其描述 13.3.2C++异常机制使用的基本规则 13.3.3异常处理时的对象实例析构 13.4深入认识异常 13.5本章小结
14.1泛型程序设计及其思维本质 14.1.1泛型程序设计 14.1.2泛型程序设计的思维本质 14.2C++标准模板库STL 14.2.1STL的基本原理及其体系结构 14.2.2对类型通用化的处理 14.2.3实例解析 14.2.4STL的基本应用 14.2.5深入认识STL 14.3本章小结
15.1基于框架的程序设计基本思维 15.2MFC框架的基本原理 15.2.1Windows操作系统定义的基本程序模型 15.2.2MFC对Windows基本程序模型的包装 15.2.3MFC与Visual C++的关系 15.3MFC框架的基本应用 15.3.1MFC框架编程概述 15.3.2MFC框架编程的基本步骤 15.3.3应用示例及解析 15.3.4从Visual C++到Visual Studio 15.4深入认识基于框架的程序设计 15.4.1框架式程序设计方法的必要性 15.4.2MFC框架的高级应用 15.5本章小结
16.1基本应用模式及其建构 16.1.1基本惯用法及其建构 16.1.2数据组织结构中的基本应用模式及其建构 16.1.3数据处理算法中的基本应用模式及其建构 16.2设计模式及其建构 16.2.1MVC模式及其建构 16.2.2工厂方法模式及其建构 16.2.3适配器模式及其建构 16.3模式及其建构应用中的计算思维 16.4本章小结
17.1什么是广谱隐式应用 17.2广谱隐式应用的核心与关键 17.3应用示例 17.4深入认识广谱隐式应用 17.5本章小结
18.1应用的进化之道 18.2应用的思维之道 18.3应用之大道 18.4本章小结
|
|
| ||||||
|
| ||||||
|
| ||||||
|
| ||||||