附录B 知识单元与章节映射表

《编程导论(Java)》附录B 知识单元与章节映射表

按照美国计算机科学专业本科的教学计划——《计算课程2001》 ,大学级别的计算机科学知识可以归纳成14个知识领域:

1.        离散结构 Discrete Structures (DS)

2.        编程基础Programming Fundamentals (PF)

3.        算法与复杂性Algorithms and Complexity (AL)

4.        体系结构与组织Architecture and Organization (AR)

5.        操作系统Operating Systems (OS)

6.        以网络为中心的计算Net-Centric Computing (NC)

7.        编程语言Programming Languages (PL)

8.        人机交互Human-Computer Interaction (HC)

9.        图形和可视计算Graphics and Visual Computing (GV)

10.    智能系统 Intelligent Systems (IS)

11.    信息管理 Information Management (IM)

12.    社会与专业议题Social and Professional Issues (SP)

13.    软件工程Software Engineering (SE)

14.    (数值)计算科学ComputationalScience (CN)

每一知识领域包含多个知识单元(units),每一知识单元划分为多个主题。本书所涉及的主题请参见[附录B 知识单元与章节映射表]


编程基础Programming Fundamentals (PF)


知识单元


主题


本书章节


PF1. 基本编程结构


高级语言的基本语法和语义


1.2.4 语法、语意和约定


变量、类型、表达式、赋值


2.2数据类型


简单的 I/O


附录A 使用BlueJ

1.3.4 Math和tips. Print


条件和循环控制结构


3.1.1 三种结构、Java语句

3.2 实现


方法和参数传递


1.3.3 静态方法

3.1.2 方法

3.3 消息传递机制


结构化分解


3.1.2 方法


PF2. 算法和问题求解


问题求解的策略


10.1.2 算法的分类


问题求解过程中算法的作用


算法的实现策略


调试策略


算法的概念和特性


0.1.5 问题求解


PF3. 基本数据结构


基本类型


2.2数据类型


数组


5.3数组


记录


5.3.3 对象数组


字符串及处理


4.1.3 String


内存中数据的表示法


0.1.2 二进制补码


静态分配、栈和堆分配


7.4.1 存储管理策略


运行时存储管理


7.4运行时存储管理


指针和引用


2.4.1 引用的涵义


链表结构


5.2案例:单向链表


堆栈、队列和哈希表的实现策略


5.5栈


图和树的实现策略


选择正确数据结构的策略


PF4. 递归


递归的概念


10.3.1 递归的概念


递归的数学函数


简单的递归程序


分而治之策略


10.4分而治之


递归回溯


10.5回溯算法


递归的实现


10.3递归思维


PF5. 事件驱动编程


事件处理的方法


9.3 事件驱动编程


事件传递


异常处理


8.1 Throwable家族

8.2 捕获和处理

算法与复杂性Algorithms and Complexity (AL)


知识单元


主题


本书章节


AL1.基本算法分析


最大和平均复杂度的渐进分析


10.2时间复杂度


识别最好、一般和最坏情形下行为之间的区别


大O、小o、Ω和Θ(Theta)符号


标准复杂性分类


性能的经验评估方法


算法的时间与空间平衡


使用递推关系分析递归算法


AL2.算法的策略


蛮力法


贪心算法


分治法


10.4分而治之


回溯法


10.5回溯算法


分枝限界法


试探法


模式匹配和字符串/文本算法


数字近似算法


AL3.基本的计算算法


简单的数字算法。


10.1.1 算法


线性和折半查找算法


10.4.2 简单的查找算法


二次排序算法(选择、插入)


11排序


O(N log N)排序算法(快速排序、堆排序、归并排序)


哈希表,包括冲突避免策略


二叉遍历树


图的表示 (邻接表,邻接矩阵)


深度和广度优先遍历


最短路经算法(Dijkstra算法和Floyd算法)


传递闭包(Floyd算法)


最小生成树(Prim和Kruskal算法)


拓扑排序


AL4.分布式算法

AL5.基本的可计算性

AL6.复杂性分类:P和NP

AL7.自动控制理论

AL8.高级算法分析

AL9.用密码写的算法

AL10.几何算法

编程语言Programming Languages (PL)


知识单元


主题


本书章节


PL1. 编程语言概述


程序设计语言的历史


0.2编程语言


编程范式概述


1.1.3 面向对象

1.4编程范式


规模对程序设计方法学的影响


0.1.5 问题求解


PL2. 虚拟机


虚拟机的概念


0.2.3 高级语言的编译与解释


虚拟机的层次


中间语言


安全问题——由在不同的机器上运行代码所引发的


PL3. 语言翻译初步


比较编译与解释执行模型,阐述各自的优点


0.2.3 高级语言的编译与解释


语言翻译的阶段(词法分析、解析、代码生成、优化)


翻译的机器相关和机器无关


PL4. 声明和类型


类型的概念——数值和操作的集合


2.2.2 Java数据类型


声明模型(绑定、可见性、范围和生命期)


2.2.3 变量的声明模型


类型检查概述


2.2.1 类型系统*


垃圾回收


7.5垃圾回收*


PL5. 抽象机制


