到一个地方去旅游,最好研究一下当地的地图。准备学习编程的时候,最好了解计算机科学的概貌——拥有一份大图(big map)。英国著名哲学家怀特海曾说过:『在中学阶段,学生伏案学习;在大学阶段,他需要站起来四面观望』 。“四面观望”的一个实际例子(instance),就是学生应该主动去了解大学四年将学习什么课程、自己的专业教学计划。

按照美国计算机科学专业本科的教学计划——《计算课程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 知识单元与章节映射表]


《编程导论(Java)》附录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.高性能计算 [选修]

大学计算机科学的14个知识领域相关推荐

  1. 大学计算机科学的14个知识领域,课程和知识体系pdf-南京大学计算机科学与技术系.pdf...

    课程和知识体系pdf-南京大学计算机科学与技术系 第三讲 计算机学科专业. 课程与知识体系 南京大学计算机科学与技术系 黄 宜 华 yhuang@nju.edu.cn 了解本学科体系的重要性和作用 A ...

  2. 大学计算机科学的14个知识领域,河海大学计算机科学与技术专业浅析.ppt

    河海大学计算机科学与技术专业浅析.ppt 计算机科学与技术专业浅析,河海大学 计算机与信息学院 计算机科学与技术系 毛莺池 2015.5.20,内容提要,中国计算机专业教育发展概况,1956 1956 ...

  3. 计算机科学的知识领域

    ACM和IEEE-CS联合工作组发布的CS2013(计算机科学课程指南2013)报告给出了计算机科学知识体的概念.该报告给出计算机科学的18个知识领域如下:   ● AL - Algorithms a ...

  4. 计算机组成原理r型指令logisim实现_大学本科计算机科学与技术专业知识体系

    写这篇文章是因为今年我又担任了新生班主任,信息学院计算机科学与技术专业19级1班,也是我校今年录取分数最高的一个专业.今年正好是我教书20年,20年前我第一次担任班主任的情景还历历在目,如今9905班 ...

  5. 斯坦福大学计算机科学申请,美国斯坦福大学计算机科学专业申请条件有哪些?核心领域有哪些?...

    众所周知,计算机是人类历史上最伟大的发明,自从计算机出现之后,人们的工作效率也大大增强了,而且计算机越来越普及之后,计算机科学专业也成为了当下最热门的专业,同时也有许多学生选择前往海外进修计算机科学专 ...

  6. 2019软科计算机科学与工程,2019上海软科世界一流学科排名计算机科学与工程专业排名康奈尔大学排名第14...

    2019上海软科世界一流学科排名计算机科学与工程专业排名指标 首先计算大学在每项指标上的得分,具体为大学在一项指标上的数值除以该项指标的最大值(开根号)再乘以100.然后各指标得分除以100再乘以相应 ...

  7. 水牛城大学计算机科学,【揭秘】美国纽约州立水牛城大学计算机科学与工程专业申请条件有哪些?...

    众所周知,因为计算机行业从业者的薪资待遇和发展前景都是非常可观的,所以计算机专业也逐渐成为了当下最受广大学子喜爱的专业,美国拥有世界上最丰富的教育资源,境内不少大学所开设的计算机专业都非常出色,美国纽 ...

  8. 圣路易斯华盛顿大学计算机科学,计算机系列-圣路易斯华盛顿大学cs

    2021 us news综合排名 16 密苏里州,圣路易斯市 圣路易斯华盛顿大学(英语:washington university in st. louis)是美国密苏里州圣路易斯市和圣路易斯县的一所 ...

  9. 兰卡斯特大学 计算机,兰卡斯特大学计算机科学与信息系统Computer Science and Information Systems世界排名2020年最新排名第151-200位(QS世界排名)...

    2020年QS计算机科学与信息系统Computer Science and Information Systems专业世界排名公布,兰卡斯特大学计算机科学与信息系统世界排名第151-200位,兰卡斯特 ...

最新文章

  1. 文件服务器raid1设置,文件服务器raid1设置
  2. php实时上传多张图片,php实现多图片上传程序代码
  3. tableau地图城市数据_Tableau 地图 | 无法识别的城市
  4. Linux内存管理slub分配器
  5. 分析方法的基础 — 4. 业务与管理的分离,应用案例
  6. W3c 中文 文档,很不错
  7. ionic云开发系列二之调用webservice
  8. python读取xml文件内容_python读取xml文件
  9. 易语言识别语音的方法
  10. (转)主成分分析(Principal components analysis)-最大方差解释
  11. Testbench编写方法
  12. 如何在dev cpp中使用c++11标准
  13. JAVA程序修改PDF内容_java 修改pdf
  14. 一文读懂五险一金,离职空窗期五险一金又该怎么办
  15. Android 实现小红书登陆页面背景图无限滚动效果
  16. 开源库UniTask笔记
  17. 2021年中式烹调师(中级)试题及解析及中式烹调师(中级)模拟试题
  18. 有关JAVA考试中数据库的题_全国2018年4月自考互联网数据库考试真题
  19. java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)
  20. 利用随机数实现指定概率抽奖

热门文章

  1. ReactNative之Image组件自适应高度,图片自适应大小
  2. 房价上涨难以动摇,2016年持续上涨的局面。
  3. 数据链路层 一些其他的协议or技术
  4. python 频繁项集_Apriori算法:从数据中挖掘频繁项集
  5. 可疑交易_IE的可疑版本定位
  6. 【2022计算机夏令营】同济电信、哈工大(威海)、南开人工智能
  7. Python的轻量级ORM框架peewee
  8. c++ 函数返回数组
  9. 1、netty的简单认识
  10. 腾讯全球数字生态大会