電腦科學與技術(CS)專業學生該如何系統地自學?

時間 2021-05-06 15:18:47

1樓:十尾狐字尾炎

簡而言之,用我的老師話說,不要看中中國人寫得教材(一般沒外中國人好,因為外國程式設計比我們久還更新比學校快),多遍程(打打cf一類)。軟工的只能教你程式設計方面系統地自學。

2樓:Maples7

我整理的乙個我認為在各個知識體系方向上質量較高、沒有與工業實踐脫軌(與國內絕大部分的本科教育課相對應的質量而言)且還算全面的資源集合(主要是 MOOC 和書籍),也會持續維護和修訂以保證這個列表與時俱進的高質量。

3樓:局關THU

翻了下CMU這邊CS本科生的培養方案,跟國內CS本科培養方案還是有些不一樣的,具體如下:

(大部分CMU的課程都有自己的網頁,想要自學的小夥伴可以去翻翻。)

大一:第乙個學期主要就是微積分和線代這種數學課,再加上入門的程式設計課(

15-122: Principles of Imperative Computation (Fall 2020)

,用的是C語言)。第二個學期依舊還有微積分,再加上高階的程式設計課(15-150 Functional Programming),以及計算機系統課程(

15-213: Introduction to Computer Systems

CMU CS 大一課程

大二:大二這一年必修的主要是演算法和資料結構的高階課程(

15-210: Parallel and Sequential Data Structures and Algorithms

),概率統計課程,然後還有一門理論計算機的概論。從第二年開始選修就佔了大頭,可以根據自己的興趣,選擇計算機子領域的課程,比如AI、CG、security、HCI、Database、OS、計算生物、軟體工程等等。

CMU CS 大二課程

大三:第三年的必修課中任然繼續有一節演算法類課程(

15-451: Algorithm Design and Analysis

),然後就是要求修一門Logics & Languages類課程,一門AI類課程(AI、ML、CV、NLP等等),以及一門Systems類課程(作業系統、分布式系統、計算機網路等等)。

CMU CS 大三課程

大四:最後一年就全部是選修課啦~

課程分類列表如下:

必修類CS課

15-128: Freshman Immigration Course*

15-122: Principles of Imperative Computation**

15-150: Principles of Functional Programming

15-151: Mathematical Foundations for Computer Science***

15-210: Parallel and Sequential Data Structures and Algorithms

15-213: Introduction to Computer Systems

15-251: Great Ideas in Theoretical Computer Science

15-451: Algorithm Design and Analysis

AI類課程(選修其中一門):

10-315: Introduction to Machine Learning (10-601 is no longer allowed)

11-411: Natural Language Processing

15-381: Artificial Intelligence: Representation and Problem Solving

15-386: Neural Computation

16-384: Robot Kinematics and Dynamics

16-385: Computer Vision

16-385 Computer Vision, Spring 2020

系統類課程(選修其中一門):

15-410: Operating System Design and Implementation

15-411: Compiler Design

15-418: Parallel Computer Architecture and Programming

15-440: Distributed Systems

15-441: Computer Networks

15-445: Database Systems

Domains Elective類課程(選修其中一門):

02-251: Great Ideas in Computational Biology

05-391: Designing Human-Centered Software

15-322: Introduction to Computer Music

15-330: Introduction to Computer Security

15-455: Undergraduate Computational Complexity

15-462: Computer Graphics

17-313: Foundations of Software Engineering

寫作與溝通類課程(選修其中一門):

15-300 Research and Innovation in Computer Science

17-200 Ethics and Policy Issues in Computing

76-270 Writing for the Professions

語言與邏輯類課程(選修其中一門):

15-312: Foundations of Programming Languages

15-314: Programming Language Semantics

15-316: Software Foundations of Security and Privacy

15-317: Constructive Logic

15-414: Bug Catching: Automated Program Verification and Testing

15-424: Logical Foundations of Cyber-Physical Systems

17-355: Program Analysis

80-413: Category Theory

4樓:

我寫的專欄中,剛寫了一篇文章試圖回答這個問題。

矽谷IT胖子:2-10 談CS的自學

整體思路是快速反應:隨便找乙個話題就開始進入,很快用程式證明,然後理解該話題。這樣不斷積累下來,技術方面開始慢慢成長起來。

我後面還會寫這個話題。

5樓:蘇恩chien

推薦 @金旭亮 金老師的相關live

6樓:

好老的問題。嘗試給出一點原則,希望對後來者有點用。可能在大四和工作兩年之內是會有所體會的。

1、多實踐。給自己找乙個起點,比如單機程式,或者linux。

2、學習過程不可能是一帆風順的。套用一句很俗的話:前途是光明的,道路是曲折的。入門階段,特別折磨人,可以淘汰90%左右。

3、理論與實踐相結合。結合方式,相互交叉纏繞,象DNA鏈一樣。

4、實踐之外,多看書,多思考。一門學科的書,1+1+N本,1本入門級(200頁多一點即可),1本經典教材,N本參考書。

5、即使入門之後,也還是會感覺到學那麼長的時間,還是什麼都不能。這是第2個難關。這一關,又會淘汰90%左右。

6、入門之後,一定要做出點什麼東西,這是安身立命之本,不論是考研還是工作,受益無窮。大部分本科生,最後是什麼也不會,也做不了什麼東西的。

7、一本書,不要指望一次能讀懂,要反覆翻閱。第一次,粗通大略,後面每次都象拼圖一樣,這裡補,那裡補。

8、沒有什麼系統的自學。不信,過幾年你自己再擬乙個路線圖來看看。跟打遊戲差不多,每個人都是各自開荒。

7樓:

如果題主不在乎獎學金之類的東西的話,全部課都可以逃,只要不掛就行,,

要自學得先找準方向,想好自己要幹什麼,然後才能想現在要幹什麼,,

既然是計算機專業的,51cto應該知道吧,多去上面逛逛,找點感興趣的課程多看看

8樓:

一點從職業角度的看法:

語言不是最重要的,先多關注行業內方向,找到自己想做的方向,要麼前端,後端,遊戲,通訊。

找準乙個方向之後,就可以有針對性的學習。在選擇方向的時候,可以找一些前輩或者業內大牛的參考。

9樓:huan zhang

1.學好英語

2.刷完伯克利61A 61B 61C,推薦再看看龍書3.刷完leetcode

到這步差不多也知道要學什麼更細的方向了

Ps:程式設計實踐及其重要,每乙個知識點都一定要程式設計實現一下,可以動手寫乙個作業系統、編譯器之類的對整個計算機體系結構理解會加深很多,千萬不要只看書

10樓:青雲

GitHub - open-source-society/computer-science: Path to a free self-taught education in Computer Science! 從數學到UX Designer, 都是各大MOOC平台上的免費課程

11樓:

我想這張圖應該對題主有用:

這是網易公開課的學習路徑圖,對哪個感興趣就去學吧,計算機的很多知識都是相互關聯的,不用糾結切入點,隨便選乙個,最後都能連成網。

電腦科學與技術專業是否難學?

不難學,但計算機一直在發展,需要終身學習,這點是困難的,畢竟有些專業是越老越吃香,但計算機越老越難以跟上潮流 PS 老師裡有以前學物理 or 數學的,他們老是說物理 數學比計算機難多了。 計算機的課程本身並不難,本科的都是基礎課程。但是如果想要學好,需要大量的練習,比如程式設計。計算機的發展速度很快...

電腦科學與技術專業,逐漸發現對計算機程式設計提不起興趣,每天也在認真上課,但感覺啥也沒學到,怎麼辦

Zuuu 聽你的描述感覺你是太焦慮了,焦慮會導致難以集中注意力,最終導致思維水平下降。睡飽覺,放鬆一點。計算機專業當下非常熱門,畢竟來錢快,人才自然往這個領域聚集了,競爭壓力大。簡單判斷自己在這行的前景怎樣,可以看看演算法和資料結構學怎麼樣,數學學怎麼樣,如果感覺沒什麼壓力,後面還是有發展潛力。如果...

計算機類專業 電腦科學與技術,軟體工程,大資料等 那個比較好

藍羽曉夢 以上幾個專業都不錯,而且都是科班出身,出來其實差別不會很大。前端 後端 全棧 後端 大資料 後端 搜尋 等等,所以選任意乙個都不會差。 一懶眾裳小 都不好,某中游211軟體工程在讀。到處都在說程式設計師35失業禿頂。估計都沒有女的願意和程式設計師結婚。再說了,在地級市掙不了多少錢,只有在一...