很多人通過自學培訓班就可以成為程序員?
兩者的培養方向完全不同,在我看來,這兩者就沒有可比性。大學是向一個行業方向培養,培訓班是向一個技術方向培養。
比如計算機專業的主要課程,高等數學、線性代數、概率論等等這些基礎課先不說,專業課舉幾個例子,比如匯編與接口技術,計算機組成原理,操作系統,數據結構,軟件項目管理,軟件測試技術,JAVA高級程序設計,軟件工程,電子技術,局域網與組網技術,TCP/IP,Linux基礎與技術,網絡管理與維護,計算機網絡與通信,數據庫原理與應用,信息安全概論,現代密碼學,信息安全技術,計算機病毒原理與防治,容錯與可信恢復技術等。這些是我百度來的,但是可以看出,廣而全,涉及計算機行業的各個細分方向,畢業以后可以往軟件應用技術方向走,也可以往計算機網絡方向走,也可以往計算機安全方向走 或者從事其他教學科研方向也可以。
但是培訓班呢?比如java培訓班,先學JAVA基礎語法,面向對象編程,常用API,多線程并發編程,數據結構集合框架,然后進階課程可能學數據庫啊JAVAWEB這種。總之就是一個具體的方向。
你要是做碼農呢,可能培訓班出來就能干,比大學應屆生還要容易上手。但是深度不行。干個一年以后,培訓班出來的就會失去優勢并且暴露短板。
這些短板首先就是廣度。工作中很難有單個方向的,都是涉及方方面面,比如電子,比如網絡,比如安全等等。大學出來的至少明白這是怎么回事,方方面面的都不用去說,但是培訓班出來的不行,還得查資料或者別人要給他解釋,費勁。最后總結就是綜合素質不行。第二個短板就是涉及到基礎課與學習能力。我們之前遇到一個項目難題,請南京的大學數系幾個博士給設計了一套非常復雜的算法,那么這種情況,大學出來的,學過高等數學線性代數概率論的,可能更容易理解并且實現。還是這個難題, 后來博士說要用到機器學習技術什么的,幾個軟件工程師搞了一兩個月從零開始學也搞出來了。但是培訓出來的估計不行,因為去上培訓班的,大部分是專科及以下學歷 ,非相關專業出來的居多。