計算機專業(yè)的歷程
軟件專業(yè)的大學四年應該如何安排?
我認為軟件專業(yè)的要求:精一門語言、會多門語言
本科生:
大一
上半學期(編程語言入門期)
我們根據(jù)TIOBE排行榜上的順序給大家推薦免費的MOOC課程。
網(wǎng)址:https://www.icourse163.org/
1. Python
Python作為當下最流行的編程語言,首當其沖就給大家安利上。
(1) Python語言程序設計(北京理工大學)
(2) Python程序設計(浙江大學)
(3) Python語言基礎與應用(北京大學)
(三選一即可,不必都選)
2. C/C++
計算機專業(yè)必會C語言,不會C語言都說不過去,其中北京大學的程序設計與算法(一)C語言程序設計涉及到C++的一部分知識點,要注意。
(1) 程序設計入門——C語言程序設計(浙江大學)
(2) 程序設計與算法(一)C語言程序設計(北京大學)
(二選一即可,不必都選)
3. Java
Java面向零基礎的課不是很多,我推薦:
零基礎學Java語言(浙江大學)
4. SQL(結(jié)構(gòu)化查詢語言)
結(jié)構(gòu)化查詢語言嚴格意義上并不算編程語言,但是我們還是要學會。這門課我在MOOC上找了很久也沒有找到非常合適的課程,因此我建議還是線下學習該課程比較合適。
?
下半學期(編程語言進階期)
1. Python
(1) Python網(wǎng)絡爬蟲與信息提?。ū本├砉ご髮W)
(2) Python數(shù)據(jù)分析與展示(北京理工大學)
(3) Python科學計算三維可視化(北京理工大學)
(如果決定往這個方向發(fā)展,則最好全選,否則就選擇“(2) 數(shù)據(jù)分析與展示(北京理工大學)”的課程即可。畢竟網(wǎng)絡爬蟲弄不好是要吃國家飯的,科學計算三維可視化用的包不容易找到,當然不選也可以)
2. C/C++
(1) C語言程序設計進階(浙江大學)
(2) 程序設計與算法(三)C++面向?qū)ο蟪绦蛟O計(北京大學)
(二選一即可,不過上學期跟了哪個老師,這學期最好還是跟哪個老師,這樣有利于自己的學習節(jié)奏)
3. Java
面向?qū)ο蟪绦蛟O計——Java語言(浙江大學)
4. Web前端開發(fā)和Linux操作系統(tǒng)
這個建議跟著自己學校的老師走。這是基礎課,不學不行!
?
大二
上半學期(比較煎熬的時期)
算法與數(shù)據(jù)結(jié)構(gòu)是編程當中比較惡心的一塊,很多人覺得這一塊很難,我們看一看哪些課程比較適合去學習。
1. Python
數(shù)據(jù)結(jié)構(gòu)與算法(Python版)(北京大學)
(鐵了心的往Python方向發(fā)展的,又想學數(shù)據(jù)結(jié)構(gòu)與算法就選這個)
2. 合并的版本(C語言)
數(shù)據(jù)結(jié)構(gòu)與算法(北京大學)
(不想往Python語言發(fā)展建議去學這門)
3. 分開版本(C語言)
數(shù)據(jù)結(jié)構(gòu)(浙江大學)
程序設計與算法(二)算法基礎(北京大學)
(想學的細一點可以學這兩門)
(三選一即可)
由于只有一門課(頂三門),在加一門比較簡單的專業(yè)課比較合理
計算機英語
在工作(職場)當中也許會用到
這門課學不學全憑自己的態(tài)度,如果認為自己不想學英語的,可以不學。
IT行業(yè)職場英語(大連理工大學)
?
下半學期(最煎熬的時期)至大三上學期
Java Web、PHP、Android、小程序設計等和自己老師學,沒什么推薦課程
計算機操作系統(tǒng)(南京大學)
計算機網(wǎng)絡(哈爾濱工業(yè)大學)
計算機組成原理(電子科技大學)或計算機組成原理(華中科技大學)(二選一)
軟件工程(北京大學)
(這四門理論課程不必在一個學期內(nèi)學完,但要求必須在大三上學期學完)
?
大三下學期
1. Python方向:人工智能、機器學習、計算機視覺等
2. C:嵌入式開發(fā)、底層開發(fā)、軟件開發(fā)等
3. Java:網(wǎng)頁開發(fā)、軟件開發(fā)等
?
其他課程(補充學習)
離散數(shù)學概論(北京大學):該課程難度較低,計算機的專業(yè)課
線性代數(shù)
流程如下:
