科班計算機it從業者,都學些什麼?

本科其他工科畢業的,轉行選擇去培訓班,學出來的PHP,JAVA,IOS,C 等等程序員,和接受過大學四年本科教育的有什麼區別?

ps:本科計算機、軟體工程專業的學php、java,ios嗎?

回答請先說明你的專業是什麼


軟體工程-信息攻擊與防護方向

學校里沒有學過objective-c、php。學校里教html(捂臉)、C、C++、C#.NET(現在想想學了不少帶C的)、Java。

比起培訓班的區別還是有些一些,比如常用的數字加密技術(對稱、非對稱,真的很常用呢),資料庫設計,複雜子查詢(還是有點學問的),計算機網路(基礎學科有沒有用,看你心情了),操作系統(恩,也會用到的,不然很多東西很難理解),網路信息攻擊與防護(不學這個你根本不懂目前的網路環境有多惡劣,你也意識不到如何保護用戶的隱私),系統級編程,編譯原理等就不一一列舉了。

其實培訓班上了那些課我也不清楚。不過我剛列舉的應該很少有培訓班專門培訓吧,畢竟費力不討好。數據結構與演算法據說有在教,但是不清楚到什麼程度,不知道能翻轉二叉樹不(霧)。

我大學本科課程如下:

計算機系統導論Introduction to Computer system

C語言程序設計C Language Programming

程序設計基礎Programming Fundamentals

離散數學Discrete Mathematics

密碼學 Cryptology

面向對象程序設計導論(雙語)Introduction to Object-Oriented Programming

數字邏輯:應用與設計Digital Logic: Application and Design

數據結構與演算法Data Structures Algorithmic

數據結構與演算法課程設計Practice in Data Structure Algorithmic

計算機體系結構Computer Architecture

操作系統Operating System

計算機網路(雙語)Computer Networks

軟體工程(雙語)Software Engineering

軟體工程課程設計Practice in Software Engineering

資料庫系統(雙語)Database System

系統級編程(雙語)System Level Programming

軟體架構Software Architecture

專業英語Professional English

藝術鑒賞與人文知識Artistic Appreciation and Humanistic Knowledge

離散數學應用實踐Paratice in Discrete Mathematics

C++語言程序設計C++ Language Programming

微機原理與介面技術Microcomputer System Interface Technology

三維造型與動畫技術3D Design Technique

人機交互概論(雙語)Introduction to Human-Computer Interaction

基於.NET的開發技術.NET Based Development Technology

計算機圖形學Computer Graphics

軟體開發環境與工具Software Development Environments Tools

數字圖像處理Digital Image Processing

遊戲編程技術-ⅠGame Programming Technology-I

遊戲編程實踐-ⅠPractice in Game Programming-I

UNIX操作系統UNIX Operating System

編譯原理Compiler Principles

多媒體技術Multimedia Technology

嵌入式系統Embedded System

網路與信息安全技術Network and Information Security Technology

信息安全產品開發實踐Practice in Information Security Products Development

分散式系統與互聯網(雙語)Distributed System and Internet

軟體過程Software Process

軟體需求分析Software Requirements Analysis

分散式系統與互聯網(雙語)Distributed System and Internet

網路工程Network Engineering

計算機資源管理程序設計(雙語)Computer Resource Administration Programming

信息安全產品開發實踐Practice in Information Security Products Development

模式識別Pattern Recognition

無線網路技術Wireless Network Technology

軟體系統形式化驗證(雙語)Software System Model Checking

軟體項目管理(雙語)Software Project Management

軟體質量保證與測試(雙語)Software Quality Assurance and Testing

網路信息攻擊與防護Network Information Attack and Defence

中間件技術Middleware Technology


計算機科學與技術專業。

嗯,這就是題主說的科班出身了吧。

C,C++,JAVA,8086彙編,計算機組成原理,操作系統,編譯原理,微機原理與介面技術,電路與電子技術(模電),數字邏輯(數電),數據結構,資料庫原理,EDA技術,演算法分析與設計,計算機網路,面向對象系統分析,軟體工程,windows編程(Qt),數字圖像處理,計算機圖形學。

微積分,概率論,離散數學,線性代數。

對於計算機,我們這個專業從最根本的數字邏輯,學到了高級語言,php android html 並沒有教過,培訓班出來的人做的工作我們這個專業出來學學也能幹,但是我們能幹的不是培訓班能幹的。答主並沒有貶低php的意思。畢竟培訓班出來寫php的很多都是辣雞,真正的大神,咳咳。

相信題主已經有自己的看法了。。

(深夜答題,默默的求個贊!!!求個感謝紅心)


計算機科學與技術

學的課程上面很多人說過了,自己學的也水就不說了。

當初沒決定做程序員,因為對第一個程序hello,world,內心吐槽是,你特么這什麼鬼。

然後玩了一段時間硬體,混跡電腦城大半年,以裝機價=成本價+200的價格幫助了不少同學,也就是大家口中的賣電腦的。

我應該就是,4年里的水貨代表,上課基本在干其他事情。

但是我跟那些非it專業的比起來,學技能會快,跟it認真學的那一幫人就差遠了。

其他專業跟我的區別就是差了覺悟和對編程的認識,雖然水,但是周圍有認真學的,我知道他們是怎麼樣去努力學,怎麼樣去認真練。

跟普通程序猿,差的就是一句話,當我處在人生的十字路口,我知道哪條路是對的,毫無疑問我就知道,但是我不走。你問我為什麼?因為他媽的太苦了。

而其他專業的,跟普通程序猿,除了努力還差了覺悟,就是沒有認識到編程是一個很長久的過程,不拼智商,拼的是堅持與努力。是一個短時間都無法跨越的鴻溝,很多人不知道,一直處在溝底,來問,「我接下去做什麼?我這麼學對不對?這麼學下去工資高不高?」

「做你想做的,你做的都對,學的好就工資高,再過個兩三年,你就走出來了。」

比起上面所有看名字都覺得煩的課程。

不如學學他們都掌握的這門課,踏實


專業金融,畢業開始改行學計算機。從業10年,從培訓班一路走到最牛逼的大企業做研發。身邊全部都是一流大學起碼科班畢業。

先說結論,科班和培訓班的顯著不同在於以下幾門課:數據結構,編譯原理,操作系統,圖形學。而很多培訓班基本只教api調用,所以培訓班畢業的99%都是垃圾。

出道那會兒正值ssh流行,培訓班只教ssh,因為ssh只需要讀懂產品說明書照著做就行了。但是做了幾個項目,你就會發現你並沒有提高,你還是一個裝配工。於是自己寫框架,自己看源碼。如果你不懂鏈表,你就不可能看懂java.util下的大部分類。如果你不懂hashmap的結構,你就不可能真正理解負載均衡。當html5時代來臨,你會發現對於前端的要求不是更低了,而是更高了。不理解操作系統你就不會真正理解閉包。當3d興起,不懂圖形學你無法真正構建起你的圖形化引擎,別說three.js已經做了大部分。一個產品級應用必須要減少外部依賴,特別是我司因為java被甲骨文敲詐了好幾個億的時候。

ok,相信樓主已經有結論了。


控制科學與工程(自動化),舔著臉強行科班出身

課程有:自動控制原理,現代控制理論,先進控制導論,非線性控制,過程式控制制

精神控制,控制意念學,初級控制魔咒學,中級心理控制導論,高級全方位立體控制學

以上


本人「計算機科學與技術」。畢業十二年 編程學過:Pascal,C,VB,彙編 其他於計算機沾邊的科目:數據結構,編譯原理,組成原理,數字電路,模擬電路 其他:高數,線性代數,離散數學,概率統計,大學英語,大學物理。 還有什麼網路安全,操作系統,多媒體什麼都記不住了。 我上學時還沒有ios,Java已經有了,但學校沒教。 工作中學習了:Java,C#,asp,VC,Python,Ruby。還有其他的中間件等等。

我曾經也兼職教過培訓班。 如果說兩者的區別,總體說大學學校教的注重的是知識面的培養,講的是原理了解的是內部的東西。是對計算機深入的了解。 培訓更注重實際具體語言的應用和工具的應用,而且教的過程都是用實際項目的例子進行教學(比如培訓班會教編碼規範,而大學課程里肯定沒專門教過)。為的是可以讓學員就業。

兩者只有目的不同,沒有高地好壞之分。即使是專業畢業,為了能獲得工作也需要學實際工作用的語言和工具(無論自學還是參加培訓班)。


大學專業信息管理與信息系統,算不上科班出身,不過感覺大部分時間都在學日語?

誰讓我是外國語學校里的軟體學院的= =

微積分,線性代數

oracle,數據結構,java,jsp,C,C#(.net),計算機網路,軟體工程,計算機導論

好像能貼上邊的就這些科目了,剩下的除了英語就是日語了= =什麼日語基礎日語視聽日語口語日語寫作商務日語等等。。。。。。

所以我後來出去培!訓!啦!現在混得還挺像個人的,大學時候學的啥完全記不住了,不過演算法這塊是弱項正在彌補,畢竟我們大學的教材里數據結構科目連演算法都不講,老師也是個二百五,培訓的時候也沒人說,只能工作中出現了問題去彌補。


本科

c vf java c# j2ee vb

資料庫 編譯原理 彙編 數據結構 軟體測試 軟體體系架構 網路工程 軟體工程導論

還有好多記不清了

研究生階段 許多東西從新學一遍 多了機器學習 大數據 網路安全等等許多理論課 對實際寫代碼的要求並不多


計算機科學與技術專業

C,C++,JAVA,彙編,計算機組成原理,操作系統,編譯原理,微機原理與介面技術,電路與電子技術(模電),數據結構,資料庫原理,計算機網路,軟體工程,計算機圖形學,軟體測試,離散數學,計算機體系結構,UNIX操作系統

當然還有,高等數學,線性代數,概率論,大學英語


難道黑培訓班也是知乎的政治正確了嗎?正如上面某位仁兄所言,大部分答案都是拿科班學霸和培訓班學渣比。我本人電子信息專業,參加了培訓班,班裡還有自動化,通信專業的,都是IT略相關,科班算不上的專業。現在的情況是,勤奮好學的都學的很好,課上學,課後自學,參加編程比賽也不輸學校計算機院的學生。我自己學得不認真,水平菜,我也歸咎於自身而不是培訓班。我真不知道科班出身怎麼就有優越感了,難道技術水平高不是因為學習努力嗎?科班出身就沒有混文憑的了嗎?我認為,只要自己想學,不管是科班出身,還是培訓出身,哪怕是文科轉編程,都能做得好。我希望諸位科班出身的大神們,可以對那些後來居上的高手給予應有的尊重,他們光是到達起跑線就花了更多的時間,對我們這些半路出家的菜鳥寬容一點,畢竟你們水平牛逼我們也搶不了你們的飯碗。

科班出身總拿專業素養說事,你倒是說說其他出身的怎麼沒有專業素養了?培訓班的編碼規範,可比大學課堂的要求高得多。


大家說得挺多,可是我們也都知道,學校開了這麼課並不意味著我們學了這門課,更不意味著我們掌握了這麼課,上課玩手機睡覺的就是我們自己


本科物聯網,研究生計算機。本科主要是高數、大物、線代、概率論、數模電、電路、演算法分析、信號與系統、計算機組成原理、微機介面、網路安全、感測器原理等等。研究生主要是演算法分析、數字圖像處理、資料庫、模式識別等等


課程挺多的,來羅列一下。。。(相關的,重要的一些)

專業類:

*C, C++, Java..

(感覺主要講語言設計背後的原因,以及實現機制,還有是一些設計模式)

*資料庫系統

(內容充實的,從語法到設計到代價分析,優化,日誌,恢復,備份等等,以及實現一個簡單的資料庫)

*數字電路

(就是簡單的數字電路。。。用VHDL/Verilog 寫點玩意,寫寫比如鍵盤的讀入,VGA的顯示,然

後綜合寫個比如:很簡單的遊戲)

*計算機組成

(數字電路後續吧,講了講CPU,中斷,換頁啥的等等,最後寫個多周期的CPU,能跑跑簡單的彙編指令(MIPS)就好了)

*數據結構/演算法分析

(經典的數據結構、演算法基本都會有吧,比較實用,也不難)

*彙編

(個人感覺挺沒意思的。。。)

*操作系統

(單處理器操作系統,講講線程、進程,死鎖、調度,感覺短短的代碼蘊含的思想真是讓人佩服,沒有讓我們寫個簡單的操作系統,頂多就是改改內核代碼,增加些東西)

*圖形學

(講演算法等等,不過課後用OpenGL)

*計算理論

(有趣的課程,比較考智商,提升思維能力,感覺對於CS來說非常不可缺少的一門課程)

*數字圖像 and 計算機視覺

(講演算法吧,很有趣,寫出來的程序互動性很強。。。,對數學要求不高,但是比較creative)

*數值代數

(很有用的一門課,對於微積分、代數、矩陣、微分方程等等都有了一個更好的認識,想要以後從事非純coding的這類課程相當重要,包括下面的一些數學課,不過一般要求是必修的 )

軟體工程、編譯原理、計算機網路、計算機體系等等課程,還有挺多的。寫累了。。。。

其他類的:

微積分,線性代數,離散數學,複變函數,偏微分,常微分,概率論,數理統計,隨機過程,矩陣論等等數學課,這些都用的很多!/- 可能有些打算做研究的還會學:實變函數、泛函分析、流形、拓撲等方面的一些課程。可能看個人愛好以及能力了吧。

其實總的來說,課程名字如何不是很重要。。 比較重要的是老師、同學。以及自己是否真的花時間去理解,而不是走馬觀花,考個高點的分數就算學到東西了。學習的過程主要還是培養一種理解能力、學習能力、以及對於各種現象的一個intrinsic的認識。所以,即使不從事對口專業,也能快速轉型,這就是我所感受到的和認識到的大學教育。


計科專業

學校開了Java課程 沒開另外兩個

個人感覺學校學的是修鍊內功 培訓班是直接教招式 =_=


編程思想,項目管理,演算法導論


本科計算機 科班主要還是學計算機各部分的工作原理 編程其實是次要的 可以做軟體做遊戲的學生很多知識都是自學的


數媒的 學C java 界面交互設計 object C 動畫基礎 動畫製作 3D建模 數碼攝影 微視頻製作剪輯 PHP屬於自學。。


大三狗平時上課學習專業的知識,業餘學習科班學習的東西。


推薦閱讀:

github上有哪些值得學習的優秀的php開源項目?
如何用php 編寫網路爬蟲?
有什麼是 Python 可以做,但是 PHP 不可以做的?
PHP socket通信問題, 如何按照自定義的協議進行通信?
php 如何取img屬性值 src?

TAG:iOS | 程序員 | PHP | Java | IT行業 |