Re: [心得] 台大/资工/哲学/学习心得

楼主: sitos (麥子)   2016-05-15 01:26:33
接着来写资工系的部份。
因为我也只有读过台大的资工系,而且是在 2000 年左右就读的,
所以原则上我所讲述的状况,是在 2000 年之后几年内,我对台大资工的理解。
不能代表其它学校的资工系,也不能代表现在的台大资工系,而且只是我的个人看法。
不过,虽然资工的热门领域一直在变化,且不断有新的发展,但大致上涵盖的范围,
我认为并没有太多的变动,只是因应着整个产业的变化,在课程安排上会不断调整。
课程
在略为参考先前板上对资工系的介绍文以后,我想我可以大致沿用类似的架构,
提出我对各个项目的看法。而课程的内容,或者更简白地说,资工系教什么,
确实应该摆在介绍这个系的首位。毕竟一个系某种程度而言,是被其核心课程所定义。
但基本上不太可能一门一门介绍资工系的必修课与选修课,可能不得不粗略分类以后,
大致讲一下各类课程在教的东西。但如果要分类资工系的课程,其实也不容易。
一方面是资工本来就是一个相对非常应用的科系,因此很多课程都是综合的知识。
另一方面,分类也有很多不同的分法,不管用哪一种方式去分,好像都会漏掉一些东西。
第一种分类方式以科目的本质去分类,大致上可以分成数学与科学(理科)与工程(工科),
前者会偏向理论或观察的结果,而后者则是偏向将既有的知识用于解决特定的问题。
前者例如:
线性代数:我自己学得不好,没真的弄得很懂过,主要跟矩阵运算相关。
离散数学:我也学得不好,主要和集合论相关。
机率统计:就是字面上的机率与统计的课程。
自动机与形式语言、计算理论:
讨论“计算”的数学模型,讨论什么是“计算”的定义,
什么样的问题可以“计算”,什么的问题不行。
图论:我没修过,主要是研究由顶点与边组成的“图”的一些特性。
大部份是数学课程。数位电子学的前面讲解半导体特性的部份,可能也可以算在内。
但由于理科部份,相对离应用的领域比较远,比较常被当作相关应用科目的先修课程。
如果要以这些理科的科目为主要的专业领域,后续的职涯发展可能会偏向学术研究。
*数位电子学:算是电子学的一个分支,主要探讨数位应用领域的电子学,
也就是如何建构处理数位讯号的电子元件。
而工科的科目相对就五花八门。比较基础的是一些基本的程式设计课程,
例如:
组合语言:仅比机器语言高阶一点,以最基本的指令写程式。
计算机程式设计:基本的程式设计课程,通常以 C/C++/Java 等常见语言入门。
物件导向程式设计:呃... 就是,物件导向的程式怎么写。
算法与资料结构:简单讲就是介绍如何设计有效率的程式。
这部份的课程在讲述程式设计的基本概念。
而系统方面的课程,主要的有:
计算机结构:怎么样用基本的电路元件组出一台可执行程式的电脑。
作业系统:怎么样管理与分配电脑的硬件资源,来执行程式。
编译器:怎么样将写给人看的程式码,转换成写给电脑看的机器语言。
简言之,编译器将程式编译,转换成可执行档,然后由作业系统分配资源给可执行档,
最后在硬件上执行。对系统的知识,可以视为是对应用程式开发的基础课程,
但系统的设计本身,也是一门应用的知识,也有不少人的专业领域,
是在开发与改进上述的系统。
再更上层一点的科目,则大致上包括各种不同的应用领域,
这部份常与教授的专业有关。学校教授有哪些专业,可能就会开跟自身专业相关的课程。
与影像相关的例如:
图学:用电脑把图画出来,例如卡通化与 3D 绘图等等。
电脑视觉:用电脑看影像,从影像中撷取有用的资讯。
人工智能相关的例如:
人工智能:我当时学的是比较旧的概念,比如教电脑怎么玩游戏或下棋。
机器学习、机器发明、类神经网络:
如何让电脑从既有的资料中学习特定的知识。
还有通讯网络相关的课程,包括网络的基本运作方式,网络如何进行最佳化等等。
数据库相关课程,讲述数据库系统的特殊需求,以及软硬件设计上如何最佳化。
平行计算相关课程,如何撰写平行化的程式,如何减少相依性,如何减少通讯量等等。
以电脑运作的软件几乎都可以包含在内。但除了必修课以外,
有没有教授开相关的选修课,则常是以教授们的专业为主。
不过基本上相对比较热门的领域,各校应该都有开课,不太需要担心上不到相关课程。
工科的部份如果再作一些分类,可以借由探讨的对象,由底层往上层分类。
最底层的课程可能是数位逻辑设计和超大型积体电路,主要是教怎么用简单的逻辑闸,
建构出一个大型且功能复杂的电路。再往上一点是计算机组织或计算机结构,
主要是教怎么样透过各种不同功能的电路元件,组合成可以执行复杂程式的硬件系统。
再往上则是作业系统、数据库等系统软件,主要是教怎么样分配硬件的资源,
让软件可以更有效率地利用硬件资源。再往上则是编译器,上面有提过了。
再往上则是基础的程式设计课程,前面也提过了。再往上就是各式的应用领域。
基本上多数的课程都会有一些基础的课,也会有一些相对进阶的课,
因此在修完基础的课程后,如果对该领域有兴趣,通常会有分支更细的进阶课程可以学。
除了必修课以外,要开什么课通常都是教授自行决定的。因此有时候有开,有时候没开。
但我认为不必太过担心自己想要修的课程没有教授开,或者因故修不到。
基本上现在线上的开放课程很多,资讯流通也很发达,如果真的自己系没有开,
通常也都找得到相关的资讯来自修。介绍课程主要是想要让大家感受一下,
资工系到底在学什么,以及资工领域现在有哪些常见的应用。
因为今天写得有点累了,暂时先在这边打住,接下来我会写我个人的修课心得,
也包括为什么我认为不用太执著于修特定一门课。
同样地,如果上述的内容有误或有缺漏,也请大家不吝指正。谢谢。
作者: ingridpan123 (方吉教教主)   2016-05-15 10:24:00

Links booklink

Contact Us: admin [ a t ] ucptt.com