1998年到2016年多大∼2016计算机个个方面对比

&p&第一次在知乎答题!&/p&&p&正好之前在北邮人上发了这么个帖子, 现在略作修改后原帖转过来, 包括关于北邮人上几个回帖的讨论部分。&/p&&br&&p&简单总结一下计算机科学(CS)的课程体系&/p&&p&关于计算机科学(CS)的课程体系,我个人打算分三部分或者说沿着三条线来总结,分别是“数据结构
& 算法”,“程序语言”和“系统
& 工程”。&/p&&br&&p&1.
& 算法&/p&&p&数据结构和算法其实就是一回事&/p&&p&1.1.
离散数学&/p&&p&&Discrete Mathematics and Its Applications& (Kenneth
H. Rosen)&/p&&img src=&/21f513114edd2a6aaea4932cfdeaacf5_b.jpg& data-rawwidth=&242& data-rawheight=&300& class=&content_image& width=&242&&&p&好吧,可能对程序员们来说,已经想不起还有这么门课了。不过其实对于一个没接触过CS数学思维的人来说(比如大一新生),学一下离散数学还是有所帮助的,像递归这些概念我们已经习惯了所以觉得理所当然,但是对外行来说还是不那么容易理解的,至少我给我老婆讲的时候她没理解。&/p&&p&1.2.
& 算法&/p&&p&&Algorithms& (Robert Sedgewick & Kevin Wayne)&/p&&img src=&/24928a87cbd_b.jpg& data-rawwidth=&244& data-rawheight=&300& class=&content_image& width=&244&&&p&&Introduction to Algorithms& (Thomas H. Cormen et al.)&/p&&img src=&/726121dafbdf_b.jpg& data-rawwidth=&265& data-rawheight=&300& class=&content_image& width=&265&&&p&现在已经不是我读大学的那个时代了,我看那些本科生直接看算法导论完全没压力,所以其实也不用这本那本的推荐了。实在还嫌《算法导论》难的话就上面那本《算法》吧,简洁得多,有具体的程序语言实现,也没那么些数学证明。&/p&&p&1.3.
高度依托于算法的课&/p&&p&其实依托于算法的课程非常非常多,鉴于都是选修课,就介绍两个吧:&/p&&p&1.3.1.
数据挖掘&/p&&p&&Data Mining: Concepts and Techniques& (Jiawei Han et
al.)&/p&&img src=&/abe75cdd22deeb51a5910e_b.jpg& data-rawwidth=&243& data-rawheight=&300& class=&content_image& width=&243&&&p&数据挖掘算是这些年数一数二热门的方向,不提不行啊。&/p&&p&1.3.2.
人工智能&/p&&p&&Artificial Intelligence: A Modern Approach& (Stuart
Russell and Peter Norvig)&/p&&img src=&/261d704db475b35b95baef99a0adb514_b.jpg& data-rawwidth=&239& data-rawheight=&300& class=&content_image& width=&239&&&p&我本人是做人工智能的,所以算是捧捧场吧。人工智能其实是个大杂烩,传统的那些分支,比如状态空间搜索,约束问题,推理,规划,知识表达,已经非常冷门了,所以反过来那些热门的分支都出去自立门户了,比如机器学习,自然语言处理,计算机视觉,机器人。&/p&&br&&p&2.
程序语言&/p&&p&程序语言的知识体系其实并不像国内高校教的那样。程序语言有没有理论体系,有,你要是看过王垠的博客就知道了。在美国的大学里程序语言理论一般分三部分或者说三门课程。第一门语法学,其实就是编译原理;第二门语用学,这个下面会讲;第三门语义学,这个我觉得太理论,离现实太远了。就我本人而言,当年博士资格考试考过语义学之后就再也没有用过。还有,很多人都推崇那本《计算机程序的构造和解释》(&Structure
and Interpretation of Computer Programs&),其实我觉得如果不搞这方面学术的话完全没必要看那么深。&/p&&p&2.1.
编译原理&/p&&p&&Compilers: Principles, Techniques, and Tools& (Alfred
V. Aho et al.)&/p&&img src=&/900efb6bb566c6bfdddebc64e1ab706f_b.jpg& data-rawwidth=&198& data-rawheight=&300& class=&content_image& width=&198&&&p&美国的CS教学特别强调“计算理论”相关的课程内容,比如自动机,lambda表达式,P =
NP?。当然做科研的话这些东西可能会用到,但是干程序员的话这些东西基本上不会用到。而唯一比较接地气而又涉及到计算理论的东西就是编译原理了。&/p&&p&2.2.
程序语言语用学&/p&&p&&Programming Language Pragmatics& (Michael l. Scott)&/p&&img src=&/78e5aa6f7fec373dd0d89acd_b.jpg& data-rawwidth=&243& data-rawheight=&300& class=&content_image& width=&243&&&p&其实我一直没搞懂为什么中国的大学计算机系都不开这门课,按道理国内都应该特别喜欢教这种很“记背”类型的课程啊。我要对国内的学生们强烈推荐这门课程,语用学其实就是比较和总结各种各样程序语言的共性和区别。在去学各种各样具体的编程语言之前,这门课程可以从总的视角来帮助学生了解不同程序语言的背景和特征,对具体语言的特征不但知其然还知其所以然。要是国内大学像美国一样也把这门课列成必修课程的话,可以帮助学生树立很多正确观念,比如“不同语言是有不同的适用范畴的,没什么优劣之分”。&/p&&p&2.3.
具体的程序语言&/p&&p&&C++ Primer& (Stanley B. Llippman et al.)&/p&&img src=&/8ba03efe6bb_b.jpg& data-rawwidth=&232& data-rawheight=&300& class=&content_image& width=&232&&&p&&Thinking in Java& (Bruce Eckel) &/p&&img src=&/525aee72d1eeb048b19dcb9_b.jpg& data-rawwidth=&229& data-rawheight=&300& class=&content_image& width=&229&&&p&这里贴两本C++和Java的吧,其他的就不贴了。除了C/C++和Java这种学校会教的以外,值得推荐的还有用于脚本的Python,用于网页的PHP和用于动态效果的Javascript,至于Lisp,Prolog啊什么的对普通程序员太远了。&/p&&br&&p&3.
工程&/p&&p&这些都是配盘子的课了,我打算提5门,分别是“计算机组成与设计”,“操作系统”,“计算机网络”,“数据库”和“软件工程”。&/p&&p&3.1.
计算机系统&/p&&p&&The C Programming Language& (Brian W. Kernighan &
Dennis M. Ritchie)&/p&&img src=&/3f1ffd85d_b.jpg& data-rawwidth=&229& data-rawheight=&300& class=&content_image& width=&229&&&p&&Computer Systems: A Programmer's Perspective& (Randal
E. Bryant & David R. O'Hallaron)&/p&&img src=&/7e531049_b.jpg& data-rawwidth=&230& data-rawheight=&300& class=&content_image& width=&230&&&p&对于前三门计算机系统的课程,不得不提一下大神级的著作《深入理解计算机系统》,这确实是经典中的经典,我当年都还是看了APUE之后才看的,仍然觉得受益非浅。当然这些课都得先学c语言做基础。&/p&&p&3.1.1.
计算机组成与设计&/p&&p&&Computer Organization and Design: The Hardware/Software
Interface& (David A. Patterson and John L. Hennessy)&/p&&img src=&/6e9d56e15dacac2a561f_b.jpg& data-rawwidth=&242& data-rawheight=&300& class=&content_image& width=&242&&&p&现在基本上硬件课程在计算机系已经越来越不重要了,做系统结构的大多都跑电子系(EE)去了,并且他们搞完系统结构之后还得过来找程序员的工作,像汇编语言这样的东西也越来越淡出大多数程序员所能接触到的范围了,看看《深入理解计算机系统》了解了解就足够了。&/p&&p&3.1.2.
& 计算机网络&/p&&p&&Modern Operating Systems& (Andrew S. Tanenbaum and
David J. Wetherall)&/p&&img src=&/d4f5ac2a1_b.jpg& data-rawwidth=&235& data-rawheight=&300& class=&content_image& width=&235&&&p&&Computer Networks& (Andrew S. Tanenbaum and David J.
Wetherall)&/p&&img src=&/92ef3aeecaf124af4332265ffc2bb962_b.jpg& data-rawwidth=&227& data-rawheight=&300& class=&content_image& width=&227&&&p&以前读大学的时候老师都把这两门课当“记背”类型的课了,都是直到后来看了CSAPP,APUE和UNP才会写。&/p&&p&3.2.
数据库&/p&&p&&Database System Concepts& (Abraham Silberschatz et
al.)&/p&&img src=&/f5a7b10c29_b.jpg& data-rawwidth=&238& data-rawheight=&300& class=&content_image& width=&238&&&p&3.3.
软件工程&/p&&p&&Software Engineering: A Practitioner's Approach&
(Roger Pressman and Bruce Maxim)&/p&&img src=&/7dc1c9c1afe5dc6cd0779c3bff962c53_b.jpg& data-rawwidth=&242& data-rawheight=&300& class=&content_image& width=&242&&&p&----------------------------------------------------------------&/p&&p&以下是当时对北邮人的几个回帖的讨论:&/p&&p&看了北邮人的几个回帖之后,想想其实说说哪些课程是不必深究的也是有意义的,所以我在这里补充几个回复:&/p&&br&&p&回复1.关于《计算机体系结构:量化研究方法》&/p&&p&&Computer Architecture: A Quantitative Approach& (John
L. Hennessy and David A. Patterson)&/p&&img src=&/24efaee60d4e84f92493e86e_b.jpg& data-rawwidth=&244& data-rawheight=&300& class=&content_image& width=&244&&&br&&p&本人之前是通信工程本科毕业,后来在电院的计算机应用技术硕士毕业(院系合并之前),毕业后在爱立信写基站板子上的软件,所以我的看法应该不代表“我邮的CS”,从出身而言,我也应该不会因为不了解硬件而忽视硬件课程。&/p&&p&就说说不是我邮的情况吧。我是在美国大学读的CS博士,回复里也有人提到了,由于历史原因,美国很多大学CS和EE都是放在一个系的,但是碰巧了,我读的那个大学不但CS和EE分为两个系,而且CS属于科学学院,EE属于工程学院,甚至EE居然叫做Electrical
and Computer Engineering而不是Electrical
and Electronical,而这个EE系分四个大组,用中文来说分别是电气工程,电子工程,通信工程和计算机工程。在我读的那个CS系,只有一个韩国教授做的是体系结构这种硬件的方向,他的实验室索性设在了EE系里,所有学生都去EE系的实验室和计算机工程的那个大组一起做,课程也基本上和EE的一起选,但最后所有这个韩国教授的学生还都去的是软件工程师的职位。美国的CS系都要考博士资格考试,当时操作系统和系统结构这两门课是二选一,除了韩国教授的学生以外,我读博士的那么多年里所有其他的学生选的都是操作系统。。&/p&&p&所以我的观点在原文里也说了,如果你做的是计算机硬件相关的方向,那么《计算机体系结构量化研究方法》肯定是必学的,但是鉴于现在CS系做硬件的人越来越少,完全是软件一统天下的局面,我真心觉得CS的课程设置里体系结构并不是必须的了。多说一句,别说CS系了,我当年本科通信工程一个班32个人里面,软件工程师出了八九个,而硬件工程师只出了一个。&/p&&br&&p&回复2.关于《计算理论》(包括《形式语言与自动机》)&/p&&p&&Introduction to the Theory of Computation& (Michael
Sipser)&/p&&img src=&/0bbfb752fdc1ee5179bbfff_b.jpg& data-rawwidth=&206& data-rawheight=&300& class=&content_image& width=&206&&&br&&p&首先,我对做计算理论的人是很崇敬的,完全没有忽视的意思,看看图灵奖一半以上的得主都是这个方向的就知道了。我是在美国的大学读的CS博士,我读博士的时候,计算理论这门课是最难的一门,没有之一,博士资格考试计算理论是必考,也是最难的一门,没有之一。不巧的是,我就是做科研的,本来当年考完博士资格考试就想着我这辈子应该再也不会用计算理论的东西了吧,谁知道后来生平第一篇论文投出去的时候,审阅的人就问我这个问题证明了难度了吗,我想还有这码子事啊,于是赶紧证明一下是P-Complete的,寄了过去,谁想到审阅的人回复说,证明是make
sense的,但是里面有个小错,我给你纠正了,最终结果不是P-Complete的而是P-hard的。&/p&&p&原文里关于编译原理我也说了,“美国大学CS特别强调‘计算理论’相关的课程,做学术的话这些东西可能会用到,但是干程序员的话这些东西基本上不会用到。”&/p&&p&所以我的观点是,计算理论这种东西太高大上了,更像是数学专业而不像是CS的课程,读博士将来做科研的话好好学学是应该的,但是对于绝大多数念完CS专业去公司里干程序员的人来说,没必要学那么深,学好编译原理足够了。&/p&&br&&p&回复3.关于北邮人上之前的帖子《我心目中计算机软件科学最小必读书目》(关于APUE与UNP)&/p&&p&我多年前在北邮人上发过的一个帖子,叫《我心目中计算机软件科学最小必读书目》,后来发现自己的想法真是变化好大,所以特意上北邮人去把帖子删了。但是删完以后才发现网上已经到处都是转载了,心里那个惭愧啊,算是散播了一些偏见。&/p&&p&我多年前是系统级软件的程序员,就是成天抱着APUE和UNP的那种,后来辞了职去读博士才转的方向,由于受之前的工作经历影响,我上次那篇帖子是站在系统级软件工程师的角度说的,但是时过境迁,现在的计算机工业界特别是互联网行业已经大大地向前端转移了,所以很可能一个写PHP或者Javascript的程序员会觉得过去那个帖子写的和他的知识体系完全不是一个方向,因此我觉得上一个帖子有点偏了。那天也是一时冲动就删了,其实想想叫《我心目中计算机软件科学最小必读书目》的话是有点偏了,但要是不删掉改个名字叫《我心目中系统级软件程序员的最小必读书目》也还是可以的。&/p&
第一次在知乎答题!正好之前在北邮人上发了这么个帖子, 现在略作修改后原帖转过来, 包括关于北邮人上几个回帖的讨论部分。 简单总结一下计算机科学(CS)的课程体系关于计算机科学(CS)的课程体系,我个人打算分三部分或者说沿着三条线来总结,分别是“…
&p&以下是计算机专业的核心必修和选修课程,并给出mooc链接。有些选修课程暂时没找出相关学习资料:
&br&&br&&/p&&p&&b&一、5门计算机基础课程(全部必修)&/b&&/p&&p&1、算法&/p&&p&&a href=&///?target=https%3A//www.coursera.org/course/algs4partI& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&2、计算机组成原理&/p&&p&入门:&a href=&///?target=https%3A//www.coursera.org/course/pkuco& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&高级:&a href=&///?target=https%3A//www.coursera.org/course/comparch& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&3、数据结构&/p&&p&&a href=&///?target=https%3A///courses/TsinghuaX/5X/2015_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数据结构(2015春)-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&&p&4、逻辑及其运算&/p&
逻辑:语言和信息 1&p&&a href=&///?target=https%3A//www.coursera.org/course/logic1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
逻辑:语言和信息 2&p&&a href=&///?target=https%3A//www.coursera.org/course/logic2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
逻辑学导论&p&&a href=&///?target=https%3A//www.coursera.org/course/intrologic& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&5、编程原理 (只给出C/C++和Python的mooc,但作为成熟的developer还掌握Java,C#和Ruby等语言)&/p&&p&程序设计基础 TsinghuaX X&/p&&p&&a href=&///?target=https%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&程序设计基础-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&
C++语言程序设计 TsinghuaX X&p&&a href=&///?target=https%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C++语言程序设计&i class=&icon-external&&&/i&&/a&&/p&&p&C语言&/p&&p&&a href=&///?target=https%3A//www.coursera.org/course/cprogramming& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
Python交互编程入门&p&&a href=&///?target=https%3A//www.coursera.org/course/interactivepython& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&b&二、5门数学基础课 (全部必修)&/b&&/p&&p&1、微积分&/p&
微积分-1(2015春) TsinghuaX X&p&&a href=&///?target=https%3A///courses/TsinghuaX/5X/2015_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微积分-1(2015春)&i class=&icon-external&&&/i&&/a&&/p&
微积分-2 TsinghuaX X&p&&a href=&///?target=https%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微积分-2-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&&p&2、组合数学&/p&
解析组合数学&p&&a href=&///?target=https%3A//www.coursera.org/course/ac& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
组合数学(2015春) TsinghuaX X&p&&a href=&///?target=https%3A///courses/TsinghuaX/5X/2015_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&组合数学(2015春)&i class=&icon-external&&&/i&&/a&&/p&
3、线性代数(1) TsinghuaX X&p&&a href=&///?target=https%3A///courses/TsinghuaX/X/_1_/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&线性代数(1)-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&
矩阵程序开发:通过计算机科学应用学习线性代数&p&&a href=&///?target=https%3A//www.coursera.org/course/matrix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&4、Discrete
Mathematics 没找到Mooc。建议拜读《离散数学及其应用》Kenneth H. Rosen著 &a href=&///?target=http%3A///mn/detailApp/ref%3Dasc_df_B0011BYIYFasin%3DB0011BYIY6%26tag%3Ddouban-23%26creative%3D2384%26creativeASIN%3DB0011BYIY6%26linkCode%3Ddf0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《离散数学及其应用(原书第5版)》 Kenneth H.Rosen, 袁崇义, 等【摘要 书评 试读】图书&i class=&icon-external&&&/i&&/a&&/p&&p&5、概率统计&/p&
概率论——不确定性的科学 MITx 6.041x&p&一门关于概率模型的导论课,同时涵盖了随机过程和统计推断的一些基本知识。&/p&&a href=&///?target=https%3A///courses/MITx/6_041x/2014_T2/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&概率论——不确定性的科学&i class=&icon-external&&&/i&&/a&
棒球统计学入门:棒球分析导论 BUx SABR101x&p&一次对棒球资料的统计分析,棒球分析学,数据科学,R语言和SQL(结构化查询语言)的介绍。&/p&&p&&a href=&///?target=https%3A///courses/BUx/SABR101x/_/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&棒球统计学入门:棒球分析导论&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&b&三、深入课程(至少选5门)
&/b&&/p&&p&&b&第一部分、算法&/b&&/p&&p&1、算法分析&/p&&p&A,&a href=&///?target=https%3A//www.coursera.org/course/algo& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&B, &a href=&///?target=https%3A//www.coursera.org/course/aofa& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
2、自动机理论&p&&a href=&///?target=https%3A//www.coursera.org/course/automata& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&3、Discrete Structures (目前没有找到相关mooc和书籍)&/p&&p&&b&第二部分、数据库理论&/b&&/p&&p&1、Database Design and Theory&/p&&p&&a href=&///?target=https%3A//www.coursera.org/course/db& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&&b&第三部分、数据分析课程和人工智能&/b&&/p&
1、大数据系统基础 TsinghuaX X&p&&a href=&///?target=http%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&大数据系统基础&i class=&icon-external&&&/i&&/a&&/p&
2、大数据算法 HIT GO&p&&a href=&///?target=http%3A///courses/HITx/GO4_T2/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&大数据算法-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&&p&3、数据挖掘 UIUC&/p&&p&&a href=&///?target=https%3A//www.coursera.org/specialization/datamining/20%3Futm_medium%3DlistingPage& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera - Specializations&i class=&icon-external&&&/i&&/a&&/p&
4、人工智能 UC BerkeleyX CS188.1x&a href=&///?target=http%3A///courses/UC%2520BerkeleyX/CS188.1x/_/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&人工智能-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&p&&b&第四部分、程序设计和软件工程&/b&&/p&
1、编译器&p&&a href=&///?target=https%3A//www.coursera.org/course/compilers& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&2、Object Oriented
Analysis and Design(没找到mooc和书籍)&/p&
3、操作系统&a href=&///?target=https%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&操作系统-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&
或者 &a href=&///?target=https%3A//www.coursera.org/course/hwswinterface& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&p&4、软件工程 TsinghuaX X&/p&&p&&a href=&///?target=https%3A///courses/TsinghuaX/15_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&软件工程-学堂在线慕课(MOOC)平台&i class=&icon-external&&&/i&&/a&&/p&&p&&b&第五部分、网络安全与通信理论&/b&&br&1、Computer
Cryptography&/p&&p&1讲、&a href=&///?target=https%3A//www.coursera.org/course/crypto& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&2讲、&a href=&///?target=https%3A//www.coursera.org/course/crypto2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&2、Network Security&/p&&p&UMD网络安全系列课程&/p&&p&&a href=&///?target=https%3A//www.coursera.org/specialization/cybersecurity/7%3Futm_medium%3DcourseDescripTop& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera - Specializations&i class=&icon-external&&&/i&&/a&&/p&
3、计算机网络概论&p&&a href=&///?target=https%3A///courses/NTHU/MOOC_01_004/2014_T2/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&计算机网络概论&i class=&icon-external&&&/i&&/a&&/p&&p&或者&/p&&p&&a href=&///?target=https%3A//www.coursera.org/course/comnetworks& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
4、雾网络和物联网&p&&a href=&///?target=https%3A//www.coursera.org/course/fog& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&&b&第六部分、计算机安全&/b&&/p&
1、计算机安全&p&&a href=&///?target=https%3A//www.coursera.org/course/security& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&
2、操作系统与虚拟化安全(云安全的基础)&p&&a href=&///?target=https%3A//www.coursera.org/course/osvirtsecurity& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&&b&第七部分、云计算&/b&&/p&&p&1、SaaS &/p&&p&1讲&/p&&p&&a href=&///?target=http%3A///courses/UC_BerkeleyX/CS169_1x_1/2014_T1/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&云计算与软件工程 · 第 I 部分&i class=&icon-external&&&/i&&/a&&/p&&p&2讲&/p&&p&&a href=&///?target=http%3A///courses/UC%2520BerkeleyX/CS169.2x/_/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&软件即服务 (SaaS)&i class=&icon-external&&&/i&&/a&&/p&&p&2、云计算系列课程 UIUC
&/p&&p&&a href=&///?target=https%3A//www.coursera.org/specialization/cloudcomputing/19%3Futm_medium%3DlistingPage& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/specializa&/span&&span class=&invisible&&tion/cloudcomputing/19?utm_medium=listingPage&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&第八部分、软件定义网络&/b&&/p&&p&&a href=&///?target=https%3A//www.coursera.org/course/sdn& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&b&四、至少选4门选修课&/b&&/p&&p&1、数据库和系统管理:
&/p&&p&Database Programming&/p&&p&Database Administration&/p&&p&Scripting/Query Languages
(such as Perl or SQL)&/p&&p&System Administration&/p&&p&System Engineering&/p&&p&2、通信和网络&/p&&p&Introduction to Telecommunications(可以用北邮的《通信原理》)&/p&&p&Net-centric computing&/p&&p&Network Administration
&/p&&p&3、图像和人机互动:&/p&&p&Graphics and Visual Computing&/p&&p&Human Factors in Information Systems&/p&&p&4、项目管理&/p&&p&Program/Project Management&/p&&p&Information Management&/p&&p&5、网站建设 &/p&&p&User interface design&/p&&p&Web Programming&/p&
Web Site Development
以下是计算机专业的核心必修和选修课程,并给出mooc链接。有些选修课程暂时没找出相关学习资料: 一、5门计算机基础课程(全部必修)1、算法2、计算机组成原理入门:高级:3、数据结构4、…
————————————————2015最后更新————————————————&br&&br&---------------------------------新书新方法(兼容之前的答案)---------------------------------&br&&br&
这是我第4次更新这个答案了。我觉得是最终版本了。因为被我忽悠的师弟师妹都学了下去。看来这个办法真的有效果。&i&&b&再次强调,只是入门。&/b&&/i&&br&&br&&br&&b&1. &我想学好基础的数据结构和算法! &&/b&&br&不多说,有这心就往下看。&br&&br&&b&2. &我应该准备些什么? &&/b&&br&a. 这本橙书: 《算法 第四版》&br&
--亚马逊中文版:
&a href=&///?target=http%3A///%25E5%259B%25BE%25E7%%25E7%25A8%258B%25E5%25BA%258F%25E8%25AE%25BE%25E8%25AE%25A1%25E4%25B8%259B%25E4%25B9%25A6-%25E7%25AE%%25B3%%25A1%259E%25E5%25A5%%25A8%%B/dp/B009OCFQ0O/ref%3Dsr_1_1%3Fie%3DUTF8%26qid%3D%26sr%3D8-1%26keywords%3D%25E7%25AE%%25B3%E7%25AC%25AC%25E5%259B%259B%25E7%& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& 的页面&i class=&icon-external&&&/i&&/a&&br&
--线上资源: &a href=&///?target=http%3A//algs4.cs.princeton.edu/home/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne&i class=&icon-external&&&/i&&/a&&br&b. 注册Coursera, 依次加入这2门课:
&算法, 第一部分& &算法, 第二部分&&br&&i&Part 1: &/i&&a href=&///?target=https%3A//www.coursera.org/course/algs4partI& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/course/alg&/span&&span class=&invisible&&s4partI&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&i&Part 2: &/i&&a href=&///?target=https%3A//class.coursera.org/algs4partII-006& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&class.coursera.org/algs&/span&&span class=&invisible&&4partII-006&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&如果没开课, 就先标记, 这样开课时会通过邮箱提示你.&br&&br&&b&3. &我应该做些什么? &&/b&&br&先熟读书内1.1和1.2, 最好把课后习题都做一做. 网站上开课后(即使已经开课几周了, 没关系),
跟住上课内容: 课本知识 + 视频内容 + 课件重点+ Exercises (&i&&b&独立完成且满分&/b&&/i&) + Programming Assignments (&b&&i&独立完成且尽量满分&/i&&/b&) + Job Interview Questions. &b&&u&从Part 1到Part 2, 跟住, 跟住, 跟住!&/u&&/b&&br&&br&&br&&u&&i&关于做书后练习题,参见:&/i&&br&&/u&&a href=&/question//answer/& class=&internal&&算法 第四版(algorithms 4th edition ) 这本书有配套的习题答案吗? - 孟祥丰的回答&/a&&br&&br&&b&4. &我学完了呢!&&/b&&br&再去跟隔壁斯坦福的算法公开课, 他还给证书! 因为参考书籍基本上就是是《CLRS》, 所以也就是强迫自己去仔细研读算法导论. &br& ---课程名称: &br&
&算法设计与分析, 第一部分&&br&
&算法设计与分析, 第二部分&&br& ---课程地址&br&&i&
Part 1: &/i&&a href=&///?target=https%3A//www.coursera.org/course/algo& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/course/alg&/span&&span class=&invisible&&o&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&i&
Part 2: &/i&&a href=&///?target=https%3A//www.coursera.org/course/algo2& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/course/alg&/span&&span class=&invisible&&o2&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&&b&5. &又学完啦! &&/b&&br&可能今后在这个方面不需要看网络上不知名人士(没错, 就是我)的建议了. 拜拜.&br&&br&&b&&i&&u&PS: 就这些?? 对, 就这些. &/u&&/i&&/b&&br&&br&&br&&br&&br&——————————————— 补充———————————————&br&Coursera上6月19号开普林斯顿讲的算法课程了:&br&&a href=&///?target=https%3A//www.coursera.org/courses%3Fcategories%3Dcs-theory& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera - Free Online Courses From Top Universities&i class=&icon-external&&&/i&&/a&&br&教材就是橙宝书:&br&&a href=&///?target=http%3A//algs4.cs.princeton.edu/home/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne&i class=&icon-external&&&/i&&/a&&br&&br&课程负担并不大。刚入门的同学可以跟一跟。当然学习算法还是要多做题。^_^&br&&br&—————————————————原答案—————————————————&br&&b&我要好好回答一下这个问题。&/b&&br&&br&从刚上大学在课堂上听老师讲解,到后来自学,反复学等种种失败经历给了我当头棒喝。我这样的小渣渣还真是难以捧本书看一看就能学懂。还真得特殊准备一套方法来学习它。借助知乎,网上大神,ACMer的经验分享,我自己总结了一个入门的学习方法,让我快乐且热情的坚持下来了对数据结构与算法的学习。(&u&仅针对初学者的入门级学习,大神们请绕过,拜拜么么哒&/u&)&br&&br&好,剩下来像我一样的阿渣们,让我们先来痛快的分(tu)析(cao)下为啥这东西难学:&br&1. 抽象,数学知识多,大多数书籍有很多数学证明,很枯燥,爱掉头发。&br&2. 反馈差。比如学完了“快速排序”也就学完了,没什么事做,也没觉得自己厉害多少。但是要是学习下cocos2d-x,过几天自己都能写小游戏了。学了难以分分钟高能还真就难以坚持了。没错,学习这事我就是这么投机这么功利。&br&3. 孤立的知识点都很难有什么作为,只有理解+融汇+贯通才能显威力。&br&4. 没有好“老师”。搜索下“如何学习雅思&托福”,各种高能大法学习小组培训机构怒刷一脸屏。&br&&br&&b&好了,吐槽完毕,以下是干货:&/b&&br&&b&&br&1.先来本入门级的好书&/b&&br&&img src=&/cefe0d6caa_b.jpg& data-rawwidth=&334& data-rawheight=&468& class=&content_image& width=&334&&我把里面的代码全打了一遍,整不懂就一点点在草纸上演示,还整不懂的就死记硬背了下来,说不定哪天就想通了。学起来很慢,但是效果不错。谁让我笨呢。(现在没事抽风还要默写一下AVL树的c实现,也是病没好)&br&&br&&b&2. 可视化&/b&&br&刚开始我就按照1这么学,学一周就学不动了,太高估自己的能力,又冒充不下去学霸了。这知识尼玛这么抽象。之后发现了一个可视化工具(很多大神都推荐过啦)&div class=&highlight&&&pre&&code class=&language-text&&http://visualgo.net
&/code&&/pre&&/div& 什么冒泡插入快速排序一演示,小动画一播放分分钟我就都整明白了,一低头那些小代码也就都被我看穿看穿了。来一把倚天剑屠龙刀我也能混个山大王。&br&&img src=&/71b69c54bff755bb0e8aa93ce5da5f3e_b.jpg& data-rawwidth=&964& data-rawheight=&478& class=&origin_image zh-lightbox-thumb& width=&964& data-original=&/71b69c54bff755bb0e8aa93ce5da5f3e_r.jpg&&(图是二叉堆的演示)&br&一可视化之后你会发现很多抽象的数据结构在脑海中有了样子。我也说不太明白那种感觉,就好像你在一个姑娘/小伙子身上看到了爱情的样子。&br&&br&&b&3.编程实践&/b&&br&其实学习算法可以分3个部分,&b&算法设计,算法分析,算法实践&/b&。我个人觉得更需要静下心花大块时间琢磨的是前两方面,但是算法实践更容易让大家产生“我确实进步了”的正反馈。如果你参考的是我的旧答案,也就是起手看的是《数据结构与算法分析 in C》。那么我建议用这两本书《C语言程序设计》和《C和指针》再去复习下C语言,之后去LeetCode上找相关题用C/C++去做。或者转头去看《算法第四版》,然后去独立完成上文提到的公开课的编程作业和书后习题。(受限于当时所学,这部分于16年删掉重写)&br&&br&好了,总结起来就是&b&对于每一个知识点&/b&,我们用&b&&u&学理论&/u&&/b&+&b&&u&可视化&/u&&/b&+&b&&u&编程实践&/u&&/b&相结合的方式&b&&u&一个知识点一步地踏实前进&/u&。&/b&&b&但是到这里我们真的就只是入门。&/b&所以我在这之后就愉快的重新认真地撸《算法导论》去了。可以参见我另外一个回答:&a href=&/question//answer/& class=&internal&&你是如何坚持读完《算法导论》这本书的? - 孟祥丰的回答&/a&。撸完如果觉得不够可以继续撸其它一些算法书籍,详情参见大神文章:&a href=&///?target=http%3A///figure9/archive//3708351.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的算法学习之路&i class=&icon-external&&&/i&&/a&&br&&br&虽然我还是觉得自己很渣很菜,但想想没有昨天那么渣了,就会很开心。
————————————————2015最后更新———————————————— ---------------------------------新书新方法(兼容之前的答案)--------------------------------- 这是我第4次更新这个答案了。我觉得是最终版本了。因为被我忽悠的师弟师…
&p&尽管我读的是软件工程,但是其实很多重要的学习过程我已经在中学就完成了,大一搞定了clrs和龙书,我也勉强算非科班出身吧。&/p&&br&&p&如果你要成为一个专业的程序员,千万不要过早设定自己的方向,因为专业的程序员都是能够把很多个方向做的很牛逼,其中有一两个方向超级牛逼。像你这么年轻的人,应该去巩固一下基础知识的同时,你可以学习ios等级能用来养家糊口。学习ios是为了赚钱,同时为了让你争取时间学习更多的知识,从而成为一个专业的程序员。这并不矛盾。创造windows的dave cutler今年都70岁了,20年前4、50岁了才刚刚开始写winnt,人家在30岁之前都还不太懂怎么写代码,所以不要着急。&/p&&br&&p&因此我认为你在学习ios找工作的同时你应该同时学习(不需要成为专家,学习就好了)&/p&&ul&&li&计算机图形学&/li&&li&编译原理&/li&&li&操作系统的基础知识&/li&&li&分布式系统的架构&/li&&li&对你的代码进行靠谱的自动化测试&/li&&li&学会写framework和library,不要一味地写application&/li&&/ul&&br&&p&这些对于你成为互联网行业的未来的标准制定者和奠定技术基础的人是有帮助的。&/p&
尽管我读的是软件工程,但是其实很多重要的学习过程我已经在中学就完成了,大一搞定了clrs和龙书,我也勉强算非科班出身吧。 如果你要成为一个专业的程序员,千万不要过早设定自己的方向,因为专业的程序员都是能够把很多个方向做的很牛逼,其中有一两个方…
这文章写的都什么鬼?面向事实编程?Prolog看着你。。。。&br&&br&正经回答:请阅读&a href=&///?target=http%3A///book/10.-& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&A Theory of Objects&i class=&icon-external&&&/i&&/a&,把里面的各种object calculus写一遍解释器。然后关注&a href=&///?target=https%3A//en.wikipedia.org/wiki/OOPSLA& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OOPSLA&i class=&icon-external&&&/i&&/a&&br&&br&别看面向对象这个范式看起来这么主流,其实学术界那帮搞OO的家伙一点不比搞FP的家伙逊色,搞出的屠龙之技照样领先业界n年。。不要书读太少,事想太多。
这文章写的都什么鬼?面向事实编程?Prolog看着你。。。。 正经回答:请阅读,把里面的各种object calculus写一遍解释器。然后关注 别看面向对象这个范式看起来这么主流,其实学术界那帮搞OO的家伙一点不比搞FP的家伙逊色,搞出的…
计算机科学与技术专业。&br&《编码:隐匿在计算机软硬件背后的语言》这本书适合计算机入门。&br&&img src=&/daf98e4305e_b.jpg& data-rawwidth=&380& data-rawheight=&380& class=&content_image& width=&380&&&blockquote&&p&第1章 至亲密友&br&编码是什么?在本书中,这个词的意思是指一种用来在机器和人之间传递信息的方式。换句话说,编码就是交流。对任何能听见我们的声音并理解我们所说的语言的人来说,我们发出的声音所形成的词语就是一种编码。用手电筒能代替声音来与朋友交谈吗?当然值得一试。&/p&&p&第2章 编码与组合&br&莫尔斯码也被称做二进制码,因为这种编码的组成元素只有两个——“点”和“划”。不过,点、划的组合却可以表示你想要的任意数目的码字。这其中的规律是什么?本章我们就来探讨一番。&/p&&p&第3章 布莱叶盲文与二进制码&br&布莱叶盲文是为了便于盲人阅读而发明的一种编码。在这一章中我们将解析布莱叶盲文,来看看它是如何工作的。我们并不是要真的学习布莱叶盲文,而且也无须刻意记住关于它的什么内容。我们仅仅希望从中归纳出编码的一些性质。&/p&&p&第4章 手电筒的剖析&/p&&p&为了理解电在计算机中的工作原理,我们先得仔细钻研一番电学,不过不要担心,只需要一部分基础知识就够了。在本章,我们将以手电筒为教学道具,引导你走入神秘的电学世界。&/p&&p&第5章 绕过拐角的通信&br&在第1章,我们曾经讲过用手电筒与朋友进行交谈的方法,但是这样的方式是有局限性的,你的交流对象必须住在街对过,而且你们卧室的窗口正好相对。但是,现实不会总是如此。当手电筒的光无法到达朋友的卧室时,怎样与他们进行无声的交流呢?电路或许可以助你一臂之力。&/p&&p&第6章 电报机与继电器&br&&/p&&p&第7章 我们的十个数字&br&&/p&&p&第8章 十的替代品&br&对于人类而言,10是一个非常重要的数字。它是我们大多数人拥有的手指或脚趾的数目。我们人类已经适应了以10为基数的数字系统。但是只能使用十进制来计数吗?如果人类像卡通人物那样每只手只有4根手指会怎样?&/p&&p&第9章 二进制数&br&&/p&&p&第10章 逻辑与开关&br&&/p&&p&第11章 门&br&&/p&&p&第12章 二进制加法器&br&&/p&&p&第13章 如何实现减法&br&&/p&&p&第14章 反馈与触发器&br&&/p&&p&第15章 字节与十六进制&br&&/p&&p&第16章 存储器组织&br&&/p&&p&第17章 自动操作&br&&/p&&p&第18章 从算盘到芯片&br&&/p&&p&第19章 两种典型的微处理器&br&&/p&&p&第20章 ASCII码和字符转换&br&&/p&&p&第21章 总线&br&&/p&&p&第22章 操作系统&br&你或许梦想过自己组装一台近乎完整的计算机,像老木偶匠盖比特雕刻木偶匹诺曹一样,全部亲自动手用小零件完成。不过在你的机器能完成你想要的操作之前,还差一个重要的东西——操作系统!&/p&&p&第23章 定点数和浮点数&br&&/p&&p&第24章 高级语言与低级语言&/p&&p&第25章 图形化革命&br&回顾历史,从第一台继电器计算器出现到现在为止,六七十年过去了,计算机的处理速度飞速增长。不过要充分利用计算机日益增长的运算和处理能力,就必须不断改进计算机系统中的用户接口(UserInterface),因为它是人机交互的轴心。图形化革命来了!&/p&&/blockquote&上面只是入门,要深入学习计算机专业,还要学习《c++》《数据结构》、《算法》、《计算机组成原理》、《操作系统》、《计算机网络》、《高等数学》、《线性代数》、《编译原理》等具体课程。&br&这是本专业全面的公开课链接。&a href=&///?target=http%3A///curricula/cs.htm%3Ffrom%3Dstudy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&计算机专业课程汇总&i class=&icon-external&&&/i&&/a&&br&&img src=&/4e4c3ad3cc5e_b.jpg& data-rawwidth=&1206& data-rawheight=&609& class=&origin_image zh-lightbox-thumb& width=&1206& data-original=&/4e4c3ad3cc5e_r.jpg&&&a href=&/question/& class=&internal&&作为一名计算机系的学生,如何真正进入计算机的专业世界? - 信息技术(IT)&/a&&br&&a href=&/question/& class=&internal&&作为计算机专业学生,最应该学习的课程前五位是什么? - 软件开发&/a&&br&&a href=&/question/& class=&internal&&给非计算机专业学生提供一份较为全面的书单以自学计算机专业知识,你有哪些好书值得推荐? - 编程&/a&&br&=============计算机编程方面的考试或竞赛==========&br&浙江大学的Pat计算机程序设计能力考试挺好的,证书很有用。谷歌、微软等企业和PAT有合作,&b&优先录用PAT成绩优良的考生,并免除招聘时与考查程序设计能力相关的笔试环节。&/b&&br&&b&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Programming Ability Test&i class=&icon-external&&&/i&&/a&&br&&/b&&br&&img src=&/e3ba17cb996cc26f68a287_b.jpg& data-rawwidth=&671& data-rawheight=&610& class=&origin_image zh-lightbox-thumb& width=&671& data-original=&/e3ba17cb996cc26f68a287_r.jpg&&&br&百度之星程序设计竞赛&br&&a href=&///?target=http%3A///index.php%3Fr%3Dcontest& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&大赛&i class=&icon-external&&&/i&&/a&&br&&blockquote&&ul&&li&&p&一年一度的Astar百度之星程序设计大赛由中国领先的互联网企业——百度公司举办,从2005年至今已成功举办了九届大赛。作为中国互联网行业最具知名度、最有影响力的大学生程序设计大赛,它已成为喜欢发掘最佳算法和数据结构,以解决各种挑战性问题的校园程序高手交流切磋的平台。参赛选手除国内高校计算机编程爱好者外,还包括美国、英国等全球知名高校的学生以及ACM大赛中国赛区知名院校的代表队,在充分扩展了国内参赛队员视野的同时,还增强了各校间的交流,得到全国各高校师生们的广泛认可。&/p&&/li&&/ul&&/blockquote&acm竞赛这个应该很多人都知道了吧,不用多说。&br&===下面是3月31日的更新===&br&&a href=&///?target=http%3A//www.cpp.sh/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C++ Shell&i class=&icon-external&&&/i&&/a&&br&这是一个在线的c++编译器。支持c98、c11、c14各种c标准。输入正确语句就能编译运行并显示结果。&br&&img src=&/1baeefaff96a_b.jpg& data-rawwidth=&1197& data-rawheight=&510& class=&origin_image zh-lightbox-thumb& width=&1197& data-original=&/1baeefaff96a_r.jpg&&&a href=&///?target=http%3A///reference/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Reference - C++ Reference&i class=&icon-external&&&/i&&/a&&br&标准c++参考图书馆这里有c++的语言学习资料,还有程序范例。&br&&a href=&///?target=https%3A//docs.python.org/3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Overview — Python 3.4.3 documentation&i class=&icon-external&&&/i&&/a&&br&python语言的标准参考文档。&br&=====日更新====&br&&a href=&///?target=https%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&一个稳定的谷歌搜索的镜像,再也不用翻墙用谷歌了。&br&&img src=&/c68db3fb13fbfd246d6c0ea4b3c57c2e_b.jpg& data-rawwidth=&623& data-rawheight=&304& class=&origin_image zh-lightbox-thumb& width=&623& data-original=&/c68db3fb13fbfd246d6c0ea4b3c57c2e_r.jpg&&
计算机科学与技术专业。 《编码:隐匿在计算机软硬件背后的语言》这本书适合计算机入门。 第1章 至亲密友 编码是什么?在本书中,这个词的意思是指一种用来在机器和人之间传递信息的方式。换句话说,编码就是交流。对任何能听见我们的声音并理解我们所说的…
这个问题我早就想回答了,怒答!&br&&br&既然是优秀,那么先从个人能力来说,需要具备以下几点:&br&&ol&&li&优秀的编码能力,这是要建立在大学四年乃至更久的时间的必然结果。&/li&&li&具有项目开发经验以及项目合作经验。&/li&&li&良好的沟通与表达能力,这一点很重要,不明白leader的想法,且无法说出自己内心认可的创意,就会因为你的出现使整个产品面目全非。&/li&&li&创造能力。copy是一种能力,但是一味copy就是一种失败。产品的前期开发很需要创造力,当团队进行头脑风暴或者会议讨论的时候你要表达出自己的想法,能让leader眼前一亮的东西。&/li&&li&自学能力。你真的不知道你再工作的时候还要学多少东西!而且是要求你短时间学会的,开发一个项目的时间是多么的紧啊!!!&/li&&li&要具备一定的思维能力和逻辑判断能力 。不要犯一些低智商的错误。&br&&/li&&/ol&第二点我个人觉得比较重要,因为它涵盖了上面的许多点。&br&&br&如果你要面试,一般的时候最常问的就是你有没有项目经验,有没有做个什么实际东西,所以一定要有实践能力,平时在学各类专业课时要多上机实践,找机会和同学一起做个项目什么的,培养自己解决实际问题的能力,本科论文要好好做,毕竟在学校做项目的机会不多,要珍惜。一般笔试的时候都是靠一些c/c++的基础,所以这些课要学好学精,多上机编程,还有多调试,只有不断发现问题解决问题,才能有出色实践能力。&br&&br&再说说专业技能。&br&&blockquote&专业知识和技能&br&&br&软件工程&br&牢固掌握软件工程专业的主要专业课程,包括软件工程、面向对象的系统分析和设计、软件测试、软件过程管理等软件工程核心课程。&br&&br&操作系统&br&具备对操作系统相关高级理论和实践的专业知识和深入理解,对各种UNIX、 Linux、Windows、Mach、Mac OS、OS/2、VMS/OpenVMS、S360/370以及多种嵌入式和实时操作系统的体系结构、底层机制和核心技术有广泛深入的研究和透彻的理解。在超过7年以上的时间中一直密切关注操作系统领域的最新进展。对操作系统理论和技术的发展史、现状以及未来发展趋势有着广博的知识和深刻而独到的见解。牢固掌握操作系统开发相关的技术细节,具备开发实际操作系统的能力和经验。&br&&br&系统管理&br&具备8年以上的Windows操作系统在单机和服务器环境的使用和管理经验、7年以上的UNIX类操作系统在单机和服务器环境的使用和管理经验、2年以上的Web服务器管理经验和1年以上的数据库系统管理经验。&br&&br&网络技术&br&牢固掌握种种网络相关技术,对TCP/IP网络的理论、体系结构和实现有深入透彻的理解,对常用的RFC标准和实现有深入的理解。具有4年以上的UNIX、Linux、Windows等操作系统平台上的网络应用开发经验。&br&&br&数据库技术&br&牢固掌握关系型数据库和面向对象数据库的相关理论,对Oracle、DB2、 SQL Server Mysql等主流数据库管理系统的体系结构和实现机制有较深入的理解。熟练掌握标准SQL语言。熟悉ODBC、JDBC、OLE DB、DAO、ADO、&a href=&///?target=http%3A//ADO.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ADO.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&以及基于XML的数据库访问等数据库访问机制。具有2年以上的使用C/C++、Java、Visual Basic、PERL、Python等语言或开发工具开发数据库应用的经验。&br&&br&企业级技术&br&对企业级应用的思想和技术要点有深入的理解,熟悉各种中间件技术,熟练掌握J2EE、Microsoft .NET、CORBA等企业级的开发技术。有一定的企业级应用的开发经验。&br&&br&软件工程&br&对传统的结构化软件工程、面向对象的软件工程、软件工程的形式化方法、净室软件工程、设计模式、Extreme Programming、软件配置管理等软件工程思想和理论有深入透彻的理解。牢固掌握现代软件工程的各种规范。熟悉UML。熟练掌握Rational Rose等系统分析和设计工具。熟练掌握CVS、RCS等软件配置管理工具。熟练掌握Bugzilla等错误跟踪工具。具有2年以上的软件工程实践经验。对软件工业的历史、现状及未来发展趋势有广博的知识和深刻而独到的见解。&br&&br&软件过程管理&br&对软件过程管理思想和理论有深入透彻的理解。对能力成熟度模型(CMM)和理论、内容和实践方法有牢固的掌握和深入的理解。对技术人员管理的思想和理论有深入的理解和独到的见解。&br&&br&计算机科学&br&对计算理论、可计算性和难解性理论、组合逻辑理论有深入的理解.对算法设计和分析的理论和方法有深入透彻的理解.牢固掌握布尔代数和计算机逻辑电路的相关理论知识.对计算代数和计算几何的理论有初步的了解.&br&对现代计算机体系结构,特别是各种规模的并行计算、分布式计算体系结构、网格计算,以及诸如超长指令字、数据流等下一代体系结构的理论和实现机制有深入透彻的理解。具有在RISC和超长指令字体系结构上的开发经验。&br&对形式语言的语法和各种语义理论、程序设计语言各种范型的理论和实现机制有深入透彻的理解。精通编译器相关的理论和技术。具有对数十种程序设计语言的不同程度的了解和开发经验。对程序设计语言的历史、现状和未来发展趋势有广博的知识和深刻而独到的见解。&br&&br&数学&br&对逻辑主义、形式主义、直觉主义、数理逻辑、公理集合论等数学基础思想和理论有深入的理解。熟悉现代代数理论和方法。 对现代数论的理论和方法有较深入的理解。对几何、拓扑学、组合数学等数学分支的现代理论和方法有较深入的理解。&br&&br&密码学&br&系统的理解和掌握古典密码学和现代密码学的理论和技术。对加密算法、安全协议和密码分析的理论和方法有深入的研究。对各种重要的现代加密算法和安全协议在多种环境下的设计和实现有丰富的经验。熟悉PKI体系结构。&br&&br&办公自动化&br&精通Microsoft Office系统办公自动化软件的高级应用和配置管理。熟练掌握使用Visual Basic for Application、COM/OLE/ActiveX等技术对Microsoft Office系列进行进一步的开发。了解使用Lotus Script对Lotus Notes的进一步开发技术。&br&&br&平面设计&br&精通Adobe Illustrator、MacroMedia FreeHand、CorelDRAW等主流矢量绘图工具,Adobe Photoshop、Jasc Paintshop Pro、GIMP等主流图像处理工具,MetaCreation/Corel Painter等主流位图创作工具,以及Adobe InDesign、QuarkXpress、TeX/LaTeX、方正、Adobe PageMaker、Corel Ventura等主流的专业/商业排版软件。对PostScript、PDF、SVG、各种字体技术等电子出版业的核心技术有极深入的研究和丰富的开发经验。对印刷出版业的各种业务流程、行业规范和专业技术有专业水平的了解和 丰富的经验。在专业平面设计、排版领域有三年以上的实践经验。&br&&br&三维动画设计&br&熟练掌握Alias|Wavefront Maya,能够进行专业水平的三维动画设计和制作。&br&&br&程序设计语言&br&精通以下高级程序设计语言:&br&ANSI C ,ANSI C++ ,Objective C ,Java ,C# ,ISO Basic ,Visual Basic ,Visual &a href=&///?target=http%3A//Basic.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Basic.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& ,ISO Pascal/ISO 扩展Pascal ,Object Pascal ,ADA 83/ADA 95 ,Smalltalk 80 ,Modula/Modula-2/Modula-3&br&,Haskell ,VBScript ,JavaScript/JScript ,PERL ,Python ,AWK&br&熟悉以下高级程序设计语言:&br&PHP ,FORTRAN 77/FORTRAN 90 ,Common LISP ,Scheme ,ML ,APL&br&精通以下体系结构上的机器语言/汇编语言:&br&Intel
,IA32/MMX/MMX2/SSE/SSE2 ,AMD64 ,3DNow!/Enhanced 3DNow! ,MIX ,MMIX&br&熟悉以下体系结构上的机器语言/汇编语言:&br&POWER ,Power PC&br&了解以下体系结构上的机器语言/汇编语言:&br&IA64 ,MIPS ,Alpha ,Sparc ,ARM ,680x0 ,Transputer ,IBM 7094 ,IBM 360/370&br&&br&开发工具&br&Microsoft Windows Platform Software Development Kits&br&Microsoft Windows Driver Development Kits&br&Microsoft Visual Studio&br&Microsoft Visual &a href=&///?target=http%3A//Studio.NET& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Studio.NET&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&Borland C++&br&Borland C++ Builder&br&Borland JBuilder&br&Borland Together&br&Borland Delphi&br&Borland Kylix&br&
Eclipse&br&GNU Compiler Collection(GCC)&br&GNU Binutils&br&GNU Debugger&br&GNU Emacs&br&VIM&br&GTK+&br&Qt&br&Anjuta&br&Glade&br&KDeveloper&br&QT Designer&br&Rational Rose&br&CVS&br&RCS &/blockquote&&br&&p&其实楼主说的计算机专业概念有点大。所有就计算机科学与技术专业而言,以下这些科目肯定是必修的,也是需要你把这个基础打扎实的!&/p&&br&&blockquote&&p&1、&strong&计算机组成原理&/strong&(包括先修课程“数字逻辑与数字系统”,简称“数电”):这是一门硬件基础课,学完后你能清楚的知道如何从用最简单的数字元件,像搭积木一样构成整个计算机系统,那就算及格了。&/p&&p&2、&strong&线性代数,概率论和离散数学&/strong&:要知道,凡是能称之为“科学”的专业,就必须有一定的数学功底,否则难以称作“科学”。这三门课我觉得是本科时期最重要的三门数学课,比高等数学重要。如果你想在计算机科学的道路上走远点,那这三门可是必修的。&/p&&p&3、MIT开设的&strong&《Introduction To algorithm》&/strong&,中文版叫《算法导论》:我觉得应该学习它而不是国内习惯开设的《数据结构》。数据结构仅仅是算法的一部分,国内的数据结构课程回避了很多本质的东西,仅仅是对一些常见的数据结构的罗列,学起来总有些不痛不痒的感觉。《Introduction To algorithm》虽然有些章节夹杂着很多很让人讨厌的“数学”,但却能从本质上带你领略这门十分必要而且有趣儿的课。&/p&&p&4、&strong&操作系统与编译原理&/strong&:操作系统可以说是《算法导论》的实验课,最好能在学习期间自己实现一个小型的操作系统,或者操作系统各分系统的Demo。编译原理可能是普遍本科生觉得难的一门课,但是作为软件科学家,这是基础中的基础,学完之后所有的语言在你看来应该没有太大的区别,这么课应该是离散数学+算法导论的实验课。最好能在学习期间自己实现一个小型的编译器,语言最好是自创。&/p&&p&5、&strong&掌握一门常用的编程语言和编程技术:&/strong&能了解你用过的所有的程序内部大致是怎样的,能用你熟悉的语言编写大部分的程序,至少不能是对任何一个程序满头雾水。&/p&&p&以上这些不难做到,我觉得是基础中的基础,我偏激的以为,不能掌握他们就不应该获得学位。&/p&&/blockquote&&p&简而言之:&/p&&ol&&li&数学课 (概率,统计,微积分等等)&/li&&li&语言课(java,c++等)&/li&&li&数据结构和算法&/li&&li&计算机网络&/li&&li&操作系统和编译原理&/li&&/ol&&p&其实只要算法和数学牛再加上一定的项目经验,可以吃遍大多数的IT公司。&/p&&br&最后,再推荐一些书籍:&br&&ol&&li&&em&Concrete Mathematics &/em& 具体数学,绝对是计算机科学的数学基础“之一”,国内的计算机科学跟不上国外的一大原因,我始终认为是数学上的差距。&/li&&li&&em&Introduction to Algorithms &/em&算法导论,所有的程序都需要算法作为基础,所以算法是不得不学的。&/li&&li&&em&Introduction to Computer Science and Programming &/em&整体的介绍了计算机,同时也让学生了解CS能干嘛,自己该干嘛。&/li&&li&&em&Operating System Engineering&/em& 操作系统的重要性不言而喻,同时也介绍了编译器。&/li&&li&&em&Network &/em&网络编程,中国 大学的本科生们有多少能熟练于网络编程。当今又有多少程序不需要考虑到网络。&/li&&/ol&
这个问题我早就想回答了,怒答! 既然是优秀,那么先从个人能力来说,需要具备以下几点: 优秀的编码能力,这是要建立在大学四年乃至更久的时间的必然结果。具有项目开发经验以及项目合作经验。良好的沟通与表达能力,这一点很重要,不明白leader的想法,且…
已有帐号?
无法登录?
社交帐号登录
2966 人关注
1534 条内容
6839 人关注
796 条内容
9124 人关注
558 条内容
6198 人关注
286 人关注
941 条内容

我要回帖

更多关于 poweramp音效设置2016 的文章

 

随机推荐