因为感觉到人们对计算机科学有着太多的误区,在这里给出美国CC2001(关于计算机科学的教学大纲),看看计算机科学究竟应该学些什么. CC2001把计算学科分成14个主要领域: 一.DS. Discrete Structures DS1. Functions, relations, and sets DS2. Basic logic DS3. Proof techniques DS4. Basics of counting DS5. Graphs and trees DS6. Discrete probability 介绍: 主要内容包括集合论,数理逻辑,近世代数,图论以及组合数学等. 该领域与计算学科各主领域有着紧密的联系,CC2001为了强调它的重要性,特意将它列为计算学科 的第一个主领域.该主领域以"抽象"和"理论"两个学科形态出现在计算学科中,它为计算学科各分 支领域解决其基本问题提供了强有力的数学工具. 二.PF. Programming Fundamentals PF1. Fundamental programming constructs 数据挖掘研究院 PF2. Algorithms and problem-solving PF3. Object-oriented programming PF4. Fundamental data structures PF5. Recursion PF6. Event-driven and concurrent programming PF7. Using APIs 介绍: 主要内容包括程序设计结构,算法,问题求解和数据结构等. 它考虑的是如何对问题进行抽象.它属于学科抽象形态方面的内容, 并为计算学科各分支领域基本问题的感性认识(抽象)提供方法. 基本问题主要包括: 1.对给定的问题如何进行有效的描述并给出算法? 2.如何正确选择数据结构? 3.如何进行设计,编码,测试和调试程序? 三.AL. Algorithms and Complexity AL1. Basic algorithmic analysis AL2. Algorithmic strategies AL3. Fundamental computing algorithms AL4. Distributed algorithms 数据挖掘交友 AL5. Basic computability theory AL6. The complexity classes P and NP AL7. Automata theory AL8. Advanced algorithmic analysis AL9. Cryptographic algorithms AL10. Geometric algorithms AL11. Parallel algorithms 介绍: 主要内容包括算法的复杂度分析,典型的算法策略,分布式算法,并行算法,可计算理论, P类和NP类问题,自动机理论,密码算法以及几何算法等. 1.抽象形态的主要内容:包括算法分析,算法策略(如蛮干算法,贪婪算法,启发式算法,分治法等), 并行和分布式算法等. 2.理论形态的主要内容:包括可计算性理论,计算复杂性理论,P和NP类问题,并行计算理论,密码学等. 3.设计形态的主要内容:包括对重要问题类的算法的选择,实现和测试,对通用算法的实现和测试, (如哈希表,图和树的实现与测试),对并行和分布式算法的实现和测试,对组合问题启发式算法的 数据挖掘论坛 大量实验测试,密码协议等. 基本问题主要包括: 1.对于给定的问题类,最好的算法是什么?要求的存储空间和计算时间有多少?空间和时间如何折衷? 2.访问数据的最好方法是什么? 3.算法最好和最坏的情况是什么? 4.算法的平均性能如何? 5.算法的通用性如何?
|