學習編程,讀大學的和自學的有何區別?

今天JAVA課上到一半,老師突然來一句 「其實學好一門編程語言最好的方法是自己多實踐多編,你們在這兒聽課,看書作用都不大」 ,那上大學學習編程和自己在家自學豈不是無區別? 我僅僅是針對學到的知識,學後的編程水平而言,其他什麼的不作討論。 請賜教

多謝各位朋友的熱心回答,老師上課太操蛋,有時候都不想聽了,大神們也算讓我有了一定的認識,多謝了


題主教java課的老師說, 「其實學好一門編程語言最好的方法是自己多實踐多編,你們在這兒聽課,看書作用都不大」,這句話是對的。

你發散出「上大學學習編程和自己在家自學豈不是無區別」,這一步是錯的。

中間步驟我懶得解釋了。


從具體學習的角度上,貌似沒太大區別吧。。。我印象中我幾乎所有的專業課都是自學的(囧)

大學對我來說更重要的是提供一個氛圍,一個可以安心學習自己想學的東西、和人交流心得的氛圍。我覺得這種自由學習的氛圍在大學之外是很難找到的,尤其是有工作之後

大學另一個重要的用途是在一定程度上指明方向。雖然某些課程開設得老舊而又迂腐,保守而又死板,但總的來說本科期間的主要課程都是比較重要的基礎。跟著這個線學下去好歹不會因為自己的無知而跑得太偏。以我自己的觀察來說,網上看到的許多隻靠自學來學習計算機知識的人在知識體系上都有著比較明顯的缺陷,這個對發展是很不利的

===================補充的分割線======================

補充幾句話。。。

我的意思是,在大學裡,學習某一門具體的課,上課和自學區別甚小(主要是看個人學習習慣等),但你要是覺得上大學沒用那可就蠢了啊!

別的不提,對於應屆生來說,學校不同在找工作時帶來的差別那可真是天差地別啊


又有人鼓吹大學無用論。

還說編程都得靠自學老師教的也就百分之一,考試影響編程心情等等。

祝你們用上計算機組織與結構操作系統網路原理離散數學高階複變函數軟體工程管理開發方案制定UML繪製的時候,還能找到你大學時候學的東西。

編程又不是只有coding 和 debug,鼓吹大學無用論的,你們用心極其險惡,又蠢又壞。

你們老師說的沒有一點不對的,當然編程語言得靠實踐了。但是基礎知識層的構建,你不看書系統的學習能行么?

大學教育是Cover那些自學能力相對比較差,沒有學習方向的人,照你那麼說,所有的學科都不用上課了,給你本教材,自己學去吧。大學那點東西是不夠,但可真不是沒用啊!!!

讓我告訴你們上大學教育的意義吧,大學教務實際上就是在某一領域交給你們連續的知識點,給你繼續學習的基礎。你要連面向對象都不懂寫啥類對吧,排列組合都不懂,搞啥離散啊?連續的知識體系非常重要,不是所有人都適合天才精英教育。

至於教學結束後你啥都不會?這又不是大學老師該管的事兒,自己不學習還怪體制問題啊?


這難道不是一件事嗎?


大學有作業,影響成績,隨便抄抄考試前就頭疼了,所以硬著頭皮debug。

當然,我也嘗試過自己學,學了一會兒就想到輪子哥,想到輪子哥就想了解一下他有哪些編程經驗,想了解一下他有哪些編程經驗就上了知乎,上了知乎就發現生活其實是更加豐富多彩的。。。

然後?然後我就改去自學人體藝術了。。。哎喲,腰子要吃不消了。。。


難道你們的java課真是講java的?

如果是,看來我南哪兒的SE領先你校不少。

南哪兒的老師一直強調我不是在教你們Java

——以至於我一直以為所有大學的「java程序設計」都和南哪兒一樣是」an introduction to OOP and design pattern「的本土化翻譯。


對於水平相同的自學和大學的同學,主要區別是HR承認不承認的問題


老師說的是對的,只不過這種平白無奇的話多數學生聽不進去。

