作者tinlans ( )
看板Soft_Job
标题Re: [请益] 毕业生vs非本科系差在哪?
时间Tue Jul 10 03:23:49 2018
※ 引述《kiss78832 (kiss78832)》之铭言:
下班洗完澡了,来看看能多快回完这篇。
因为想快点睡,所以如果有错字还是文句不通顺的部分请海涵,有空我再修。
: 这个版有许多非本科系想要跳进来,可是大多数的人都会嘘的很惨,有几个问题想要请教各位~
我都用箭头回。
看了一下嘘的大概是觉得那类文太多了,一阵子就来一次,所以不耐烦了吧。
: 一、非本科系学生自习通常都满认真度的,因为知道自己少学别人几年,
: 但认真自学一、二年真的会输给应届毕业生吗?
这个问题很难回答,因为有点大哉问。
1. 你说的是大学应届毕业生?还是硕士应届毕业生?
因为这科系多读两年硕士拿硕士学位起薪会高学士起薪不少,天花板高度也比较没限制。
所以通常不管大学混得好不好都会拿个硕士,大学校名不好听也会洗一个好听点的。
因此常常应届毕业出来都硕士了,硕士大都至少有一个领域比较专精,所以接下个问题。
2. 你是说哪方面比应届的强?
如果是大学应届毕业,毕业专题也没朝某个方向做太深入,
那这种应届毕业生大概就是拥有以团队合作方式实际完成一个大型作品的经验。
这东西通常不管谁花上大把时间都做得出来,重点在於成就感和团队合作经验的培养。
如果那个专题指导教授会要求专题生看 paper 然後弄出点改善的,
那这种应届毕业生拥有不一定有团队开发大型作品的经验,
但是至少会有:
(1) 对某特定领域的进阶知识。
(2) 建立实验环境及分析数据的能力。
(3) 看出别人方法的缺点,和同伴讨论,并找出改善方法且实作之的经验。
教授很喜欢这种专题生,通常会用一些条件利诱他们推甄硕班当他研究生。
所以一般大学专题走这路线的,很少是只有学士学位,硕士学位都会顺便拿一个。
另外,教授很喜欢透过这种管道寻觅未来两年甚至更久远的奴才。
如果单论写程式能力,那我想你对资工系有所误会。
其实我也不知道嘘你的那些人是不是真的资工背景,但我肯定你搞错了什麽事。
开战之前要先收集敌情是基本,不然连搞错对手开战都不晓得。
我拿比较有代表性的 113 资工学士班课程给你看看 (我没读过 113):
https://www.cs.nctu.edu.tw/cswebsite/education/undergraduate/course
资电工程组的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/1.png
资讯工程组的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/2.png
网路与多媒体工程组的共同必修:
https://www.cs.nctu.edu.tw/cswebsite/upload/student/3.png

