本文針對少年班大學19級大專生,概括描述了交大計算機的課程設置,培養(yǎng)目標和一些關(guān)于計算機科學的認識。
序言
(這節(jié)原本想自己寫,而且挪到知乎上發(fā)覺源神把我想說的、會的不會的都說了,所以在下邊的小節(jié)直接引用了…)
一些個人理解,僅供參考:
其實你會發(fā)覺,數(shù)理等式也不講數(shù)值方式,還是要看點數(shù)值估算的課程和教材(躺作為計算機系同事,應當在課程學習中漸漸把握一套自己的「問題解決方式」出現(xiàn)問題可以定位出現(xiàn)在哪一層,自己應當補充何種知識可以從整體上剖析設計計算機系統(tǒng)熟練把握對應領域的幾門程序設計語言認識到各類解決方案的缺陷Eg.2.Unix/Linuxvs?Eg.3.計算機應當自頂向上學習還是自底向下學習?熟練找尋而且閱讀文檔辨證的看待觀點和技術(shù)「計算機和其它學科的不同」
下邊的文字引用自源神在知乎的答案。
勸退部份請辨證看待:
計算機科學和數(shù)學這種學科是不同的。
學習數(shù)學物理時你們應當感遭到,越新越前沿的理論難度通常越大,例如歷史上的一些理論層次是:重力原理(重力和質(zhì)量成反比),杠桿原理,標準牛頓熱學,電磁學,理論熱學,電動熱學,狹義相對論&量子熱學,廣義相對論&量子電動熱學,電弱統(tǒng)一理論物理學分支知乎,標準模型,量子色動力學,超弦理論,M理論等等,層次不斷提升,難度不斷降低,確實不應當讓中學生從最先進的入手。
而且計算機領域有所不同。計算機先驅(qū)們的能力出乎想像——靠在紙帶上打孔寫程序,這在現(xiàn)今都是很難的事情。但是后來隨著估算能力的提高,有了各類中級語言,以至于C語言編程弄成了全校通修的課程。近來下來的語言用于此次引力波偵測數(shù)據(jù)剖析,然而交大中學生基本上幾周才能學個大約,可見難度并不大。另外最知名的幾個事例是CISC和RISC指令集構(gòu)架。Intel的指令集體系是CISC的,十分復雜。并且后來發(fā)覺在統(tǒng)計學上簡單的RISC更有利于性能調(diào)優(yōu),于是有了ARM等構(gòu)架,而且逼得Intel在內(nèi)部實現(xiàn)了RISC微碼來提高自己的性能。現(xiàn)今計算機教學上也是從RISC入手。
計算機學科之所以還能如此做,是由于計算機是少有的人造的并且十分成功的東西。因為人造特點,人們可以隨時按照估算力和需求改革思想--計算機領域幾乎就能具象和虛擬任何東西,擬定任何規(guī)則(不僅和),而自然科學因為遭到定理和實驗條件的限制不能如此靈活,這也是為何計算機相關(guān)領域幾乎天天創(chuàng)新,基本上一個產(chǎn)品發(fā)布會就有一個創(chuàng)新,但是這種創(chuàng)新很快改變了所有人的生活,不到10年而已。可見計算機大學中學生接觸前沿是應當?shù)模彩强尚械模矣兄趧?chuàng)新。可惜我們大多數(shù)課程仍然是大綱方式或則教條方式——自出現(xiàn)就極少變過。
「極端還原論」
里面的一些部份有不嚴密之處,這兒補充論證一下。針對的問題是交叉學科。目前中學交叉學科的意思大概是和數(shù)學交叉。這個我當初指責過,也問過某人,得到的回答大意是“物理是自然科學的基礎,所以應當從數(shù)學著手,這樣基礎強了前面都不是問題。”我不證實物理基礎強了可以提高能力--由于物理直接作用于學科;并且數(shù)學基礎強了就一定致使下層建筑比他人好這點我是反對的。這個是典型的(極端)還原論思想。
舉個事例,例如你們做過PPT對吧?并且PPT是哪些原理呢?它是一個程序,程序響應用戶的操作,調(diào)用操作系統(tǒng)功能完成任務,操作系統(tǒng)在硬件體系之上,硬件體系又受數(shù)字電路支持,數(shù)字電路又受工藝支持,工藝又有它的數(shù)學原理,可能最終要扯到量子熱學。根據(jù)(相對極端的)還原論思想,你不懂操作系統(tǒng),不懂硬件體系結(jié)構(gòu),不懂數(shù)字電路,不懂固件工藝,不懂量子熱學,PPT技術(shù)是不能有大的突破的。所以說要做PPT前要先學CS的整套課程,之后再學物理工藝,之后再學整套數(shù)學,這樣制做PPT才沖勁足。但是我大多都學過,為何PPT卻做不過一個都不曉得自己用的是還是8的美工師啊?
「學習計算機的目標」
計算機大學學習多少門課程倒不是最重要的,像科大ACM班這位沒學過數(shù)字邏輯的朋友,經(jīng)過兩個月的適應,就在我們的FPGA研究項目里作出了重要貢獻。重要的是養(yǎng)成一種計算機的思維方法,也就是怎樣用計算機解決一個實際問題。包括怎樣用搜索引擎,把握一門稱手的編程語言,出了bug以后怎么有條不紊的找出rootcause。
如今交大的課程對“計算機思維”的培養(yǎng)還很缺乏,有計算機思維的朋友們多數(shù)是在學院之前就早已有不錯的基礎了,也就是學院本身沒有教會更多的人。例如說有一些數(shù)據(jù)要處理,有計算機思維的人會自然想到先去搜一下有沒有現(xiàn)成的工具,不行的話就自己寫個腳本。沒有計算機思維的人,即便一個個手工處理。她們也曉得腳本更快,而且她們對寫程序解決這個問題沒有信心,寫的過程中出了問題也沒有信心解決,所以才會逃避寫程序。
計算機專業(yè)結(jié)業(yè)的一個標志,應當是能用并且樂意用計算機來解決重復性、程序性的問題。計算機的各類專業(yè)課物理學分支知乎,在講解計算機基礎理論的時侯應該緊密結(jié)合生活實際,讓中學生真正用上這種知識,例如處理實驗數(shù)據(jù),辨識驗證碼,破解軟件,刷課,建個人主頁。具體的技術(shù)倒是次要的,主要是要構(gòu)建起查資料、寫程序、調(diào)bug的習慣,對這個流程不倍感焦慮。
和其它院/系的不同
首先,計算機大學只有一個系,(011)「計算機科學與技術(shù)系」。
計院vs信院
下邊關(guān)于信院的專業(yè)剖析是我看著課表瞎寫的,僅供參考
信院一共有「電子信息工程」、「自動化」、「信息安全」、「電子科學與技術(shù)」幾個系。
計院vs其它院
不會有人搞不清楚計院和其它院的區(qū)別吧
假如有,請問cwk
交大的計算機課程設置
請參見從教務系統(tǒng)導入的2017級培養(yǎng)方案的PDF。
2019級的培養(yǎng)計劃可能與2017級略有不同(例如,我們沒有上過「計算機概論」)
所以,以下信息僅供參考,具體情況請以教學秘書和教務處的說法為準。
計院都學哪些-
沒上過的基本上是按我個人理解寫的,233
方向課(大三/大四),以下為據(jù)說的,詳情請參閱說課社區(qū):
Extra(H課):
第一年的不同
在大一上和大一下,計院培養(yǎng)計劃和少院的不同之處如下所示:
熱學與力學&電磁學Cvs熱學力學電磁學A程序設計Ivs計算機程序設計程序設計II(大一下)在有些假期(暑假高中期)開,然而有些中學期就不開(例如這個暑假)代數(shù)結(jié)構(gòu)(大一下)
據(jù)朋友說,教秘說過「只要第一年完整按少院課程修讀,程序設計II和代數(shù)結(jié)構(gòu)就不用修了」。
然而,請朋友們開學自己驗證此事的真假,以及新政有無變化。(我發(fā)短信教秘沒理我)
計院英才班?
就是都學H課而已啦。一共有三門H課:
之后例如收錢之類的福利應當都差不多吧…(不是英才班的菜雞路過)
不僅上課,就能搞點啥Extra/Q&A計院大專以后都干哪些讀研(出國/國外)
計算機讀研的方向(包括但不限于):
建議有相應準備的早進實驗室(例如大二),自學一點之后去找對應的實驗室老師談談,去組里體驗一下研究生們都在干啥。
CS應屆生平均薪資
我并不比知乎多曉得多少…
可以直接知乎「計算機平均薪資」就好了。
交大CS美國申請情況
請參考中關(guān)于CS的部份。
同時,CS的飛越指南也可以在里面下載。
須要注意的是,這個頁面可能要求用交大的統(tǒng)一用戶認證系統(tǒng)登入。
若果還沒有統(tǒng)一用戶認證的賬號的話,諸位親稍安毋躁,到開學就可以登入啦。
哪些編程語言最好?
出門右轉(zhuǎn)知乎不謝~
我曉得,你們可能會問在學院階段熟練把握哪些比較重要——這個因人而異。
在計院的最低要求:
(要不然完不成課程實驗的)
在這個基礎上,我建議學一門OOP語言和FP語言。
(做開發(fā)的話,肯定是要針對性的學語言和框架)
其它建議?沒了,想到再添加…
