如果想系統地學習計算機專業課程,看斯坦福大學計算機科學類公開課可以嗎?具體學習的順序應該是怎樣的?

本人是非計算機學院的學生,想好好學下計算機類課程,而現在也有斯坦福公開課這個很好的平台,想通過其進行學習,希望得到指導


如果是想以專業學生的方式學習,光看在線課程是不夠的,因為在線課程基本上只有講義,而計算機有是一個特別需要實際操作的專業,看看視頻完全不解決問題。很多課程在線下有學校為課程開發的作業,比如本科時候有一節入門的計算機系統課,一學期一共有6次作業,每個都是有助教寫好的作業框架,然後學生完成。這些練習其實是相當主要的內容,以至於很多課程把期末打分全都基於作業完成度。不過很多人不是CS科班也一樣可以寫好程序。所以不知道樓主是像學寫程序,還是真的想把計算機當成一個學科來學習。

簡單介紹一下科班CS的體系,一般都是按這個流程走的。我沒有引用具體課程的名字,因為每個學校的叫法都不太一樣,但是內容大同小異。以下只提到了計算機的專業課,但是一般學校都是要求同時修一些其他專業的課程,包括數學,科學和寫作一類。

大一

基本編程課:講一講變數,條件判斷,循環,數組,排序一類的基礎內容,作為完全沒編程基礎的人上的。這類課程一般會通過一些有趣的實際問題來激發學生的興趣。

函數編程課程:讓學生熟悉函數式編程並能證明一些相關屬性。

大二

系統編程入門:介紹一些比較底層的系統原理,比如內存,緩存,位運算,程序優化,多線程等等。屬於CS的一道坎,過了你就可以繼續學CS了,過不了還是洗洗睡吧。

計算和數學理論課:內容很雜的數學加理論課,包括排列組合,自動機,加密,多項式,概率,圖論等等。

數據結構和演算法:講一些常用的數據結構和演算法。

大三

高級演算法課:也是講演算法,但是會涉及到很多演算法分析的內容。

操作系統:操作系統的原理和實現,一般會實際實現一個操作系統,內容涉及虛擬內存,驅動,進程調度等等。

邏輯課:程序語言相關的理論課。

這個階段就有大量選修課可以上,包括計算機圖形,程序語言,系統,機器學習,自然語言,機器人,視覺,網路等等。

大四

繼續選修。

每節課基一般都有大量的作業作為練習,因為實際操作非常非常重要。

以上是CS科班的課程,但是如果樓主是想學寫程序,遠不用這麼費勁。CS很多課程的設計其實是在讓學生修鍊內功,以至於可以處理大量不同類型的問題,並且畢業後有良好的繼續學習的基礎。如果樓主想純實用的話,可以先從自己要解決的問題入手學習,完全不用理會科班的體系。


首先,得會一項編程語言 最好是c

其次,可以就演算法、操作系統、計算機網路、資料庫等深入學習,最好有不錯的數學功底

複次,深入學習演算法,做點ACM題目,刷點TC、codeforce絕對是有益無害

最後,能跟著牛人學習一月大於你一年的摸索


目前網上的各大公開課平台的課程都是非常零散的,不成體系的。

就個人興趣而言的學習可以差不多滿足,但想要系統的學習基本沒戲。

目前網路上也有一些粗糙的所謂的課程體系,但基本上只是幾門課程凌亂的堆疊罷了。導致這個現象大概有如下的幾個原因:

1、沒有一個統一的課程開發團隊

目前網路上的公開課基本上是以個人,或者學校的某個教研室為單位開發的,注重的是課程的特色,而不是系統的培養。基本上是誰有什麼拿什麼,而不會考慮別人缺什麼我來補什麼。

可以說這些課程開發團隊是站在自身的利益角度出發去開發課程的,而不是站在學習者的角度去開發課程的,而且彼此之間是競爭關係,而不是合作關係。

2、在家自學要比在校學習更困難,網路公開課的開發者要有比擬世界一流大學教授的實力,並且還需要投入更多的精力才行。

因為自學有一個很重要的問題在於不知道學到什麼程度。因此自學的課程目標導向要非常明確,需要明確到什麼程度?要打破單門課程的局限性。此門課程的哪些知識點是作為其他哪些課程哪些知識點的基礎,內在的關聯是如何的。

只有如此明確了學習路徑之後,學生才能在獨自學習的情況下克服重重障礙學習下去。

而現在網路上的公開課可以說基本是沒有明確目標的,一套課程放上來,學生根本不知道我需要通過這門課程學到什麼東西。更不要說課程之間的關聯,遞進了。

3、網路上這些公開課的提供者的目的不是為了便於學習者學習

一切圍繞利益!斯坦福的課程我也看過了,很多關鍵信息是需要StudentID登錄才能看的。說白了想白看,沒門。


mit 的公開課還是比較有水平的,可以看看


如果你只是想學編程,找個公開課聽聽,然後多練習就好了。


推薦閱讀:

為什麼很多理工科出身的優秀的學生最終選擇做諮詢或金融?工作幾年後對當時的選擇是否感到一絲遺憾?
用kali入門linux是一種什麼體驗?
電腦怎樣執行編程語言的?
學計算機科學與技術電腦需要裝什麼東西?
知乎上面有哪些計算機科學與軟體工程方面值得一看的問答?

TAG:開放課程 | 計算機科學 | 網易公開課 | 優達學城Udacity | Coursera |