計算機專業學習的一些思考和總結

Apple WWDC 2014 標誌及宣傳語

  • 大學四年不知不覺一晃而過,在臨近畢業之際,寫下這篇文章一方面是對自己的總結,另一方面向其他同學分享我的經驗。*
    <br >
  1. 興趣是最好的老師
    有兩種力量會推動我們不斷前行,一種是興趣,一種是責任感。其實在前行的路上會發現這兩種力量往往會互相支持着我們前行:因爲興趣我們開始了我們的學習、事業,遇到了困難,因爲責任而堅持;遇到了瓶頸,忽發現這些正是自己的熱愛所在,又堅持了下來,就像這樣循環往復以至最後。

編程是一件很需要興趣的事情,因爲它需要不斷的學習,不斷的練習,這其中會包含許多不解的難題、無法fix的bug、難眠的夜晚,如果你不能發現其中的樂趣,很難堅持下去並且把它做好。

如果你是計算機專業的,並且喜歡編程,那麼你很幸運可以快樂地暢遊在代碼的海洋中;如果你是計算機專業的,但是一點也不喜歡編程,而是已經有了其他的想法,那麼你也很幸運,因爲你有了奮鬥一生的目標。如果你是計算機專業的,但是一點也不喜歡編程,但是不知道要做些什麼,沒關係儘管去嘗試、去找尋,不要把時間浪費在一點也不喜歡的事情上。如果你不是計算機專業,但卻喜歡編程,那麼放手去編程吧,編程方面的知識通過自學完全可以,我的第一份工作所用到的知識,大部分不是源於課堂,而是來自於自我學習。如果你在糾結要不要從事編程相關的工作或者想從事編程相關的公作又缺乏興趣,那麼我推薦幾種培養興趣的方法。

(1)尋找自己的偶像
在體育明星中我們經常會聽到某一個成功的運動員被採訪時會說我是因爲看了某某某的比賽而開始訓練、比賽並且讓我一直堅持下去的。我們也需要自己的偶像,一個能激勵我們不斷學習,在困難時讓我們堅持下去的人,“程序猿”的偶像們通常智力超羣、目光堅定、成就超凡,比如蘋果公司的喬布斯和沃茲尼亞克、微軟的比爾·蓋茨、谷歌的拉里·佩奇和謝爾蓋·布林、Facebook的扎克伯格等等,他們通常以Make The World A Better Place爲己任。的確,因爲他們,因爲技術,因爲“程序猿”們,我們的世界飛速發展,智能手機、網絡,我們的世界的確更好了。當你通過觀看他們的採訪、演講、紀錄片、專記等等,那幫看似無趣的“程序猿”,其實才華橫溢、極富人格魅力,讓我們也想成爲他們那樣的人。

(2)書籍與影視作品
這和上一點有點像,隨着對編程的瞭解、對編程的人的瞭解、對他們生活的瞭解,很可能會產生加入他們的興趣。我收集了一些作品列表,程序員閱讀手冊(不斷更新中)、程序員觀影手冊(不斷更新中)。記得我看完一部講述一羣獨立遊戲開發者的紀錄片《獨立遊戲大電影》之後,立刻下載了遊戲引擎搗鼓起來,在後來的多門課的課程設計中我都做了小遊戲。

(3)最重要的,現在就開始編程
記得大一的時候,我對編程並沒有興趣,我覺得編程只是我大學生涯的作業、任務,我學習的很被動,只能勉強能夠應付課程和考試。但是在那些被動嘗試的過程中,我卻感受到了程序輸出正確時那種成功的喜悅,bug不能解決時想放棄的無助以及經過不懈努力解決bug時的柳暗花明。正是這些嘗試、體驗,然我瞭解到編程其實是樂趣橫生的。如果你喜歡挑戰,喜歡新鮮事物,編程一定能給你帶來樂趣。我們會有很多機會能把興趣和編程聯繫起來,各種課程會有各種課程設計,老師的要求通常是,使用Java語言(或是某某其他語言)、使用與課程相關的知識,做一個作品。這時我們可以做些自己想做的課題,做些有意思的,自己會使用的東西。

<br >

  1. 速成的謊言,堅持纔是不二法門
    經常在書店裏看到這樣一類書,《21天學會XXX》系列,《7天學會做網站》,我買過、也看過,這類書無非是抓住人們渴望“速成”的心態,一本書一般就說了一個例子,演示了一個例子的過程,而對細節的解釋遠遠不夠,看完之後只會有大概的瞭解,離學會、熟練掌握還相去甚遠。