专业选修我们就先不管,毕竟共同必修才是一个系所组别真正注重的东西。
你看一下程式课有多少。
一上:计算机概论与程式设计
一下:物件导向程式设计
二上:资料结构
二下:演算法概论 (根据教授要求不同,这门课不一定写得到真正的程式。)
基础程式设计 (我查了一下是检定程式能力的课,不是上课而是在做题目。
一般而言这种课应该是把关学生素质用的,不过无法毕业。)
三上:计算机图学概论
编译器设计概论
微处理机系统实验
网路程式设计概论
作业系统概论 (不一定写得到程式,传闻久远的过去会叫学生写出一个 OS。)
三下:嵌入式系统设计概论与实作
人工智慧概论
影像处理概论
软硬体协同设计概论与实作
资讯工程专题 (一)
四上:资讯工程专题 (二)
三年级开始必修程式课会增多,虽然我全列了上来,但各组别其实只有其中 2 到 3 门。
一二年级有非常多对你而言可能只是凑热闹的课程,除了自然科学那块之外,
什麽微积分、线性代数、离散数学、机率、微分方程、数值方法、正规语言、
数位电路设计、电路学、电子学、计算机组织、数位系统设计、讯号与系统等等的课,
我不知道这些课程在你眼中是什麽东西,但它们在前两年占的比重显然高於程式课。
可见这些东西才是资工人真正要会的东西 (根据组别或学程而有差异)。
而且就这个课程设计来看,你应该要发现一些事实。
譬如从一上到二上三个学期就三门必修程式课,突然间二下就要检定程式能力了。
这个代表什麽?程式设计是修三门课就能变得很强很专业的能力吗?
明明读这科系是要学写程式,结果前两年都在读一些不知所云凑热闹的理论跟数学课,
而且实际上这些课程需要投入大量时间才能通过,大大地压缩了学生写程式的时间。
加上列在必修课里的居然没有网页程式设计,没有网站建构和架设,没有电子商务,
资料库系统概论就一个框框躲在其中一个组的核心课程里,一学期上完,没了。
怎麽这些必修课程和板上还有 104 等处看到的各项职缺所需能力差别很大?
你是不是开始怀疑这根本不是你心目中的资工系?怀疑我给你的是假资料假网页?
如果你开始产生这种怀疑,那我非常确定你从一开始就找错科系比较跟开战了。
为了避免引发科系之间的战争,我就不说什麽请左转资X系重新来过了。
这个疑惑我以前也有过,然後我是有疑惑一定找人问的类型。
我来把我从诸多大学教授的回答跟你分享分享:
1. 程式能力是基本要求,学生应该回家自己学习和加强,这种东西别上大学还要老师教。
2. 大学是学术的殿堂,钻研学问的地方,不是职前训练所。
3. 我们系名的 science 是科学,纯 coding 不是科学,请自己花课余时间练。
我们系名的 engineering 是工程,纯 coding 不是工程,连这都不懂不要来读。
4. 我们这里训练的是专家,不是玩家。
培育专家的素养就是需要这些知识,写写程式和组组电脑一样是玩家范畴。
5. 师傅领进门,修行在个人。学校课程只是老师给你起个头,後续还是要靠学生自己。
另一方面,以我当时的时空背景,无论学界还是业界都常有这种评论:
「高教技职化」
「大学高职化、硕士五专化」
後者其实并没有很夸张,因为台湾产业迟迟没有升级,加上学历泛滥,
其实不管大学还是硕士毕业後常常都所学非所用,学校学的都可以拿去丢。
因为他们在业界做的工作,就是在 90 年代高职毕业生和五专毕业生就能做的事情。
只是每间公司应徵者众,继大学生满街跑没几年後,硕士也变得满街跑。
人资筛人只好先用学历和学校来筛,结果就是变成现在这种局面。
虽说因为某人的杰作,现在高职和五专生的能力也的确和过去有相当大的差异。
这可能要跟我一样有经历过五专生实力超强的时代的才会懂了,时间不够先不讲古。
推文开放 35 岁以上的老人讲古。
总而言之,我从教授们的回答中得到一个共通点,就是「程式本来就是学生自学的」。
在我们资工系,即便有选修各种程式相关课程,最後靠的还是自己学,这点是肯定的。
不管是不是在资工系,人都有自学能力强弱之分,意志也有坚毅和薄弱之分。
你说你可以花一两年时间自学,但事实上我们这边的学生也是在自学,
差就差在我们这边可能还有良师益友可以即时给予提点,但也不乏不懂得善用的人。
所以单就程式能力你和我们有什麽差别?我觉得可能平均来讲应该差别不大。
我们修的程式课也就那样,大部分相关技能都是自学而来,这比的只是自学能力而已。
既然这个部分我们可能都差不了多少,那麽我们跟你的不同之处就不会在这。
因此如果你一开始就是想单问程式能力,那你可能是完全搞错方向了。
: 二、只要遇到非本科系要跳进来,底下就一堆留言叫版主先去念研究所毕业再讲,问题自学+资策会,程度上应该也不会差很多吧?干嘛非要叫人去研究所,搞不好教授都在混,不是倒楣吗,为了一张证书而已。
我想每个阶段学校老师应该都会教,如果要在茫茫人海中跟人竞争,
你应该要有一两项过人之处,以及难以取代甚至不可取代之处。
资工领域分支有千百种,各行各业要求的常常都是不同领域的专家,所以读这出路多。
但是硕士是专精「某一特定领域」的场所,因此大学生的任务就是要探索出方向。
之所以建议读硕士就是因为资工领域太多太广,大学都只是在打进入各领域的基础而已。
以一个资工学士身份进入职场也不是不行,但是你要能好好回答这些问题:
「你说你基础好,什麽都摸过一点,那你到底什麽比较强?」
「来应徵的人这麽多,大家都很优秀,你凭什麽要我录用你而不是别人?」
你不是这个科系毕业的去应徵,就算见得到面试官,
你应该知道在这些问题之前还有别的会被问,你可能得准备得更多一点。
当然,以上的前提是你找的是「可以跟资工系毕业生抢其专属饭碗的工作」。
如果你找的是中辍生去外面上课三个月都能跟你抢饭碗的工作,那也许面试会好过一点。
可是你将要面对的可能就是非常不人道的工作环境和违法的劳动条件,
因为即便你的能力远高於需求,但那边本来需求就低,你并不具备不可取代性。
对老板而言,你就只是个可以随时替换的螺丝钉,和扫地的欧巴桑没有太大区别。
他没有必要爱惜你,没有必要视你为资产,你会被当成墨水匣之类的耗材也是理所当然。
「你不爽可以不要干,後面还有很多人排队在等着做。」
想在就业之後听到老板对你讲这种话的话,我也是不反对啦。
一般我会建议人读硕士,就是希望要能培养出独一无二的特别知识和技能。
另一方面就是学士和硕士的起薪及天花板有明显的差异,学士靠年资调到硕士起薪很难。
当然也不是没有例外,前提是你个人表现出类拔萃,主管跟老板也没瞎了狗眼。
由於这条路线控制结果的因素不全在自己,所以我才会建议比较轻松的路线。
: 三、是不是什麽都要嘘的人,其实是怕自己工作被抢走才什麽都要嘘一个,
: 好像非资工毕业就不行,摆出唯独资工能做软体,你文组滚开!?
我在回答你第一点的时候应该讲得差不多了,你应该是完全弄错对象。
从一开始我就觉得你只是自己紮了一个本应不存在的稻草人在质疑和针砭。
至於嘘你的人是什麽背景,怀着什麽想法,我不知道。
但我知道 PTT 有八卦板这个存在,也许那些人只是八卦板待久了,习惯按嘘而已。
又或者只是如同我前面讲的,类似的转换跑道文看太多,看到懒得看了所以按嘘。
另一方面,对於我们资工人来说,程式能力本来就是自学,老师只是带个起头而已。
大学三学分的课程代表每周上三堂课,上面那些必修多半是三堂,选修则有些二学分的。
其实资工学生上课的时候也很绝望啊,老师都不负责任地随便教一教就开始丢作业,
什麽都说你回家自己看书,你回家自己练习,虽然 office hour 是可以问啦。
透过辛苦自学熬过那个环境 pass 的,被你讲得好像这边的人自学没你认真,当然会嘘。
我没嘘你的原因是我学习背景和环境跟一般资工人有区别,没体验过太多痛苦和无助。
我精通 C 的时间点早到它几乎可以视为母语,所以你讲这些以我立场来说是很无感。
但是换位思考的话,如果我是大一才开始学程式的一般资工人,肯定会嘘爆你的吧。
我也不是没看过同班同学痛苦挣扎的样貌,所以还是可以想像得出那种心情的。
: 四、为什麽没兴趣不能进来这个产业,为了钱难道不行吗?
: 难道这版的工程师每天写程式都写到高潮不想回家吗?
: 因为太有兴趣了,没搞出来不行,都是这样心态吗?
没兴趣却只是为了钱当然可以,欢迎你的加入。
会那样劝你的人应该是某些行业的过来人,怕你每天活在痛苦、挫折和不讲理之中而已。
如果你觉得你对这些状况的承受能力很强,那当然没有问题。
: 五、我是文组,也是正在学习的菜鸟,我还是学店。
: 写程式不就这样,熟能身巧,搞得是个很高尚的职业,不相关的人都不准进来
虽说很怀疑是你从一开始就搞错对象,但我从不觉得写程式有多高尚。
这种工作反而还颇容易囤积脂肪,是一个越劳动越容易让身材外观变得痴肥懒的工作。
肥宅的世界非常欢迎你的加入,绝对不会不准你进来,进来後记得多带大家去运动。
不过我还是要澄清一下,写程式的工作有千百种,
根据选择的领域,能跟自己抢饭碗的人口类型也有不同。
1. 最常见的是大杂烩的综合领域,无论出身为何,外面上课或进来三个月都能做得很好。
2. 资工、资管、应数、电机、电子、商设、工管等科系都能做的领域,
也不乏土木、园艺、中文等科系,只要有毅力,就能混一口饭吃。
3. 资工、电机、应数都可以踏足的领域,但对其它科系有先天排斥性。
在此之上以资工为中心,还有资工+电机、资工+应数方能踏足的领域,对外系具排斥性。
你不去读资工所的话,要进入 1 和 2 去跟大家大锅炒绝对是没有问题的,
即便那些环境可能会有更多人跟人之间的非技术相关争执及勾心斗角,
不过对你这个文组出身的说不定反而有利,我是觉得人只要能找到适才适所的地方就好。
我只是觉得你好像对我们资工系有点误会,所以特别回一篇文说明一下,
你听完以後只要按照你自己的判断做出不会後悔的选择就行了。
至於我个人的意见,你拿来当参考就好,毕竟人各有志,没什麽好强求的。
就如同前面说的,台湾产业实际上很落後,很多地方大学所学的东西派不上用场。
既然用得上大学和硕士所学的产业有限,势必会有不少资工人也必须待在那边工作。
一旦在那边工作,资工人的优势也会被大幅削减,甚至变成和你完全以程式能力竞争。
与强敌竞争的要领,在於制订诸多规则限制对方优势,让对方让步,降到跟你同一水平。
资工人自愿或被迫放弃自己优势,跑去那样的产业跟外人纯粹以程式能力进行肉搏战,
实际上就满足了上述的限制条件,你有很大的机会可以跟他们在同个职场平起平坐。
在那样的产业里,你要光靠自学程式能力就在成果上打趴资工人,成功率肯定会高很多。
人生 Online 本来就是这样玩的,赢家就是正义,没什麽卑鄙不卑鄙。
由於程式大家都是靠自学,所以学不学店我觉得完全不重要。
我大学也是读现在被乡民们称为学店的私立科大,程式能力还是维持在一个水准之上。
我班上还有个入学时跟刚毕业当完兵的班导年纪一样大的原 8+9,後来也过得不错。
你对自己这麽有信心是好事,往好处想你这样也是一个优点,好好加油吧。
多掌握身边的各种学习资源,找到对的方法努力学习,也是能闯出你的一片天。
--
Ling-hua Tseng
Senior Engineer
Compiler Group, RD/Software Division
Andes Technology Corporation
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.164.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1531164235.A.7C3.html
※ 编辑: tinlans (122.116.164.123), 07/10/2018 05:11:55
1F:推 SKII588: 老人来推 07/10 07:22
2F:推 zanyking: 推,我们那个时候程式设计都是自己学的,老师只负责透过 07/10 07:25
3F:→ zanyking: 考试当学生,我自己学也是後来毕业後去资策会上课然後 07/10 07:25
4F:→ zanyking: 自学的,其实『差在哪?』还得看时间,是现在还是十年後 07/10 07:26
5F:→ zanyking: 答案都会很不一样 07/10 07:26
我当年那间学店进去的前两年,资工系只有一个资工背景的老师,其他都电机硬体背景。
唯一一个资工背景的老师刚毕业当完兵出来,专长物件导向,擅长 Visual Basic。
是个很开朗豪迈又爱登山的交大纯血土博,本身看起来也是在一边教一边学。
这个老师 C 跟 C++ 坦白说不太行,但他很卖力在教学上,对於在学店教学有一套见解。
他认为既然学生程度都跟不上,而且对写程式没有兴趣,不如不要硬把整本书上完,
而是根据学生总体程度来决定要教多少,起码把前面基础部分紮紮实实打稳。
至於程度比较高或者对程式设计特别有兴趣的学生,可以日後自己慢慢自修後面的部分。
所以他算是极少数会手把手教学生程式的老师,只可惜他也是新手,在我那届成效有限。
当年的时空背景是这样的,教育部不知道为什麽把资讯科跟电子科课程弄得差不多,
所以虽然当时我资讯科出身,但主科还是基本电学、电子学、数位电子学等等的东西。
程式设计的课几乎没有,计概教个 Quick Basic,後来勉强有门课教 Visual Basic。
然後数位电子学後半实习因为牵涉到 x86 组语,所以也勉强教了一下。
再来就是实习课,当年已经缩减成一周八堂了,不过也是一周有两个半天泡在实习工场。
整天在那边插面包板,玩电源供应器跟讯号产生器,偶尔意外炸炸电容跟 SCR 等元件。
所以即便是高职资讯科出身,兴趣跟背景其实都跟电子科没太大差异。
国立科大当年只有台科、北科、云科、高雄第一、高应大,其它都还是技术学院。
这几间科大的四技部全部都只有电子工程系,没有资讯工程系,只有私立朝阳科大有。
然後该死的教育部,在联考也是把资讯科跟电子科并在一个「电子类」组考试。
唯一的资讯工程系也是被夹在众多电子工程系的志愿里面,分在电子类组里。
换句话说,我当年的同学几乎都是高职在读电子科,只是分数上不了国立科大电子系,
刚好成绩落在朝阳科大资工系,又不想去更差学校的电子系,只好勉强跑进来读资工。
换句话说他们专长就是电子学跟电路实作,研究所志向是电子工程系,根本不想写程式。
所以他身为唯一一个资工背景的老师,面对只对硬体有兴趣的学生,也只能那样教了。
在那环境,对於极少数真正对资讯工程有兴趣的学生,真的就是什麽都靠自学。
不过当年也问了一些在普大资工系念书的,看起来他们的教法也没好到哪去,
比起只会随便乱教还有硬要一学期上完整本书的老师,这老师某方面来说也比较负责。
但是以严格角度去审视的话,要说是过份放水让学生容易 pass 也是可以啦。
虽说那间现在是学店,当年联考也是要全国排名前 2.9% 才能进朝阳资工,
同学不能说是素质差,只能说没兴趣真的没办法,偏偏他们又不愿选系不选校。
其实我也明白想要选系不选校有困难,会有来自家长跟学校的压力。
譬如教育部刚试办推荐甄试,要先选好学校再考试和面试,学校选定就不能改。
所以当时我跟家人研究了一下,还是决定选有兴趣的资工系比较好,
虽然高三模拟考已经稳站班上前两名 (我们资讯科是竹苗第一志愿),
科里老师对我期待不小,看到我志愿写私立科大,马上把我叫去办公室拍桌。
我对当时的印象还颇深刻的,一进去马上呛我报这间现在可以马上开始去玩,不用读了。
还好科主任後来还算明理,加上家人那边也事先搞定了,
而且我本来从第二志愿高中往高职跳,就已经处理过类似状况的经验,
学生跟家长说法一致,意志又表达得很坚定,他也只能挥挥手让我滚去朝阳了。
如果无法获得家长支持,选系不选校这种举动还会有家庭革命的问题。
系上少数对软体方面有兴趣的同学,大都采取自力救济模式。
省钱的就是去图书馆借书,不省钱的做法就是像我这样每年回新竹书耕大规模扫书。
我大概一年就过年回新竹老家几天,然後拿五六千块去书耕选书搬书回雾峰。
那是侯捷(侯俊杰) 这个译者还很活跃的年代,当年程式能力主要靠读他的译作在强化。
再来就是延续高职时代的习惯,每年读完欧莱礼全套中文书籍,每年新书全买全读。
读这家的书主要是我高职时代还有兼网管,算是另一个兴趣,就一路培养起来了。
喜欢微软平台的同学,当年也有很多微软的中文丛书,常看到他整天抱着那些砖头在啃。
虽然一开始是对於师资缺乏还有学校少教这方面很不平衡啦,
但是後来去中字辈学校读硕,去四大读博,发现其实全台资工系都差不多。
想想也是,当年科大老师也都是普大出身,课程都复制普大资工系,
他们过去在学校是怎样修课,当年就是怎样在任教的地方设计课程,也不意外。
说到底,程式能力在资工系就是要靠自学,靠自己去掌握所有可用的自学资源。
我那年代台中还有扬业可以现场选书,这家在逢甲那边,後来好像也倒了。
6F:推 joejoe14758: 推 07/10 08:21
7F:推 snaketsai: 推Andes大大m(_ _)m 07/10 08:32
8F:推 yamakazi: 资工系学四年大部份业界用不到啦 我去资策会加上网自学 07/10 08:36
9F:→ yamakazi: 是业界精髓 三个月抵四年 07/10 08:36
是啊,毕竟我还有一个老妈当年特地跑去美国待产把他生下来的堂哥。
我在台湾学店念书的时候,他在 UCLA 读电机,交换一下资讯就会发现台湾业界真的惨。
甚至我读科大前两年 embedded system 跟 SoC 还没红起来的时候,
我跟科大班导说我从高职就立志走 compiler 这条路,他听到时差点没从椅子上跌下来。
我记得直到我毕业前,那位老师还是跟我苦苦相劝,说那是一门已经如一滩死水的学问,
台湾业界没人要,出去跟人家说你专长是 compiler 会找不到工作等等,听到耳朵长茧。
不过当时的时空背景也的确这样,即便这东西长在 CS 技能树最尾端,业界就是用不到。
後来就如同大家知道的各种小型 CPU 设计开始红起来,这门专业才重新被重视。
但尽管如此,台湾现在也依然没几家有这方面专业的需求就是了。
10F:推 snaketsai: 不过以前计图不是必修,我是资工组毕 07/10 08:42
其实我也有点讶异,只能说时代变迁得颇快。
11F:推 fig498: 感谢认真文 07/10 08:49
12F:推 becca945: 把C当母语的概念 07/10 08:58
13F:推 BigHeadDoggy: 推 07/10 09:10
14F:推 kaitokid1214: 推好文 07/10 09:11
15F:推 BigHeadDoggy: 『其实资工学生上课的时候也很绝望啊』 QAQ 07/10 09:19
16F:→ testPtt: 我想说那些课大家都只求60分 稍微会写几百行code就很强了 07/10 09:21
17F:→ testPtt: 毕业有一大半课程会忘光 老师真的要电人大家都不用毕业了 07/10 09:23
我大三开始系上引进了资工专长的老师,真的就是随便教随便当。
和高职那些非常懂得怎麽教学生的老师相比,他们相对不用心在教学上。
所以我对於这件事十分不爽,课堂上只要我听不懂,我就举手问,我不懂就别想上下去。
私立科大一学期学费要五万多,我花钱花时间坐在那边,不是为了听他们念书商投影片。
不自己备课准备投影片,拿书商投影片照着念来上的,我都很赌烂,听不懂就问给他死。
我大三时因为很多国立技术学院升格科大,学校排名一落千丈,学店化很严重。
所以我也知道那些老师为什麽会跑来这里任教 (家乡地缘和友情客串等因素除外),
对於不得不来到这学店就随便教学的老师,我不会让他那麽轻松混钟点费。
我大四的那年还见识到一大奇景,一年级学弟上机考前在拿着列印出来的程式码死背。
我没注意教他们程式设计的老师是谁,怎麽会把程式课教成这样。
当时已经在忙着准备研究所考试了,没有办法再去学弟的班上旁听了解状况。
18F:推 ian90911: 推优文 07/10 09:35
19F:推 sarafciel: T大推个 其实以前资工组还有组语是必修 我毕业那年好像 07/10 09:41
我有看到交大还有微处理机系统与实验啊。
以前这个是顺便教组语的,只是当然不是 x86。
如果这门课没有组语我也不太意外,硕班时期就看到很多国外厂商在用 C 和 DSP C。
後来还看到 DSP C 被标准化成 Embedded C,记得是荷兰那家 ACE 在推很大的玩意。
现代 compiler 研究都集中在各种最佳化演算法,生出来的组语效率越来越强,
在比较先进的系统上手刻组语也不太实际了,BIOS 那边 UEFI 普及後也是整个 C 化。
20F:推 TitanEric: 本科系泪推 07/10 09:42
21F:推 tataTangQQ: 资工本来就很大部分跟IC设计有关 07/10 09:42
22F:→ tataTangQQ: 现在一堆人只想到写程式 07/10 09:43
23F:→ sarafciel: 有做一波课程调整 现在这个学程表已经是轻减过的了 07/10 09:43
当然,以前塞那麽多课程根本是要大部分学生跳楼。
现在的小孩子那麽宝贝,继续那种高压课程会让家长去大学抗议吧。
24F:推 Argos: 简单来说就是资工系教授的问题 07/10 09:44
也不是,只是程式能力在资工系不是主轴,教授觉得那跟装修电脑一样是你该自学的。
25F:推 cphe: 组语现在不是必修了吗?同意t大讲的资工系的程式课其实很少 07/10 09:45
26F:→ cphe: 其他专业课程来说,程式就是一个工具…实现的工具而已 07/10 09:45
其实只要学通一个程式语言,学其它的都很快,只是对 library 的熟悉度差异而已。
资工系是个很奇妙的东西,你从一门专业深入到根部,摸隔壁的领域会很快触类旁通。
程式语言之间姑且还算同领域的东西,基本上你摸熟一个,另一个就是根据差异学习。
把 C++ 学通,TMP 那边也弄通的话,就算遇到 functional language 也没在怕了。
现在各种高阶语言群魔乱舞,其实也不一定要从 C++ 硬闯了,很多舒服开心的路线可选。
27F:推 vi000246: 好认真的文 07/10 09:46
28F:→ cphe: 会认为读资工系不重要,那是台湾的现况就是这样,码农为主 07/10 09:46
29F:→ cphe: 如果除了基本写程式却用不到深入观念的工作,本科非本科的确 07/10 09:47
30F:→ cphe: 没有很大差别 07/10 09:47
所以原 po 那种想法我觉得虽然自信过度,但也不是完全没机会跟本科系的平起平坐。
只是要找到一个对的地方,然後他自身真的够努力自学吧。
31F:推 tataTangQQ: 写软体也就最顶端身价不菲,进猪屎还是主流吧 07/10 09:50
32F:推 gravity067: 哇 钜细靡遗 认真给推 07/10 09:53
33F:推 BBSealion: 推这篇!讲解清楚 07/10 09:55
34F:→ sarafciel: 回去查了一下剩世强哥有开 所以应该是变选修了没错 07/10 10:03
35F:→ pttworld: 大学的程式课程是助教在实习课带的,教授走理论 07/10 10:14
更早期有讲师的时代不是这样,可惜台湾的评监制度把讲师赶跑了。
36F:推 powenyu: 推大神 07/10 10:19
37F:推 senjor: 看完这篇觉得我在干嘛,当什麽码农...Orz 07/10 10:24
38F:推 suninrain: 推~老师上课都是教观念、基础的,然後就说下周上传作业 07/10 10:50
39F:推 anr2: 朝阳同班同学 不得不推 07/10 11:02
40F:推 anr2: 不过时代不一样,现在学校太多,机会少,学历还是必要的门 07/10 11:05
41F:→ anr2: 票 07/10 11:05
42F:→ anr2: 只能说这就是人生,相同条件不同时间点,能否发展还是很难 07/10 11:08
43F:→ anr2: 说 07/10 11:08
好久不见,从毕业那天起就没见过了吧,15 年了。
其实还好,有些在学生时代就崭露头角被企业看上的还是不太需要学历。
只是那样就有不少运气成分,就是看上他的企业後来会不会倒,还有发展如何。
在网路和开放原始码社群积极活动的话,还是很有机会被看上。
当然其实能出国读 CS 和就业是最理想,台湾产业要升级还有很长的路要走。
花大把时间跟心力读 CS 结果就业後用不到,其实真的是很可惜的一件事。
44F:推 bnd0327: 认真文推 07/10 11:12
45F:推 senjor: 其实最怕的还是领域不够专,很困扰 Q_Q 07/10 11:21
当年的说法是资工重视专精,资管重视广度。
学习阶段不要太贪心去无限延伸兴趣,锁定一个目标专精的话,其实很稳。
不断学习理论和实作,一直反覆渡过各种天险,即使同是资工人也很难抢你饭碗。
资管就偏向云游四海增广阅历那种性质吧,什麽都要摸一点,会比较有帮助。
两边的发展模式差异很大,不要把它们搞混的话,累积的时间会变成资本。
虽然资工最终难免需要跨领域,但那都是先专精单一领域之後的事了。
你把一个领域钻研到精通,有时候走去隔壁领域只是回头推开曾经路过的一扇门。
所以一开始真的不要急着四处乱开门,那只会让你陷入复杂的迷宫之中。
46F:推 lovdkkkk: 推 07/10 11:27
47F:推 eggy1018: 推 07/10 11:48
48F:推 j6309355065: 推 07/10 12:19
49F:推 chongruei: 推个认真文 07/10 13:16
50F:推 bndan: 只想到写程式那是因为 软体的世界舞台已经被架起来了..在舞 07/10 14:47
51F:→ bndan: 台上秀的那些人 显性特性只会看到"写程式"... 07/10 14:48
52F:推 qwer911: 泪推资工过来人 教授随便讲 作业自己练 07/10 16:46
53F:推 CityRanger: 推 07/10 17:13
54F:推 sharku: 推 07/10 17:22
55F:推 peanut97: 我交大资工的,的确程式都是被要求自学为主 07/10 19:08
56F:推 ku399999: 这回答太强了 07/10 19:59
57F:推 LinuxKernel: 这篇正姐 07/10 19:59
58F:推 Eric0605: 推 07/10 20:01
59F:→ cha122977: 看完图表後觉得为什麽要修物理/化学/生物 07/10 20:09
60F:推 HowLeeHi: 推!其实我对资工为什麽要学化学生物有点觉得奇怪就是了 07/10 20:34
61F:→ HowLeeHi: 物理如果之後要往电子/电路方面走的话还算是有关系 07/10 20:34
62F:推 senjor: 生物其实在研究所这边有生物资讯的领域就是 07/10 20:57
63F:→ sarafciel: 物化生是三选一 算是第二个domain knowlegde吧 07/10 21:12
64F:→ sarafciel: 不过里面跟资工最有关的真的就只有物理啦XD 07/10 21:13
这个虽然让我有点纳闷是不是教育部硬塞的,但硬要冠个理由也不会没有啦。
我读科大的时候一年级也有个读完就用不上的电子物理。
要说是为硬体路线铺路,高职的电子学和数位电子学就比电子物理关系更密切。
高职电子学曾经也是非常紮实的课程,从 PN 接面材料性质开始讲,一路到运算放大器。
最後面还有 AM、FM 那些通讯相关的东西,全部都有教。
但是後来被教育部砍了後半部,取而代之是强塞了一堆国英数历史地理物理化学。
高职的电工数学也被废除,微分方程、复立叶、拉卜拉斯那些电路应用全部被砍光光。
拖到大学工数才摸,给不擅长教学的教授上,本来可以躺着过的工数都会变得超痛苦。
有没有教育学分的老师教学能力差距很大,高中职老师会专心钻研帮助学生理解的窍门。
但是专心在发论文升等和做计画赚钱的大学教授并不在意这些,什麽都会被他们教难。
工数和一些像是计组计结之类的重大科目常被排在大二,因为晚学压缩到学习时间很亏。
现在科大一年级的新生早就连偏微分都不会,电路实作因为实习课被借去上别的不熟,
也完全没学过运算放大器,矩阵也没学过,早高中生三年的优势早已荡然无存。
我也不知道教育部的官员到底脑袋在装什麽东西,不过听说大安高工还有坚持在上就是。
硬是在大一塞一门电子物理,感觉有点像是在补救那些脑残政策,结果更没意义。
普大那边会这样排课程,往好处想是将原本高中学习的基础收敛到专精领域的起点去。
但是不是真的有做到这个目的及发挥到这功能,我就不是很清楚了。
65F:推 Harlequin727: 推 07/10 21:44
66F:推 tkhan: 推,只有大一计概教过C,其他的课要写的程式用的到语言都 07/10 22:12
67F:→ tkhan: 是自己去学,老师只会叫你哪时要交作业.. 07/10 22:12
其实真要强迫老师发挥教学功能也不是不行,就 office hour 杀过去问到底。
当年我班上那个第一名毕业的原 8+9 同学就是那样问,无论如何就是问到懂为止。
毕竟人家回头念书就是为了找好工作养家养老婆小孩,没学会对他来说是攸关生存的。
那股求知的冲劲我在後来读的几间学校都没见过,很庆幸当年有这样的同学在班上。
值得留意的是,有些教授虽有风光学历跟资历,但是就是不擅长一对多教学。
如果变成一对一教学,他就有办法把你教好,office hour 真的要善加利用。
本来我都是一副你没在课堂上把我教会就是你欠我的态度,後来也没很坚持要课堂上懂。
如果 office hour 问过几次发现成效不错,课堂上我也不会那样问到像在妨碍教学进度。
因为学校理论大都只有教 1/2 到 1/3 本书,所以我也是有去补大硕。
当年台中大硕经理很够力,是全部科目由名师面授并亲自留下来解答问题。
後来几年才发现那是很奢侈的事,很多县市的学生只能上 TKB,不见得能问到本人。
黄子嘉过世以後我也不清楚後来去上课的人怎麽学离散的,当年真的是可以随便问到爽。
有老师可以问到爽其实是非常幸福的事,但无奈很多人当学生的时候不懂。
特别是数学的东西闷着头研究三周搞不定,老师是可以三分钟讲到让你懂,差别很大。
68F:推 yenru: 推 07/10 22:23
69F:→ xatier: 写 compiler 好辛苦捏 07/10 23:04
还好啦,学生时期的前置条件多了一点而已。
有兴趣的话那些都不是问题,没兴趣的话的确会过得很惨。
70F:推 sc113943: 我学校组语还是必修啊...超痛苦 07/10 23:36
学组语就是要先认识硬体本身,然後就只是一个口令一个动作,和当兵一样单纯。
你叫它做什麽,它就会做什麽,也不会私下帮你做一些额外多余的动作 (外部输入除外)。
上课用的平台太高阶的话,可以另外拿 8051 来练,单纯很多,顶多再加颗 555。
一些老 BIOS 工程师反而很爱组语,他们觉得 C 是很不受控制的东西。
然後他们可以把 C 写得很组语,相关产业的朋友给我看过,单 function 到底也常见。
对以写组语为业的,他们觉得程式不能有任何不透明的地方。
像是 C 写一行就会变成好多行组语的现象,他们会很没安全感,像脚踩不到地一样。
以前也有一段时间在帮这类朋友渡过这个难关,有很多感触跟心得。
71F:推 w199381: 看完受益良多 真心感谢认真文 07/11 00:19
72F:推 s12358972: 什麽?是学长!推 07/11 01:12
73F:推 jinmin88: 我记得还有修过数位讯号处理 07/11 01:32
74F:推 dannypsnl: 推 07/11 01:46
75F:推 HowLeeHi: 不过C算是最接近asm的高阶语言了(或者说中阶语言) 07/11 06:09
76F:推 childlike12: 资工科课程像电子科,是因为当时有矽导计划吧 07/11 06:16
我读资讯科的时间是 1997 年 6 月,矽导计划应该是我大三开始才听到的。
目前任职的这间公司是矽导计划催生出来的,成立的时间点是 2005 年。
77F:推 HowLeeHi: 题外话,高职资处科也搞得很像商经科会计科… 07/11 06:19
有听说过,当年有个去高应大读资管系後来自己开公司的朋友当年是资处科。
他的程式基础根本就是从国中开始自己打的,学校课程根本没帮到他什麽忙。
说起来时间过得真快,当年整天在网路上写东西乱搞的夭寿国中生已经快变中年人了。
78F:推 dapple: 只能推了y 07/11 10:15
79F:推 Ekmund: 离散那段很有感触啊...很多落入逻辑胡同的东西,龟个几天 07/11 11:50
80F:→ Ekmund: 都不一定有进展,但实际上往往也是前人走过的某段路,问一 07/11 11:50
81F:→ Ekmund: 下就有了。跟写程式一样,不一定每次都要自己重造轮子。 07/11 11:50
我想这就是本科生跟非本科生的最大差别吧,至少有整整四年可以问到爽。
资工人普遍又会读硕班,读到硕班发现自己不足之处还能再利用学校资源补回。
学分费砸下去就有整整一学期的时间有老师可以问,
何况有些学校在修满学分以後再修其它的科目是不用学分费的。
除了专业技能,我也利用了学校通识资源在学生生涯最後阶段把英文能力补上了。
虽然从小就靠儿童主日学教的简单英文勉强看懂 man pages,但意义一直都很模糊。
国中高职的英文虽然有改进阅读方面,不过高职英文终究是高职英文,太简单了。
即便学校刻意派高中部老师来上英文课,也增加英文课时数,但难度仍不及国三水准。
我在高中部待的那一年上英文课学到的东西,根本海放高职那三年英文课。
难句结构拆解的部分,我拖到博班才一边在外面补托福一边在学校修英文课补回来。
其实长大以後从基础重新开始学文法就没以前辛苦了,我也不知道以前我在干嘛。
自然语言虽然比程式语言复杂不少,但其实也就例外规则比较多而已。
虽然我不知道资策会在上什麽东西,但原 po 说他想靠资策会上课学,我就觉得不错。
尽管没有本科生有整整四年时间可以问,但也得知道要问,不懂自己权益的学生太少了。
自己报名去外面上课,只要拿出积极的态度去求教,也不是不能打趴混四年的学生。
82F:→ sarafciel: 回T大 微算机实验确实有写组语 不过专门的组语课还会讲 07/11 11:50
83F:→ sarafciel: calling convention跟大小端序之类的细节就是 07/11 11:51
这一大堆东西统称为 ABI (Application Binary Interface) 规格。
一般拿到一颗处理器,它的 ISA 文件或 programming guide 就会写明。
单一组语课大概最多就学到一个平台的 ABI 吧,换到其它平台就要有举一反三的能力。
这样看来大概只能从编译器的课程补回了吧,编译器再被拔掉那就比较头痛。
编译器课程大都会拿个像是 MIPS 或 ARM 的平台当目的平台,要输出那个平台的 ASM。
只看必修课的话最後的机会就是在这补了,毕竟 C 跟 ASM 沟通是颇重要没错。
不过现在很多人都靠 inline assembly 了,很少人会另外再写个纯组语 function。
84F:→ sarafciel: 尽管compiler越来越强 我还是觉得资工出身的要有高低阶 07/11 11:55
85F:→ sarafciel: 通贯的视野跟企图心 不然写底层的容易见树不见林 07/11 11:57
86F:→ sarafciel: 写高阶的容易见林不见树 07/11 11:57
那是当然,资工出身的在学 C 时就要会去看 compiler 输出的组语。
我也一直很强调要会分别手动操作编译器、组译器和连结器,搞懂那些在干嘛才叫会。
不过这些东西对大学教授而言似乎都是玩家范畴,不一定会想要教,还是得靠自己。
理想上修完计算机结构,起码写一行 C 要知道 datapath 上的讯号怎麽走了。
不过学校教授并不会做出这种要求,自我要求不足的话就会在中间出现知识断层。
现在工作上偶尔要去看 RTL simulation 的 waveform 来找未预期的 hazard 发生原因。
虽然说直接丢给 HW 看也可以,但是那边好像随时都在忙,与其去等不如靠自己。
毕竟跨部门的东西最好先厘清问题责任归属,免得最後被抓到是自己的问题丢脸。
某方面来说这类能力反而才是当年资工系成立的意义吧,也就是成为软硬体之间的桥梁。
就算不能亲手解决这类问题,起码也要有分析和厘清的能力,不然真的就是白读。
从小到大常听到很多人会开玩笑说看得懂机械码的才是真正的专家,
但其实机械码经过 decoder 分流以後在每条线的流向及 mux 的选径才是重点。
87F:推 stayfantasy: 推 版大能否分享debug与log日志使用的心得吗? 07/11 12:36
这题目太大了,穷举不知道可以写几本书。
88F:推 starzodiac: 是t老师耶 哇! 07/11 13:19
89F:推 pig0038: 感谢分享,推一个 07/11 13:38
90F:推 xatier: 推懂底层要整套编译组译连结都要摸一遍 不过小的觉得还是 07/11 15:21
91F:→ xatier: compiler 本身 middle end 到 backend 这段最有趣 XD 07/11 15:22
现在 compiler 领域的主要研究也是在这了,毕竟创造语言这档事比较没搞头。
middle end 和 back end 主要分别在做平台无关和平台相依的最佳化,
里面通通都是数学、图论和演算法,资工所考科的东西几乎都可以砸进去玩。
这领域算是极少数可以所学即所用的东西了,完全不会有大学白读的感觉。
目前 GCC 7.2 这两段加起来已经有 300 道左右的最佳化工序。
下 gcc -fdump-tree-all-details -daP -S 可以看到中间的完整流程输出,
参数里的大 P 可以在每道 assembly code 上印出对应的 back end 中间码,
那是一个叫 RTL (Register Transfer Language) 的东西,
去官网找 GCC Internals Manual 可以查到它要怎麽读。
这指令输出的 <数字>t.xxx 档就是 middle end 每一道最佳化的结果,
<数字>r.xxx 档就是 back end 每一道最佳化的结果,
xxx 是那道最佳化名称的简称,一般会和 -f<xxx> 选项相对应 (偶尔有例外),
man gcc 搜寻一下的话可以看到那道最佳化的作用大概是什麽。
实际上一些 GCC 的 power users 也会看这些东西,它不单是给做 GCC 的人看而已。
因为在 embedded system 上最佳化很受重视,看懂它就可以知道哪个步骤没做好。
所以 GCC 的 BugZilla 上会看到一些不是做 compiler 的在贴这个回报最佳化问题。
92F:推 Void956: 学长 推一个 C++ 第2母语 XD 07/11 19:29
93F:推 Void956: MSDN 是教我最多东西的老师 07/11 19:33
94F:→ Ekmund: 楼上 那是第一个 未来教最多的就是StackOverflow了 07/11 19:57
95F:推 Void956: 另外可以问一下 现在学那方面的东西比较好拿到较高的薪水 07/11 20:07
96F:→ Void956: 或者是那方面的产业? 07/11 20:07
薪水多寡方面我也没注意,但这科系出身一般都会喜欢去M之类的不是吗?
虽然需要点时日,但慢慢上去撑到 E8 或 E9 还是有可观的数字。
非本科系的话楼下推文说了。
97F:推 asleisureto: 现在喔,当然是学前端,板上一堆两年破百的前端工程 07/11 21:18
98F:→ asleisureto: 师 07/11 21:18
99F:推 senjor: 我都後悔没学前端了,幸好还来的及往全端走 (ry 07/11 22:38
100F:推 zonppp: 专业回文...推 07/12 11:50
101F:推 pan1234: 往事历历在目,我应该比你早一届,不过不同校,我是私大资工 07/13 10:52
102F:→ pan1234: 那时唯一有学程式语言的课是大一的计算机概论与大二组语 07/13 10:53
103F:→ pan1234: 大一上老师教pascal(应该没人听过),大一下老师教c++ 07/13 10:54
104F:→ pan1234: 因为要教OO,结果出社会大家都在写JAVA,C#,JS,全得再自学 07/13 10:55
105F:→ pan1234: 不过老师那时就讲得很白,他只是教逻辑思考,程式语言其次 07/13 10:56
106F:→ pan1234: 以前不懂,有点年纪与经验才明白逻辑思考才是最重要 07/13 10:57
107F:→ pan1234: 需要训练的 07/13 10:57
虽然那老师说的没错,只是我觉得他主要是拿来当成合理化自己不学新东西的藉口。
大学教授终究还是教师,吸取新知教育新一代的学生其实还是义务之一。
与其用一些已经用不太到的工具来教育学生,让学生一边学观念一边学新工具会更好。
108F:→ pan1234: 另外,我上大学前完全不会电脑与写程式,在大学也大多自学 07/13 10:58
109F:→ pan1234: 学得很辛苦,但是还好基本功够扎实,之後出社会能跟得上 07/13 10:59
110F:→ senjor: pascal怎麽会没人听过~ gwbasic才没人听过吧 (X 07/13 12:11
的确不可能没人听过,Delphi 本身就是 Object Pascal,养活当年不少五专生。
那个年代会点简单的 ADO 元件操作资料库和 Delphi 就能宅在家接案接到吃饱饱。
另一方面,Borland C++ Builder 的 VCL 元件库也是名噪一时 (以 Delphi 制成),
因为当时微软推出的 MFC 实在难学门槛高,导致也有不少人靠着 BCB 在谋生。
最低学历我看过中辍生,被公司用五万以上薪资雇用去用 BCB 开发资料库相关程式。
事实上问他们为什麽 sscanf() 里面变数左边要放 & 都说不出来,只是依样画葫芦抄。
虽然那个机会跟价码也是那个年代才有的事情,就好比 90 年代静态 HTML 每页几千元。
111F:推 k387259: 认真文 07/13 13:53
112F:推 HowLeeHi: gwbasic怎麽会没人听过,Ballerina,Julia才没人听过吧(误 07/13 15:40
113F:推 bcew: 推解说 07/13 16:12
114F:推 dogalan: 谢谢分享 07/13 17:37
115F:→ xatier: 然而小的只略懂 -mllvm -print-after-all QQ 07/14 17:03
还要加上 -mllvm -debug 才能看得比较清楚喔。
LLVM 的缺点就在於没像 GCC 那样拆一个一个档案给你看,
很多除错输出方面也都还不够成熟。
特别是 back end 那边没有一套统一的演算法框架,都是各目的平台各写各的,
然後也不是每个维护者都会细心去把过程里的重要资讯输出,
就会变成等同只有 -print-before-all 和 -print-after-all 的资讯可看。
GCC 常常是只要写一些 patterns 告诉 back end 说目的平台支援什麽样的指令,
然後演算法几乎都是各目的平台通用,只是演算法或演算法内的部分会根据特性做开关。
因此很少听过 GCC 的 back end 还需要另外特别写新 pass,
但是却常常会看到 LLVM 需要针对某个目的平台特别写一个全新的 pass。
加上 LLVM 是 BSD License 的缘故,某个目的平台就算做出什麽新 pass 也不用放回去。
所以目前放在官方档案库的 back end 一直都是相当於入门版的等级,
而所谓的标准版和专业版实质上都暗藏在各家公司内部没有放上去。
事实上以现在的框架来说,就算真的某个目的平台新写的 back end pass 被放上去了,
其它目的平台也仍然必须照着那个逻辑重写一个才行,无法直接使用它。
这也是当前 LLVM back end 的一大缺陷,只是大家都藏私没去戳到,所以很少人关注。
116F:推 louis117228: 推 07/14 22:26
117F:推 s12358972: 那个交大土博的老师...姓廖? 07/15 04:24
对啊,当年我们班上资工的主要课程几乎由他一手包办。
但不得不说他对我们这届放水放得凶,可能他觉得自己也有没教好的责任在吧。
毕竟绝大多数主科由他一人扛下太不合理了,他也不可能专长那麽多科目。
具体来说是第六届进来以後师资才有明确改善,但学生素质当时已经不太行了。
当年长亿集团我一入学就是快死的状态,导致那间私校完全没有背後财团支援。
那批新进的本科系背景教授现在也没几个在了,毕竟薪资和福利实在留不住人。
後来王永庆技术学院升格,下面的统一化工科大又虎视眈眈拼命砸钱,朝阳也备受威胁。
不过刚刚看了一下统一化工科大的资工还是没超过朝阳,但王永庆科大就超过去了。
※ 编辑: tinlans (122.116.164.123), 07/15/2018 08:21:34
118F:推 ykjiang: 我电机转资工的,程式确实自学的,要人教几乎就没天份的 07/17 10:38
119F:推 dog3810: 推优质好文 09/08 13:09