计算机专业的方向还是比较广泛,在大学阶段刚开始的时候,对于课程的建议:
不包含基础课如数字电路、逻辑、代数等,只涉及专业课程,可以粗略先分为三种类型
一、理论基础
二、基本知识
三、工程实践
这三种类型或者说三个环节,要点是是要结合关联起来学,可以从理论到工程实践,也可以反过来,个人的经验是能把理论的东西变成实践的工程成果锻炼意义最大。
一、理论基础部分,决定你可以看到的高度
一类是形式语言自动机、离散数学、模式识别、数值分析、概率统计、组合数学和人工智能之类的,这些主要是训练抽象思维能力以及为解决问题提供创新算法的。
另一类是操作系统、编译原理、计算机系统结构、计算机网络结构的基本原理课程,是对计算系统及运作机制进行整体分析理解的。
二、基本知识技能,决定您能达到的高度
一类是语言类,C语言、C++、汇编、Java等,掌握一个得心应手的工具
一类是算法分析、数据结构、数据库等
三类是其它或者专业方向类的,比如图形图像处理、信息检索、并行计算、仿真
三、工程实践
. 基本的有软件工程、多媒体基础
. 前述理论和基本知识的具体实例课程,比如 unix操作系统、网络交换等、网络应用服务(DNS邮件等)
. 包括一些专业方向类,如网络安全、数据挖掘、嵌入式
建议
1、理论方面的建议现在只能给你强调重要性,以及能在实践中体现(解决具体的问题)。
在理论教材之外,可以推荐的辅助读物(业界实际用的东西),可以先翻翻了解,或者作为课程设计的准备。
操作系统: 《Linux用户基础》,如果没有接触过,可以先自己学点基础的,比如RedHat 认证教程,图书馆这类书很多,主要是天天用,一般而言,计算机专业还是要习惯用Linux干活,在windows等封闭系统上少花精力。课程大作业如果可以的的话,编写一个简单OS。
编译原理:这个我自己也没玩好,没有什么可推荐的,有时间了解和使用下《正则表达式》;后面正式学编译原理时候,课程大作业一定要用心做!
计算机系统结构:教材一般都会偏向以前的大型机或者并行计算的架构,对微机(PC架构)不是重点,这个学习的时候是可以的,但在产业上尤其国内,Intel X86架构是主流地位,可以看看《X86/X64体系探索》,用汇编语言 。
计算机网络结构:这个方向比较熟悉。在产业上TCP/IP体系及internet已经横扫一切,《TCP/IP协议详解》第一卷是必读的,而且这个方面我觉得是可以先从这本书的实践环节入手,以后再来补理论原理(因为网络是个实践的玩意,理论性并不强,计算机系统结构如果不从事高性能计算,也差不多是这样)。
====================================================
我一个朋友关于专业境界的看法:下面三个方面,了解多少就有多“牛”
1,OS:从CPU加电到启动OS整个过程
2,编译:"hello world!"程序从编写到运行的整个过程
3,网络:一个包从起点到终点的路径的整个过程
=====================================================
2、语言类的话,现在很多大学时C++为主了,个人觉得C++太繁杂,在语言本身上要消耗太多时间,做系统软件的C的比例还是很高,一定要学好C语言吧,K&R的《C程序设计语言 》()及《习题解答》,有英文版,习题全部认真做一遍,习题解答作者网站上有。
算法分析和数据结构,这个书也很多,都差不太多,准备的时候没必要看太深的,这里面都是常见的数据结构及其基本算法,比如表、链表、树和图之类的,算法分析就是比较算法的优劣吧,这个还是挺重要的。在实际解决问题的时候会是从理论方面来创造出算法,再套在这些基本的数据结构和算法上实现,并分析提高其效率。
3、工程实践方面
.不要迷信软件工程的各种方法,有经历的人看可以,新手了解一下即可,对问题抽象分析能力等才是关键因素。
. 不要受媒体或者非职业高手的影响,会误导对技术和方向把握,一些热门流行的工具、技术和架构是专家设计出来给非专业人士使用的。也可以站在更高高度上,从本质和基础去分析(怎么创建这样的流行玩意,怎么忽悠和包装)。
. Linux已经说了
. 在大学阶段要积极参与开源项目,要留意你周围导师的开放项目并选择加入,融入开源社区,学会和大牛交流。这个经历非常有价值,切记!
. 开个博客,记录心得体会及一些有意义的东西,以后写论文和方案就会轻松很多,也是一种思维表达的锻炼。
《软件随想录》作者Joel Spolsky给计算机专业学生的建议
(1) 毕业前练好写作。
(2) 毕业前学好C语言。
(3) 毕业前学好微观经济学。
(4) 不要因为枯燥就不选修非计算机专业的课程。
(5) 选修有大量编程实践的课程。
(6) 别担心所有工作都被印度人抢走。
(7) 找一份好的暑期实习工作。
(8) 寻求专业人士的帮助,培养你的自信心。
小结:
最后要看自己的初步专业方向以及发展方向,发展方向是个人规划要:去顶级大公司、做研究、创业(合伙人)。
其中反复强调“贯穿的机会”,昨天正好和以前的老板聊这个,也是强调了这点。