作为抽象机制的过程、函数和迭代器


3.1.2 方法

5.2.3 迭代器


参数化机制(引用 Vs 值)


3.3 消息传递机制


活动记录和存储管理


7.4.2 方法区


类型参数和参数化类型


5.4 Java泛型


编程语言中的模块


3.1.3 接口与实现分离


PL6. 面向对象程序设计


面向对象的设计


4.4依赖于抽象类型


封装和信息隐藏


6.1封装性


行为和实现的分离


3.1.3 接口与实现分离


类和子类


1.2.1 类体结构

2.1.1 里氏替换原则


继承(改写、动态分派)


2.1.3 改写(overriding)


多态(子类型多态 Vs . 继承)


2.1.2 啊,我看到了多态


类层次


2类层次


集合类和迭代协议


5.2.3 迭代器


对象和方法表的内部表示


7.4.3 堆上的对象


PL7. 函数式程序设计[选修]

PL8. 语言翻译系统[选修]

PL9. 类型系统[选修]

PL10.程序设计语言的语义[选修]

PL11.程序设计语言的设计[选修]

人机交互Human-Computer Interaction (HC)


知识单元


主题


本书章节


HC1. 人机交互基础[核心]


动机:为什么关心人


HCI环境(工具、web超媒体、通信)


HC2. 建立简单的图形用户接口[核心]


GUI的原则


GUI工具


HC3. 以人为中心的软件评价[选修]

HC4. 以人为中心的软件开发[选修]

HC5. 图形用户接口设计[选修]

HC6. 图形用户接口编程[选修]

HC7. 多媒体系统的人机交互[选修]

HC8. 协同和通信的人机交互[选修]

离散结构 Discrete Structures (DS)


知识单元


主题


本书章节


DS1. 函数,关系,集合


DS2. 基本逻辑


命题逻辑、真值表


DS3. 证明技术


DS4. 计算基础


DS5. 图和树


DS6. 离散概率

图形和可视计算Graphics and Visual Computing(GV)


知识单元


主题


本书章节


GV1.图形学的基本技术


图形学软件的层次


使用图形应用程序接口(API)


简单的颜色模型(RGB、HSB、CMYK)


齐次坐标系


仿射转换(比例放缩、旋转、平移)


取景变换


GV2.图形系统


GV3.图形通信[选修]

GV4.几何建模[选修]

GV5.基本渲染[选修]

GV6.高级渲染[选修]

GV7.高级技术[选修]

GV8.计算机动画[选修]

GV9.可视化[选修]

GV10.虚拟现实[选修]

GV11.计算机视觉[选修]

软件工程Software Engineering (SE)


知识单元


主题


本书章节


SE1. 软件设计


基本设计概念和原则


2.1.1 里氏替换原则

4.4依赖于抽象类型


设计模式


软件体系结构


结构化设计


面向对象的分析和设计


构件级设计


重用设计


SE2. 使用API


API编程


类浏览器和相关工具


以例程学编程


API环境中的调试


基于构件的计算导论


SE3. 软件工具和环境


编程环境


需求分析和设计建模工具


测试工具


配置管理工具


工具集成机制


SE4. 软件过程

SE5. 软件需求与规格说明

SE6. 软件验证

SE7. 软件演化

SE8. 软件项目管理

SE9. 基于构件的计算(选修)

SE10. 形式化方法(选修)

SE11. 软件可靠性(选修)

SE12. 专用系统开发(选修)

体系结构与组织Architecture and Organization(AR)


知识单元


AR1.数字逻辑和数字系统

AR2.数据的机器级表示

AR3.汇编级机器组织

AR4.存储系统组织和体系结构

AR5.接口和通信

AR6.功能的组织

AR7.多处理和备选体系结构

AR8.性能提高[选修]

AR9.网络和分布式系统体系结构[选修]

操作系统Operating Systems (OS)


知识单元


OS1.操作系统概述

OS2.操作系统原理

OS3.并发

OS4.调度与分派

OS5.存储管理

OS6.设备管理[选修]

OS7.安全和保护[选修]

OS8.文件系统[选修]

OS9.实时和嵌入式系统[选修]

OS10.容错[选修]

OS11.系统性能评价[选修]

OS12.脚本[选修]

以网络为中心的计算Net-Centric Computing (NC)


知识单元


NC1. 网络计算导引

NC2. 通信和组网

NC3. 网络安全

NC4. 客户-服务器计算的一个实例:web

NC5. 建立web应用 [选修]

NC6. 网络管理 [选修]

NC7. 压缩和解压 [选修]

NC8. 多媒体数据技术  [选修]

NC9. 无线和移动计算  [选修]

智能系统 Intelligent Systems (IS)


知识单元


IS1.智能系统的基本问题 [核心]

IS2.搜索和约束满足[核心]

IS3.知识表示与推理[核心]

IS4.高级搜索[选修]

IS5.高级知识表示与推理[选修]

IS6.代理[选修]

IS7.自然语言处理[选修]

IS8.机器学习与神经网络[选修]

IS9.人工智能规划系统[选修]

IS10.机器人学[选修]

信息管理 Information Management (IM)


