本科其他工科畢業的,轉行選擇去培訓班,學出來的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,相信樓主已經有結論了。控制科學與工程(自動化),舔著臉強行科班出身
課程有:自動控制原理,現代控制理論,先進控制導論,非線性控制,過程式控制制
精神控制,控制意念學,初級控制魔咒學,中級心理控制導論,進階全方位立體控制學
以上DOTA某非211大學軟體工程專業學生,大一上c語言,電腦導論,大一下c++,大二上c#dotnet,資料結構,8086彙編,大二上電腦網路,資料庫,web,數字電子邏輯基礎,軟體工程,大二下電腦演算法分析,uml建模,電腦群組成原理,軟體需求工程,軟體設計模式,JAVA,日語,Linux或arm選修,大三上軟體測試,軟體外包專案管理及案例,專業英語,編譯原理,資訊系統安全,日語,選修儲存技術基礎或C# web或軟體工程經理學或移動雲端運算或手機應用設計與開發或java進階或java架構技術,大三下基本為選修或者項目實訓。大四實習。
當然還有很多具有中國特色社會主義的課程和工科基礎課程,這裡不再列出。
如果有需要可以後面再片,包含所有本科階段所需要學習的課程。本人“電腦科學與技術”。畢業十二年 編程學過:Pascal,C,VB,彙編 其他於電腦沾邊的科目:資料結構,編譯原理,組成原理,數字電路,類比電路 其他:高數,線性代數,離散數學,機率統計,大學英語,大學物理。 還有什麼網路安全,作業系統,多媒體什麼都記不住了。 我上學時還沒有ios,Java已經有了,但學校沒教。 工作中學習了:Java,C#,asp,VC,Python,Ruby。還有其他的中介軟體等等。
我曾經也兼職教過培訓班。 如果說兩者的區別,總體說大學學校教的注重的是知識面的培養,講的是原理瞭解的是內部的東西。是對電腦深入的瞭解。 培訓更注重實際具體語言的應用和工具的應用,而且教的過程都是用實際項目的例子進行教學(比如培訓班會教編碼規範,而大學課程裡肯定沒專門教過)。為的是可以讓學員就業。
兩者只有目的不同,沒有高地好壞之分。即使是專業畢業,為了能獲得工作也需要學實際工作用的語言和工具(無論自學還是參加培訓班)。好多答案都是那科班學霸跟培訓機構學渣比較,我覺得做這個起碼要不卑不亢本科
c vf java c# j2ee vb
資料庫 編譯原理 彙編 資料結構 軟體測試 軟體體系架構 網路工程 軟體工程導論
還有好多記不清了
研究生階段 許多東西從新學一遍 多了機器學習 大資料 網路安全等等許多理論課 對實際寫代碼的要求並不多