小余

灵感源于交流,创新出自思考

导航

学习不容易——小余答疑(二)

Posted on 2008-10-22 12:47  小余(Yice)  阅读(2777)  评论(17编辑  收藏  举报
         某日小A去买盗版光碟,与小贩还价。

         小贩曰:兄弟,别还价了,我们做IT的也不容易。

         对于计算机的学习步骤,可以分为几个阶段:其中的数学和英语是作为计算机行业的基础;第二阶段的是数据结构、计算机组成原理、计算机操作系统原理、计算机网络、编译原理、汇编语言及接口技术、C语言等专业基础课程;第三个阶段是计算机图形学、数据库原理、软件工程、人工智能、系统分析与控制等计算机专业课程。这些课程如果希望每一个都学好的话,就像开题笑话所讲的那样,也不容易。

是不是做计算机行业的都需要把这些内容都学完学好呢?我个人觉得未必要门门都学好学精,因为并非是所有课程都学习好之后才能够工作。在计算机行业中,并不是所有的人都会从事开发工作,即便时都从事开发工作的,由于工作的领域不一样,所涉及的知识层面也存在有巨大的差异,所以对只是点的要求也不尽相同。所以很多同学可能只是希望今后能够从事软件开发工作,但是对具体的方向可能还无法确定,这些也会给他们造成很多迷茫,因为方向不明确,所以学习上也就缺少明确的目标。

我可能很难对计算机领域做出一个比较完整准确的划分,我只是从开发者学习的角度来看,把这个领域做出几种划分,然后对划分出来的结果所从事的工作内容和学习的要点进行说明。在做软件开发的时候,一个比较大区分就是偏软还是偏硬,我只是简单的将这些方面做一个划分:

从事领域

工作方向

学习课程

偏向硬件方面

今后希望从事嵌入式开发领域

系统组成、接口技术、汇编技术、数字电路和操作系统

从事基于数据库的商业软件

可以从事商业应用软件的开发

其数据库原理和C语言,编译原理

从事图形方面

图形开发或则游戏开发

计算机图形学,数据结构和数值分析等

从事工具或则系统底层的开发

开发各种应用框架,或则应用软件

操作系统,计算机网络,数据结构、C语言

从事软件测试方面

软件测试人员

软件工程,计算机系统组成,和测试技术

从事UI设计方面

UI界面的设计人员

计算机系统组成,软件工程,各种图形制作工具

从事算法研究

算法研究

离散数学、几何与代数、概率与统计、人工智能导论、离散数学

由于做软件开发中具体的开发领域存在有差异性,所以划分的细节也就比较难确定,但是从大体上来看,作为学习阶段,先可以确定自己今后希望从事的工作内容,尽量使自己对的工作的内容保持有热情,这样今后在工作和学习中也能觉得不会枯燥无味。

同样,软件行业所要学习的内容不是上面表中所罗列的那些,只是说针对学校的同学或者学习的新人来说,能够在众多的课程中找出一个学习的侧重点。如果说希望充实相应的开发工作,只要要把关键的课程学习完,学习好。这样在刚刚进入工作阶段也会避免基础的欠缺造成的尴尬。

     最后,在所有的专业课程之外,还需要提及的就是英语的学习和基础C(也可以是PascalBasic或则是其他的高级语言),英语的重要性绝非式考过四、六极就算完事,听说读写都要加强锻炼,今后的工作岗位上你会发现英语实际应用的重要性。选择一门高级语言作为计算机软件开发语言的学习重点,侧重点在于培养自己良好的程序逻辑思维能力,没有必要像蜻蜓点水一样,把流行的语言都点了个遍。