Peter Norvig 寫過,計算機博士徐宥翻譯過一篇文章——《十年學會程序設計》裏提到編程像所有其他的技藝一樣,遵循一萬小時理論,即不斷的練習纔會真正的掌握編程這門技藝,編程既是技術、也是藝術,要成爲編程大師,我們需要靈感、天賦、反覆的練習、在挫折中進步。來不得半點馬虎,速成是不可能實現的,堅持才能。

  1. 我的編程學習經驗
    前面扯了那麼多閒話,下面乾貨來了~ 分享一點我自己學習的經驗。

(1)學校學習
我覺得學校的課程中,有幾類課是十分重要的。一類是語言基礎課,尤其是你大學乃至人生的第一門編程語言課是十分重要的,因爲它會培養你最初編程感,培養你編程的基本功,以後上手其他語言,就會容易很多。

還有一類是計算機基礎和總體知識的課程,比如操作系統、編譯原理、計算機網絡等等,它們會教給你宏觀的計算機知識,讓你瞭解計算機是如何運作的。

對於以上兩類課程,我的建議是除了認真聽課、完成作業,課後也多查閱資料,多練習,多實踐。

(2)自我學習
技術書籍的選擇
要選擇“著”而不是“編著”,“著”的書往往包含了作者自身長年積累的經驗和知識、見解。而“編著”往往只是簡單的知識的整理收集,缺乏對知識的梳理、講解。國外的書往往質量更高,能直接閱讀英文原文著作當然是做好的,翻譯的作品也是不錯的。

在線編程學習網站

網上有各類論壇、博客包含信息,不時逛逛,收穫良多。
Codecademy 強力推薦的一個交互式編程學習網站,它以練習實踐的方式,進行編程教學。
在線課程
如今的在線課程開放平臺十分活躍,能給我們提供的課程也十分多,質量也很不錯。


Coursera 由美國斯坦福大學兩名計算機科學教授創辦。旨在同世界頂尖大學合作,在線提供免費的網絡公開課程。
edX 麻省理工和哈佛大學於2012年4月聯手創建的大規模開放在線課堂平臺。
Udacity 大量優質的計算機相關課程。
學堂在線 由清華大學研發出的網絡開放課程平臺。
Khan Academy 可汗學院,有關於數學、歷史、金融、物理、化學、生物、天文學等科目的內容。
imooc 國內一個IT課程平臺,多爲一些IT圈內大牛主講的課程,質量很不錯,授課內容十分實用。
網易雲課堂 多爲技能類課程,種類多。
網易公開課 各類公開課。
... ...
... ...
還有很多在線課程能夠很好地幫助我們自學。
問答社區
在自學的過程中,經常會遇到各種各樣的問題,一般可以去百度、谷歌等搜索引擎進行搜索,也可以去IT類的問答社區。比如著名的stackoverflow,上面的答案可信度非常高;還有國內的segmentfault 等等。











英語
從我上面推薦的資料看來,很多資料都是英文的,這就需要英語的能力。英語能力或許計算機從業者們是除了專業技能之外最重要的技能了。因爲最新的技術往往來自於大洋彼岸說着英語的國家,一手的資料往往都是英文的。而且英語是全世界的開發者的通用語言,和其他開發者交流心得體會也需要英語。總之,學好英語有百利而無一害。

  1. 關於工作
    (1)選方向
    計算機類的技術工作分爲好多方向比如Java、C++、Android、iOS、前端、數據庫、數據挖掘等等。確定好自己的方向,沿着某一個方向前進是明智之舉。同時可以關注各個公司招聘的職位發佈,找到自己的心儀職位並且按照職位的要求來學習。

(2)boss們真正需要的是什麼?
作爲一名初出茅廬的大學生,老闆們當然不認爲你有“兩年以上工作經驗”、或是“熟練掌握XXX框架、XXX技術”,他們知道你很多東西都沒有接觸過,他們往往需要兩點,態度和學習能力。態度不用多說,學習能力即學習掌握新事物的能力,就是你多久能融入工作團隊,面對新的任務能否及時完成。要培養學習能力,最好的方法就是在平時多看多學新技術,技術之間都是有同性的,接觸的多了,自然有了套路,知道該如何下手。

最後,請記住我們偉大的夢想:
Write the code. Change the world.

yangfengzu
2021年1月

作者:yangfengzu
鏈接:https://www.jianshu.com/p/0dff5466217e
來源:簡書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章