知识单元


IM1信息模型与系统(核心)

IM2数据库系统(核心)

IM3数据建模(核心)

IM4关系数据库(选修)

IM5数据库查询语言(选修)

IM6关系数据库设计(选修)

IM7事务处理(选修)

IM8分布式数据库(选修)

IM9物理数据库设计(选修)

IM10数据挖掘(选修)

IM11信息存储与检索(选修)

IM12超文本和超媒体(选修)

IM13多媒体信息与系统(选修)

IM14数字图书馆(选修)

社会与专业议题Social and ProfessionalIssues (SP)


知识单元


主题


本书章节


SP1.计算的历史[1]


史前史---1946年以前


0.1.1 计算简史


计算机硬件、软件和网络的历史


计算的先驱者


涉及


SP2.计算的社会背景


SP3.分析方法和工具[核心]

SP4.职业和道德责任[核心]

SP5.基于计算机系统的风险与责任[1]

SP6.知识产权[核心]

SP7.隐私与公民自由[核心]

SP8.计算机犯罪[选修]

SP9. 计算中的经济议题[选修]

SP10.哲学框架[选修]

 (数值)计算科学Computational Science (CN)


知识单元


主题


本书章节


CN1数值分析(选修)

CN2.运筹学[选修]

CN3.建模与仿真[选修]

CN4.高性能计算 [选修]

时间: 2024-10-10 14:21:54

附录B 知识单元与章节映射表的相关文章

wxWidgets源码分析(3) - 消息映射表

目录 消息映射表 静态消息映射表 静态消息映射表处理过程 动态消息映射表 动态消息映射表处理过程 消息映射表 消息是GUI程序的核心,所有的操作行为均通过消息传递. 静态消息映射表 使用静态EventTable将事件号和处理代码绑定起来,用法示例: // 声明 class debugWXFrame: public wxFrame { DECLARE_EVENT_TABLE() }; // 实现 BEGIN_EVENT_TABLE(debugWXFrame,wxFrame) EVT_MENU(ID

DMA控制器从外设请求的映射表

《BI那点儿事》数据流转换——字符映射表

原文:<BI那点儿事>数据流转换--字符映射表 特征映射转换如图展示数据流中列的特征,它的编辑界面很简单,只有一个标签界面,点击要进行映射的列,可以选择需要添加新列或需要更新的列.可以在Output Alias列中给原来的列一个别名,选择要进行的操作,可以进行的操作类型有: Byte Reversal:逆转数字位的顺序,例如数据0x1234 0x9876的逆转结果是0x4321 0x6789,这种操作和LCMapString,LCMAP_BYTEREV选项有相同的操作结果 Full Width

多语言国家与缩写映射表

语言类别 缩写 备注 CHINE_NEW zh-rCN #简体中文 CHINE_OLD zh-rHK #繁体中文 English en #英语 FRENCH fr #法语 DUTCH nl #荷兰 GERMAN de #德国 GREEK el #希腊 HUNGARIAN hu #匈牙利 ITALIAN it #意大利 PORTUGUESE pt #葡萄牙 SPANISH es #西班牙 TURKISH tr #土耳其 POLISH pl #波兰 CZECH cs #捷克 MALAY ms #马来

初识java集合——映射表(Map)

*映射表 * java类库为映射表提供了两个通用的实现 HashMap和TreeMap * HashMap对键进行散列,TreeMap用键的整体顺序对元素进行排序,构建成搜索树 * * 与Set相似,HashMap的速度要比TreeMap要快一点,同时不需要按照排列访问,也应该选择HashMap * 注意,键的值必须是唯一的,如果第二次put了一个同样的键值进去,第二次的值会取代第一次的值,put会 * 返回用这个键参数存储的上一个值 * * 我们可以获取Map的视图,这是一组实现了Collec

oracle中映射表到timesten的方法

----1.createandloadfromoraquery命令并开启6个线程 Command>createandloadfromoraquery scott.t1 6 select * from scott.t1; ----2.使用内置命令完成数据导入 Command>call ttTableSchemaFromOraQueryGet('scott','t1','SELECT * FROM scott.t1'); Command>CREATE TABLE "SCOTT&qu

Hibernate映射表

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- 映射文件:映射一个实体类对象:描述一个对象最终实现可以直接把对象中的数据保存到数据库中 -

JNI——结构体(即java中的类)的传入与设置——NativeMethod映射表

参考:http://www.cnblogs.com/skywang12345/archive/2013/05/26/3093593.html java 类: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package com.skywang.ndk; public class MyInfo {     private String  mName;                        

Java 集合和映射表

集合 可以使用集合的三个具体类HashSet.LinkedHashSet.TreeSet来创建集合 HashSet类 负载系数 当元素个数超过了容量与负载系数的乘积,容量就会自动翻倍 HashSet类可以用来存储互不相等的任何元素.考虑到效率的因素,添加到散列集中的对象必须以一种正确分散散列码的方式来实现hashCode方法. 如果两个对象相等,那么这两个对象的散列码必须一样.两个不相等的对象可能有相同的散列码 继承Collection接口,所以Collection中的所有方法,都可以用 例子: