為什么稱之為“周一學(xué)習(xí)計(jì)劃”趟济,因?yàn)橐粋€星期的工作日就是從周一開始的呀,因此周一是美好的(勞資根本不想上班)送爸,是的铛嘱,一日之計(jì)在于晨暖释,一周計(jì)劃在于周一,卓同學(xué)的24小時自習(xí)教室最近也發(fā)出一條通告:大致意思就是最近大家有點(diǎn)懈怠了啊墨吓,所以今天開始2017.8.21每人都要總結(jié)自己的學(xué)習(xí)成果球匕。
以下來自知乎的一個提問:《作為計(jì)算機(jī)專業(yè)學(xué)生,最應(yīng)該學(xué)習(xí)的課程前五位是什么帖烘?不論當(dāng)前大學(xué)是否開設(shè)這些課程亮曹。》其中一位網(wǎng)友的回答秘症。
作者:知乎用戶
鏈接:https://www.zhihu.com/question/19628851/answer/12452793
來源:知乎
著作權(quán)歸作者所有照卦。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處乡摹。
計(jì)算機(jī)專業(yè)概念有點(diǎn)大窄瘟。我本人畢業(yè)于國防科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),個人覺得就計(jì)算機(jī)科學(xué)與技術(shù)(CS)專業(yè)而言趟卸,以下這些是必修的:
1、計(jì)算機(jī)組成原理(包括先修課程“數(shù)字邏輯與數(shù)字系統(tǒng)”氏义,簡稱“數(shù)電”):這是一門硬件基礎(chǔ)課锄列,學(xué)完后你能清楚的知道如何從用最簡單的數(shù)字元件,像搭積木一樣構(gòu)成整個計(jì)算機(jī)系統(tǒng)惯悠,那就算及格了邻邮。 一門名為計(jì)算機(jī)體系結(jié)構(gòu)是本課程的擴(kuò)充包,對于了解近代計(jì)算機(jī)結(jié)構(gòu)體系當(dāng)然是必要的克婶,但由于這里討論的是Top 5筒严,因此我認(rèn)為計(jì)算機(jī)組成原理更為基礎(chǔ)。
2014-07-15:在評論里有人讓我推薦書目情萤,我個人比較喜歡這本 Computer Systems - A Programer's Perspective (2rd Edition)鸭蛙。中文譯本是《深入理解計(jì)算機(jī)系統(tǒng)》。在之前寫的筋岛,本文最后的補(bǔ)充閱讀中我也提過這本書娶视。
2、線性代數(shù)睁宰,概率與統(tǒng)計(jì)和離散數(shù)學(xué):要知道肪获,凡是能稱之為“科學(xué)”的專業(yè),就必須有一定的數(shù)學(xué)功底柒傻,否則難以稱作“科學(xué)”孝赫。這三門課我覺得是本科時期最重要的三門數(shù)學(xué)課,比高等數(shù)學(xué)重要红符。如果你想在計(jì)算機(jī)科學(xué)的道路上走遠(yuǎn)點(diǎn)青柄,那這三門可是必修的伐债。
3、MIT開設(shè)的《Introduction To algorithm》刹前,中文版叫《算法導(dǎo)論》:我覺得應(yīng)該學(xué)習(xí)它而不是國內(nèi)習(xí)慣開設(shè)的《數(shù)據(jù)結(jié)構(gòu)》泳赋。數(shù)據(jù)結(jié)構(gòu)僅僅是算法的一部分,國內(nèi)的數(shù)據(jù)結(jié)構(gòu)課程回避了很多本質(zhì)的東西喇喉,僅僅是對一些常見的數(shù)據(jù)結(jié)構(gòu)的羅列祖今,學(xué)起來總有些不痛不癢的感覺〖鸺迹《Introduction To algorithm》雖然有些章節(jié)夾雜著很多很讓人討厭的“數(shù)學(xué)”千诬,但卻能從本質(zhì)上帶你領(lǐng)略這門十分必要而且有趣兒的課。
4膏斤、操作系統(tǒng)與編譯原理:操作系統(tǒng)可以說是《算法導(dǎo)論》的實(shí)驗(yàn)課徐绑,最好能在學(xué)習(xí)期間自己實(shí)現(xiàn)一個小型的操作系統(tǒng),或者操作系統(tǒng)各分系統(tǒng)的Demo莫辨。編譯原理可能是普遍本科生覺得難的一門課傲茄,但是作為CS本科生或者未來的軟件科學(xué)家,這是基礎(chǔ)中的基礎(chǔ)沮榜,學(xué)完之后所有的語言在你看來應(yīng)該沒有太大的區(qū)別盘榨,這門課應(yīng)該是離散數(shù)學(xué)+算法導(dǎo)論的實(shí)驗(yàn)課。最好能在學(xué)習(xí)期間自己實(shí)現(xiàn)一個小型的編譯器蟆融,語言最好能自創(chuàng)草巡,或者是某個已有的你喜歡的語言的基本子集。5型酥、掌握一門常用的編程語言和編程技術(shù):能了解你用過的所有的程序內(nèi)部大致是怎樣的山憨,能用你熟悉的語言編寫大部分的程序,至少不能是對任何一個程序滿頭霧水弥喉。以上這些不難做到郁竟,我覺得是基礎(chǔ)中的基礎(chǔ),我固執(zhí)地以為档桃,不能掌握他們就不應(yīng)該獲得CS學(xué)士學(xué)位枪孩。
補(bǔ)充閱讀:
在評論中有位朋友這么說道:
一看就是典型科班好學(xué)生。人生很短藻肄,學(xué)自己要用到的就好蔑舞。多花時間在2、3嘹屯、5是對的攻询,甚至任選其二就能讓你受益良多、樂在其中州弟。 1和4所起到的作用钧栖,比起它們的意義低零,更多的是讓一部分學(xué)生從一開始就對計(jì)算機(jī)產(chǎn)生失望和絕望,是抹殺學(xué)生本來的興趣的兇手拯杠√蜕簦回到問題本身,既然是“應(yīng)該學(xué)習(xí)”潭陪,1雄妥、4不該放在里面,即使不學(xué)它們依溯,我想在計(jì)算機(jī)專業(yè)的大多數(shù)領(lǐng)域是做得下去的老厌。
我想對此做個回應(yīng):
首先,我自認(rèn)為不是典型的中國式的“典型科班好學(xué)生”黎炉。這里列出的Top 5不是為了成為“典型科班好學(xué)生”枝秤,因?yàn)楣鈱W(xué)好這5門絕不夠“好”;更不是為了“在計(jì)算機(jī)領(lǐng)域做得下去”慷嗜,我相信在某個計(jì)算機(jī)領(lǐng)域淀弹,比如作為Microsoft Office的金牌培訓(xùn)講師,只要精通Office就能干得很棒庆械。
這里列出的Top 5是作為一個計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)生該有的知識儲備垦页,是這個專業(yè)的根基。如果你對這個專業(yè)真正有興趣干奢,并且熱愛它,那我認(rèn)為學(xué)習(xí)這里列出的Top 5會是個不錯的選擇盏袄。
當(dāng)然忿峻,對于一個計(jì)算機(jī)世界的從業(yè)人員,學(xué)好它們也會收益良多辕羽。比如對于程序員來說逛尚,操作系統(tǒng)與編譯原理這門課能夠讓你對你的程序如何在計(jì)算機(jī)里出生,運(yùn)行刁愿,死亡有個好的認(rèn)識绰寞,在我的編程經(jīng)驗(yàn)中,我覺得這種認(rèn)識讓我收益良多铣口。很多朋友也許知道有一本經(jīng)典的書籍叫“Computer Systems:A Programer's Perspective”滤钱,里面的基礎(chǔ)就是來源于操作系統(tǒng)與編譯原理。還是那句話脑题,如果你喜歡CS件缸,這5門課是必須的,要是在這5門課上感到失望或者絕望叔遂,我想你該考慮換個專業(yè)了他炊。
因?yàn)樽罱袑W(xué)習(xí)一點(diǎn)iOS逆向(做逆向當(dāng)然正向也要玩的6才行??)争剿,發(fā)現(xiàn)涉及到了好多計(jì)算機(jī)專業(yè)的相關(guān)課程,比如C語言痊末,數(shù)據(jù)結(jié)構(gòu)與算法蚕苇,匯編,反匯編凿叠,操作系統(tǒng)涩笤,編譯原理,離散數(shù)學(xué)幔嫂,Linux等等辆它,而且我發(fā)現(xiàn)在iOS這個操作系統(tǒng)下學(xué)習(xí),有時候如果不了解一點(diǎn)計(jì)算基礎(chǔ)課程有點(diǎn)丟軟件工程師的臉履恩,想要深入學(xué)習(xí)真的很難锰茉,所以我有一個夢想,聞道有先后切心,術(shù)業(yè)有專攻飒筑,我想開始,作為21世紀(jì)的有志青年绽昏,為了不被未來的人工智能時代淘汰协屡,還是需要好好學(xué)習(xí)啊,哇咔咔全谤。
具體的課表和資料我參照網(wǎng)易云課堂:http://study.163.com/curricula/cs.htm
以及其他可能的資料大家也推薦小弟一下肤晓,最近在看的是中國大學(xué)MOOC的《計(jì)算機(jī)系統(tǒng)基礎(chǔ)(一):程序的表示、轉(zhuǎn)換與鏈接》认然,算是后續(xù)的計(jì)算機(jī)組成與設(shè)計(jì)补憾,操作系統(tǒng),編譯原理卷员,計(jì)算機(jī)體系結(jié)構(gòu)等的基礎(chǔ)課程吧盈匾。