編程需要你成為主體,課堂上你成不了編程的主體。只有當你在鍵盤面前扎紮實實地把一個程序設計調試很多遍,你才能逐漸明白編程是什麼。

答者的編程都是自己學的,學校里的0.1%都沒有。


上了大學也是自學的,只是資源多一點


高手,都不是教出來的。

好學生,也不是教出來的。

缺少獨立自主學習,探索能力的人,成不了高手。

常規教學,培訓,只能培養熟手。

熟手裡,脫穎而出的高手,全靠自學。

流水線,只能量產合格品。

精品,從來都不可以量產。

太祖曰:

自己動手,豐衣足食。

切記。


沒什麼區別,你學習主動嗎


老師說的是學習「一門編程語言」,你說的是學習「編程」。


區別在於是否找到了好的教程。

對於編程,好的教程除了講解java語法和OO那些東西之外,會順便把排序、查找、鏈表、二叉樹也講了,還會講如何寫一個遞歸下降的parser。你可以在有限的時間內領略到更多東西。不好的教材誤人子弟,講前面的數據類型都費勁,到後面更是說不出什麼話來。也就是那點東西。

對於非編程的基礎知識,組原os計網編譯之流,光看書遠遠不夠。不好的教程會都上成文科課程。組原不寫hdl,os不寫內核,編譯不寫parser,計網不寫server的,別跟我說你們學過這幾門課。

現在網路上mooc資源非常豐富。就算是我交,我也不敢說我交的課程就一定比網易雲課堂/coursera的那些要好。當然我交也在努力,但是目前天朝僵化的教育體系也不是說改就能改的。


很多時候是知其然和知其所以然的區別。但不絕對


中國的大學在教育內容上,從60年代科技教育佔壓倒優勢,到80年代以後加強了人文教育,使人文課程的比重上升(當然,人文教育不等於人文學科的教育,後者只是人文教育的一部分內容及一種途徑)。不過,80年代的人文教育與傳統的不同,它是以人文教育與科技專業教育相融合的形式為特徵的,要求給學生一個平衡而完整的訓練,促進人文精神與科學精神的結合。這樣,既可以增強學生畢業後適應人才市場需求的能力,又可以消除單純的科技教育造成的大學生人格危機和文化分裂。

試想,你每天獨自待在一個屋子裡寫程序。長期與外界缺乏面對面的交流,只懂得和機器交流。一年之後,你的性格會變成什麼樣子?

這也是為什麼大學不分專業類型,在大一大二都要開設人文學科的原因。

另外:大學老師更多的情況下時充當一個領路人,告訴你大致路線怎麼走。而不是,給你一幅地圖讓你順著路標找終點


你們老師也說了,是學好一門語言。

而編程更重要的不是語言,是思維方法,這是學校里那些被眾多膠水程序員訴之無用的基礎課慢慢幫你建立起來的。


大學課程只是點到為止,也只能點到為止。

某一門理論展開了短短3個月是講不完的,所以經常出現上課走神一大片。

下去還得在老師的講解基礎上深挖,看個人喜好吧。


  1. 上學的主要作用是幫你制定長期和近期目標並且強制你堅持下去,並不是老師講課比自己看書更好。
  2. 上面提到的作用在學「計算機科學技術」的時候比較明顯,在只學一門編程語言的時候就可有可無了。


讀大學比不讀大學的強多了。


他說的的是?學習一門編程語言的方法?,但事實上學習計算機科學的時候,學習語言只是其中的一個部分,計算機基礎這些東西還是和語言不一樣的


推薦閱讀:

實際軟體工程中是否真的需要100%代碼覆蓋率(code coverage)?
除了計算機相關專業,大學裡哪些專業也在學習編程?
什麼是「編程天賦」?你見到的最有「編程天賦」的人是什麼樣的?
什麼是 Agile Software Development(敏捷軟體開發)?
二分法調試代碼具體指什麼?

TAG:編程 | 大學 | Java | 自學 | 自學編程 |