荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: duck (Delphi小王子), 信区: SoftDev
标  题: 计算机科学(转载)
发信站: 荔园晨风BBS站 (2005年11月06日13:15:55 星期天), 站内信件

【 以下文字转载自 CIE 讨论区 】
发信人: tang (------), 信区: CIE
标  题: 计算机科学(转载)
发信站: 荔园晨风BBS站 (2005年11月06日08:52:23 星期天), 站内信件

【 以下文字转载自 tang 的信箱 】
寄信人: tang (------)
标  题: 计算机科学
发信站: 荔园晨风BBS站 (2005年11月06日05:31:25 星期天)
来  源: 146.96.245.3

计算机科学

我是深大计算机系95级的学生,现在美国念计算机博士的第4年(应该是作为学生
做研究的最后的日子了:)。看到大家在讨论计算机系学生该有什么态度和学什么
,作为曾经"激昂"的过来人,我也随便说说我在读书和工作中的一些体会。

首先,从个人的角度出发,每个人将来的路都不一样,以个性、喜好、现实条件和
资质为基础,大家读计算机的目的可以是进入学术界、工业界、拿个学位,甚至是
还不知道自己想做什么只是想试试、或者只是没有选择糊里糊涂进了计算机系。无
论你是哪一类都无可厚非,只要大家对自己负责就行了,在学习中为自己的将来找到
点什么,至少能确定将来是继续跟计算机有关还是跟计算机永别,或者说“我确定
要离开计算机但现实是无奈的我还是得靠它吃饭”,什么都行。以下,我只针对计
算机科学本身,对另有目的的学生,只能祝他们好运。:)

计算机科学,computer science,在我看来核心是computability and
complexity的理论,开始于Turing/Church/von Neumann(今年的经济学诺贝尔奖
得主和几年前电影The Beautiful Mind里面那个诺贝尔奖得主关于博弈论的研究起
源于此君,近年来博弈论也开始回到计算机科学被广泛应用在人工智能的研究)等人。
计算机科学家研究:
1、什么是计算机程序能做到的、什么是计算程序做不到的(computability);
2、怎么能做得更有效(算法和复杂度);
3、程序如何存储特定信息(数据结构和数据库);
4、程序能怎么样产生智能行为(人工智能);
5、人和机交互界面;
6、其他相关的题目。
--------------------------
http://en.wikipedia.org/wiki/Computer_science
Computer scientists study what programs can and cannot do (see
computability), how programs can efficiently perform specific tasks (see
 algorithms and complexity), how programs should store and retrieve
specific kinds of information (see data structures and databases), how
programs might behave intelligently (see artificial intelligence), and
how programs and people should communicate with each other (see
human-computer interaction and user interfaces).
---------------------------
我的研究是分布式人工智能,所以我能深刻体会到计算机科学植根于逻辑(哲学的
逻辑和数学的逻辑)、哲学、数学、语言学和电子工程。请大家允许我带有偏见地
说,程序设计(及其语言)和软件开发在计算机科学的形成中占很重要的地位,但
他们只是计算机科学核心的一部分,并且只是很小的一部分,甚至可以说它们从来
不是计算机科学的主流,他们只是主要工具(也是找一份工作养家的好工具:)。

关于计算机科学是什么,我拷贝了Carnegie Mellon University CS本科、硕士和
博士课程的要求,希望给大家一些直观认识。

本科:
15-111 Intermediate/Advanced Programming (students with no prior
programming experience take 15-100 Introductory/Intermediate Programming
 and 15-200 Advanced Programming/Practicum)  (中级/高级程序设计)
15-113 Systems Skills in C (mini)  (系统技巧,使用C语言)
15-128 Freshman Immigration Course (帮助学生熟悉什么是计算机科学)
15-211 Fundamental Data Structures and Algorithms (基础数据结构和算法)

15-212 Principles of Programming  (程序设计的原理)
15-213 Introduction to Computer Systems  (计算机系统入门)
15-251 Great Theoretical Ideas in Computer Science I  计算机科学的重大理
论思想(确切点,也许应该叫计算机科学的重大理论点子,可以一个个地数的),
最有趣的一个是Godel Incomplete Theorem:存在真命题,但它不能被证明是真的
也不能被证明是假(对数学和哲学有很深的冲击);它的CS版本是:存在问题没有
算法。这门课是我感到在深大时缺少的最重要的一门计算机课。
15-451 Algorithm Design and Analysis  (算法设计和分析)

