新書推薦:
《
冯友兰和青年谈心系列
》
售價:HK$
167.3
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:HK$
77.3
《
认知行为疗法:心理咨询的顶层设计
》
售價:HK$
99.7
《
FANUC工业机器人装调与维修
》
售價:HK$
99.7
《
吕著中国通史
》
售價:HK$
62.7
《
爱琴海的光芒 : 千年古希腊文明
》
售價:HK$
199.4
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
66.1
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
445.8
|
編輯推薦: |
配套资源丰富,有教学课件、教学大纲和教学计划等;案例丰富,有综合案例,把所有的知识点串接起来
|
內容簡介: |
本书依据教育*“六卓越一拔尖”计划2.0关于“新工科、新商科、新医科、新农科、新文科”建设的方针政策,把计算机基础知识和程序设计核心思想融为一体,对相关内容进行简化、提炼,并注重知识的横向联系。全书共17章,分为两篇: 第一篇为计算机科学核心知识篇,包括第1~9章,重点讲解面向培养程序员的计算机科学中的核心知识;第二篇为程序设计核心知识篇,包括第10~17章,以提炼程序设计思想和核心理念为主,并通过Python语言编写的综合案例把计算机科学与程序设计的诸多关键知识点融入其中。
本书适合高等院校非计算机专业本科生作为计算机通识教育课程的教材,也可以供计算机相关专业学生以及工业界的工程师参考。
|
目錄:
|
第一篇计算机科学核心知识
第1章计算机模型和历史5
1.1起源和驱动力5
1.2图灵模型5
1.2.1可编程数据处理机5
1.2.2通用图灵机6
1.3冯·诺依曼模型8
1.3.1冯氏架构组成8
1.3.2存储程序9
1.3.3顺序执行9
1.4计算机的发展历史10
1.4.1机械计算机时代11
1.4.2电子计算机诞生11
1.4.3电子计算机的发展11
1.4.4未来计算机12
1.5术语表13
1.6练习13
第2章数据化和数据的运算15
2.1现实世界和计算机世界15
2.1.1对现实世界的思考15
2.1.2现实世界和计算机世界的模型映射15
2.1.3对数据化的思考16
2.1.4数据类型16
2.1.5比特和位模式存储16
2.2数据化17
2.2.1数值的数据化17
2.2.2文本的数据化23
2.2.3音频的数据化24
2.2.4图像和视频的数据化26
2.3数据的运算28
2.3.1逻辑运算28
2.3.2移位运算29
2.3.3算术运算30
2.4术语表31
2.5练习31
2.6附录33
第3章程序的运行与硬件34
3.1程序与硬件34
3.1.1程序与指令34
3.1.2硬件工作流程分析34
3.2计算机硬件系统35
3.2.1中央处理单元36
3.2.2主存储器38
3.2.3辅助存储器40
3.2.4输入输出设备41
3.3硬件子系统的互连41
3.3.1存储器与CPU的连接41
3.3.2设备的连接42
3.3.3输入输出设备的寻址42
3.4程序的执行42
3.4.1内存空间分配42
3.4.2装载44
3.4.3运行44
3.4.4结束45
3.5简单计算机举例45
3.5.1简单计算机架构46
3.5.2指令和指令集46
3.5.3一个程序例子的分析47
3.5.4指令周期分解47
3.6术语表50
3.7练习50
第4章操作系统53
4.1操作系统的定义53
4.1.1定义53
4.1.2系统启动54
4.2分类和常用操作系统54
4.2.1主要分类54
4.2.2常见操作系统56
4.3操作系统内核组成57
4.3.1进程管理57
4.3.2内存管理60
4.3.3文件管理61
4.3.4设备管理62
4.3.5用户界面64
4.4术语表64
4.5练习65
第5章算法和程序设计语言67
5.1算法67
5.1.1算法定义和特征67
5.1.23种结构67
5.1.3算法的表示68
5.1.4基本算法69
5.1.5子程序74
5.1.6迭代和递归74
5.2程序设计语言76
5.2.1演化和分类76
5.2.2编译和解释77
5.2.3程序设计模式78
5.2.4编程的共同概念80
5.3术语表81
5.4练习82
5.5附录83
第6章数据结构85
6.1抽象数据类型85
6.1.1抽象数据类型定义85
6.1.2抽象数据类型模型86
6.1.3数据结构类型87
6.2线性结构88
6.2.1线性表88
6.2.2队列91
6.2.3栈93
6.2.4字符串93
6.2.5数组96
6.3树结构98
6.3.1树的定义98
6.3.2二叉树的定义与存储99
6.3.3二叉树应用——哈夫曼树100
6.4图结构101
6.5术语表104
6.6练习106
第7章数据库109
7.1何谓数据库109
7.1.1定义109
7.1.2平面文件和数据库109
7.1.3数据库管理系统110
7.2数据库体系结构111
7.2.1内层111
7.2.2概念层111
7.2.3外层111
7.3数据库模型分类112
7.3.1层次模型112
7.3.2网状模型113
7.3.3关系模型113
7.4关系数据库模型114
7.4.1关系定义114
7.4.2关系的操作114
7.4.3完整性约束115
7.5SQL116
7.5.1单关系的操作116
7.5.2多关系的操作117
7.6术语表118
7.7练习118
第8章软件工程121
8.1软件危机和软件工程121
8.1.1软件危机121
8.1.2软件工程的定义122
8.2软件生命周期122
8.2.1瀑布模型122
8.2.2增量模型123
8.3系统分析与设计124
8.3.1面向过程分析与设计124
8.3.2面向对象分析与设计125
8.4编码实现131
8.4.1编码131
8.4.2软件质量评估131
8.5测试132
8.5.1黑盒测试132
8.5.2白盒测试132
8.6文档133
8.7术语表133
8.8练习134
第9章计算机网络136
9.1基本概念136
9.1.1定义136
9.1.2分类137
9.1.3网络的拓扑模型138
9.1.4分组交换网142
9.2TCP/IP体系结构143
9.2.1TCP/IP模型144
9.2.2数据分组的传递145
9.3TCP、UDP和端口146
9.3.1TCP147
9.3.2UDP147
9.3.3端口148
9.4WWW服务原理149
9.4.1World Wide Web149
9.4.2Web的运行方式149
9.4.3Web浏览器149
9.4.4URL150
9.5Socket编程模型150
9.5.1基于Socket的TCP编程模型151
9.5.2基于Socket的UDP编程模型152
9.6术语表153
9.7练习154
第二篇程序设计核心知识
第10章程序之道159
10.1什么是程序159
10.1.1可编程处理机模型和IPO159
10.1.2第一个程序160
10.2自然语言和形式语言161
10.2.1自然语言161
10.2.2形式语言161
10.3程序的结构161
10.3.1生活中事情的分解162
10.3.2概念抽象和映射163
10.3.3程序结构模型164
10.4Python简介164
10.4.1Python发展历程和特性164
10.4.2Python安装165
10.4.3运行Python166
10.5术语表169
10.6练习169
第11章语句、表达式和变量171
11.1语句171
11.1.1Python中的语句171
11.1.2赋值语句172
11.2表达式173
11.2.1何谓表达式173
11.2.2表达式的构成173
11.3变量与常量173
11.3.1变量和常量定义173
11.3.2标识符174
11.3.3数值类型174
11.3.4字符串类型175
11.4运算符175
11.4.1算术运算符176
11.4.2关系运算符177
11.4.3逻辑运算符177
11.4.4赋值运算符178
11.4.5其他运算符179
11.4.6运算符的优先级180
11.5术语表181
11.6练习181
第12章函数183
12.1对函数的思考183
12.1.1事情、函数、过程和算法183
12.1.2函数的结构183
12.2参数和参数传递184
12.2.1形式参数和实际参数184
12.2.2参数传递185
12.2.3参数分类186
12.3变量的作用域189
12.4子函数与函数调用193
12.4.1子函数193
12.4.2函数调用和栈193
12.5语句的3种结构196
12.5.1过程、步骤和语句之间的关系196
12.5.2选择结构196
12.5.3循环结构198
12.6术语表199
12.7练习200
第13章常用数据结构201
13.1列表201
13.1.1列表定义201
13.1.2列表的主要操作202
13.1.3多维列表205
13.2元组205
13.2.1元组的定义205
13.2.2元组的主要操作205
13.2.3列表和元组的区别206
13.3集合207
13.3.1集合的定义207
13.3.2集合的主要操作207
13.4字典209
13.4.1字典的定义209
13.4.2字典的主要操作209
13.5术语表210
13.6练习210
第14章模块、文件、输入和输出212
14.1Python程序的组织结构212
14.1.1模块和文件212
14.1.2import语句212
14.1.3from…import语句213
14.1.4基于包和模块的程序组织214
14.2输入和输出215
14.3文件216
14.3.1数据的持久化216
14.3.2Python中的文件操作216
14.4术语表219
14.5练习219
第15章面向对象编程221
15.1面向对象思想221
15.1.1面向对象和面向过程221
15.1.2use a、has a和is a关系223
15.2类和对象225
15.2.1类、对象、属性和方法225
15.2.2类的定义225
15.3继承227
15.3.1Python继承实现227
15.3.2多继承229
15.4多态230
15.4.1方法重载230
15.4.2方法覆盖231
15.5术语表232
15.6练习232
第16章异常和调试233
16.1异常233
16.1.1异常处理233
16.1.2抛出异常235
16.1.3try…finally236
16.1.4with语句236
16.1.5自定义异常237
16.2测试概念237
16.3调试概念238
16.4术语表239
16.5练习239
第17章综合应用案例241
17.1需求分析241
17.1.1用户需求241
17.1.2系统需求分析241
17.2系统设计248
17.2.1设计决策和技术选择248
17.2.2系统设计概述248
17.2.3核心算法描述256
17.3编码实现259
17.3.1面向过程259
17.3.2面向对象259
|
內容試閱:
|
随着以大数据、云计算、人工智能、“互联网 ”等为代表的新一代信息技术的高速发展,信息技术正深刻地渗透和改变着社会的方方面面,给大学教育中各学科的人才培养、科学研究、创新创业带来了前所未有的冲击,出现了越来越多新兴交叉研究领域和方向。例如,新闻和传播领域的计算传播学、计算广告学、网络与新媒体方向;医学领域的医学大数据、基于AI的辅助医疗等;经济、管理等学科也和数据科学紧密相关。2019年4月29日,、中央政法委、科技部等13个部门在天津联合启动“六卓越一拔尖”计划2.0,全面推进“新工科、新医科、新农科、新文科”建设,提升高校服务社会的能力。
无疑,在新形势下,这些新学科的发展和创新人才培养离不开计算机相关技术,尤其是程序设计能力的培养。而Python作为数据科学、人工智能领域的核心编程语言,近年来迅速在学术界、工业界得到了广泛应用,从2011年被Google濒临抛弃的编程语言一跃成为国际编程语言热度权威排行榜TIOBE榜单中排名第1的编程语言。本书基于新形势下对计算机基础知识、程序设计的全新需求,结合当下“互联网 ”时代的“碎片化”学习的鲜明特征,把原来属于“计算机科学导论”和“程序设计基础”两门课程的内容,进行了高度浓缩,同时加入了第一编著者20多年的工程实践经验。在内容上坚持“简、精、顺”的理念。“简”是奉行“简单为美”的教学理念,尽可能把计算机科学和程序设计的核心知识点简单易懂地表述出来;“精”是把计算机科学和程序设计中在产业界真正实用的“精华”呈现出来;“顺”的目标是把计算机科学和程序设计的知识体系和脉络打通,使得其更为顺畅和实用。
本书分为两篇: 第一篇为计算机科学核心知识篇,包括第1~9章,重点讲解面向培养程序员的计算机科学中的核心知识;第二篇为程序设计核心知识篇,包括第10~17章,以提炼程序设计思想和核心理念为主,并通过Python语言编写的一个综合案例把计算机科学与程序设计的诸多关键知识点融入其中。
本书由林龙新统一组织、策划和统稿,并邀请到刘小丽、罗三川共同撰写。其中,林龙新独立编写了第4、8、9、10、12、14、15、16章;刘小丽独立编写了第1、2、3、5章;罗三川独立编写了第11、13章;第6、7章由罗三川和刘小丽共同编写;第17章由罗三川和林龙新共同编写。此外,还为第一篇和第二篇分别提供了各自的引言内容,以描述各章节之间的内在联系。本书获得“暨南大学本科教材资助项目”的特别资助,在此表示感谢!
由于编者水平有限,不足之处在所难免,望读者批评指正。
编者2022年2月
|
|