one Applications course:
15-381 Artificial Intelligence: Representation and Problem Solving   人
工智能:知识表达和问题求解(冒号后面翻译不准确,representaion指知识的机
器表达、problem solving指基于这些表达的自动问题求解)
15-384 Robotic Manipulation  (机器人(技术)的操作)
15-385 Computer Vision        (机器视觉)
15-415 Database Applications   (数据库应用)
15-462 Computer Graphics        (计算机图像处理)
15-681 Artificial Intelligence: Machine Learning   (人工智能:机器学习

16-311 Introduction to Robotics                    (机器人学入门)
16-362 Mobile Robot Programming Laboratory         (运动机器人的编程实
验)
others as appropriate   (其他)

one Fundamentals of Algorithms course:
15-351 Great Theoretical Ideas in Computer Science II   计算机科学的重大
思想 II  (又是计算理论:)
15-354 Computational Discrete Mathematics               可计算性离散数学
  (翻译可能不准确)
21-301 Combinatorics                                    组合(数学)
21-373 Algebraic Structures                             代数结构
21-484 Graph Theory                                     图论(计算机的很
多算法、理论(如图灵机)都能转化图论的描述,但不幸地图论本身更像一套技巧
的集合,不够系统;不过,也许精彩的东西之所以精彩是因为它无法被系统化)
others as appropriate

one Fundamentals of Programming course:  (逻辑和组合数学在计算机科学的理
论部分占据极重要的位置)
15-312 Foundations of Programming Languages   程序设计语言的基础(跟逻辑
、形式语言、符号处理有关)
15-317 Constructive Logic                     构造性逻辑
15-453 Formal Languages and Automata          形式语言和自动机
17-651 Models of Software Systems             软件系统的模型(现在软件工
程研究的一大方向是formal logic的应用,但似乎在现实中进展不大)
21-300 Basic Logic                            基础逻辑
80-310 Logic and Computation                  逻辑和计算(也许该翻译成逻
辑与可计算性)
80-311 Computability and Incompleteness       可计算性和不完全性理论  (
就是前面说的Godel Incompleteness)
others as appropriate

one Systems Programming course: (这是我在深大时所理解的计算机科学是什么
,现在有了很大变化)
15-410 Operating System Design and Implementation      操作系统的设计和
实现
15-418 Parallel Computer Architecture and Programming  并行计算机结构和
编程
15-441 Computer Networks                               计算机网络
18-447 Introduction to Computer Architecture           计算机体系结构入

others as appropriate

two Computer Science electives

 Mathematics/Statistics  (数学和概率,帮助学生进入更高层次的研究课题,
对AI尤其重要)
21-120 Differential & Integral Calculus                微分和积分
21-122 Integration, Differential Equations, and Approximation       积分
、微分方程以及近似
21-127 Concepts of Mathematics                         数学的概念(数学
里的概念,可计算性和计算复杂度跟数学的基础性问题有着很深的联系)
21-241 Matrix Algebra (or 21-341 Linear Algebra)       矩阵代数  (有部
分计算机大的设计直接冲着矩阵代数的计算来的)

one of the following Probability courses:         (概率和统计对现代人工
智能有极重要的作用,算法设计也有用概率的方法)
36-217 Probability Theory and Random Processes     概率论和随机过程
36-225 Introduction to Probability and Statistics I    概率和统计入门
36-625 Probability and Mathematical Statistics I       概率和数学统计


硕士的:

Algorithms and Complexity  15-750 Algorithms     算法和复杂度
 15-855 An Intensive Introduction to Computational Complexity Theory
 可计算性复杂度的高强度入门 (我这个翻译很糟糕)

Artificial Intelligence  15-780 Advanced AI Concepts          人工智能(
高级AI概念)
 15-781 Machine Learning                                      机器学习
 15-887 Multi-Agent Planning, Execution and Learning          多个体计划
、执行和学习    (这是我的研究领域,但一直没找到好的中文翻译,指多个智能
个体(如机器人)集体共同制定行动计划,并执行它,以及其中的机器学习)

Computer Systems  15-740 Computer Architecture      计算机体系结构
 15-745 Optimizing Compilers for Modern Architecture      编译系统优化(
针对现代计算机体系结构)

Programming Languages  15-812 Semantics of Programming Languages    程序
设计语言的语义
 15-814 Type Systems for Programming Languages                      程序
设计语言的类型系统 (翻译地不好,它用逻辑和数学的方法研究程序设计语言的
语义,如面向对象的逻辑基础也会在这里;但以我做程序员的经验,它们只对从理
论上更好地理解程序设计语言的本质和正确性、还有设计程序设计语言有用,它们
对写好程序用处不大,做程序员更多靠个人的洞察力和经验:)

Software Systems  15-712 Advanced Operating Systems and Distributed
Systems   高级操作系统和分布式系统
 15-721 Database System Design and Implementation (new)    数据库系统的
设计和实现
 15-744 Networking                                         网络

博士的(以下的只是领域和范围,不是具体的课程;博士主要是做研究,上课占很
小一部分,博士的课除了第一年的基础课外,大部分是专注某些研究领域和题目的
课):
Algorithms and Complexity   算法和复杂度
 Algorithms                 算法
 Complexity Theory          复杂度理论

Artificial Intelligence     人工智能
 Advanced AI Concepts       高级人工智能概念
 Machine Learning           机器学习
 Planning, Execution, and Learning     计划、执行和学习 (指机器计划动作
序列、执行动作和机器学习)

Computer Systems            计算机系统
 Computer Architecture      计算机系统结构
 Optimizing Compilers for Modern Architecture    对现代计算机体系结构的
优化编译系统

Programming Languages       程序设计语言
 Type Systems for Programming Languages    程序设计语言的类型系统
 Semantics of Programming Languages        程序设计语言的语义

Software Systems
 Advanced Operating Systems and Distributed Systems
 Database Management Systems
 Networking

只想简短地随便说说,结果写了一长串,谢谢大家看到这。祝大家好运,并
享受计算机科学的学习(有些享受需要冲破某些困难、辛苦和错误;如果你
原意,冲破困难、辛苦和错事本身也是一种享受)!无论大家将来想做什么,
都加油!

                                           Tang于纽约
--

“万古不磨意,中流自在心”
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 146.96.245.3]
--


※ 修改:·tang 於 11月06日09:11:07 修改本文·[FROM: 24.199.96.157]
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 24.199.96.157]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 219.134.48.229]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店