編程,計算機科學,元入門教程

用workflowy敲出來的 ,我覺得這樣結構很清晰,就不再專門按段落排版了。

  • 網上的cs入門指引其實非常之多,寫的好也比比皆是。
  • 那麼我為什麼要再寫一個呢?
    • 並不是出於以下原因:
      • 我比他們寫的都好
      • 我cs好
      • 我說話權威
      • 我特別閑的沒事兒干
      • 我想給專欄漲粉 等等
    • 而是出於
      • 2. 就是有人問我,然後我還拿不出來一個鏈接可以直接回答,每次都講一遍確實挺累的,所以咱們一勞永逸的解決這個問題
      • 1. 我結構化拖延
      • 3. 一般的教程都有比較主觀的 「這樣才是正確入門方法」的意志,本文沒有,本文比較 meta(元),算是對各種方法都有涉及
  • 本文閱讀提示:
    • 由於我很懶,所以很多別的帖子寫的好的東西,我就會直接引用啦,顯然我不想抄襲,而且我說過我很懶,所以我也不會附鏈接,我只會告訴你大概用哪個引擎搜什麼關鍵字
    • 我說了 我很懶 所以看不慣中英夾雜的 現在就停下吧,馬上就要開始爆英文了
    • 整個文章大概的順序是 從 實體 到 虛無
    • 此答案不定期更新
  • 如果你是高中生的話,我覺得演算法競賽是非常好的路子
  • 如果你是準備出國的高中生的話 可以去參加一些summer program或者summer school
    • 比如cmu的summer 提供著名的15 112 intro
    • 還有 一些cs類的summer program
      • mit
      • algorithm
      • 自己谷歌搜索吧
    • 這樣對申請也有意義
  • 如果自己願意花時間去找 去看的
    • 果殼mooc
    • google 一個mooc綜合大全的網站
    • 知乎直接搜 cs入門 搜cousera推薦 edx推薦 programming自學這些關鍵字
      • 有一位金老師 人很好 答案我也覺得非常好
      • 有一為簫姓大v,我忘記具體了,懶得查,他有很好的入門答案,他自己的故事也很勵志
      • 輪子哥什麼的也可以跟著看看 樂呵樂呵 輪子哥水平很高 人很好 就是常抖機靈 而且算是堅定的微軟黨 有一些比較有偏向性的觀點 入門的人容易被帶歪
      • 還有一些 通過java培訓班上路的程序員的高票答案 如果你和他們境遇不類似 我不建議你照著他們的路子走
    • quora同上 都有很好的答案
    • 去各個學校自己的open couse website
      • mit Open
      • harvard open
      • itunesU
  • 以上地方都有非常全的資源,問題就看你能不能找到適合你的
  • 下邊再推薦一些 我知道的具體路線
  • udacity學習實用技能 這個可以說學習programming, 但很難說是computer science,為了寫app入手可以這條路
    • 比如ios開發
    • android開發
    • html5啥的
    • 當然他家ai 課也很好,但這是入門貼
  • 那麼code academy就更加是programming了 初學者最好不要只學這個 這個熟悉語法比較好,還是要配合一個正經課程
  • 我記得 有個網站叫計蒜課 沒有用過 但是直覺認為不錯,各位可以去試試
    • @Suji Yan 似乎在那裡工作過

  • 另外 知乎上有一波實戰入門派,主張直接上來就寫東西 然後邊寫邊入門 可以知乎搜索 有什麼新手可以做的python項目
  • recurse center 這個自己谷歌,裡邊有介紹,最近有trainee項目,我覺得很好,但是很難解釋為什麼好,甚至很難解釋這是啥,有興趣的自己去看
  • 如果不只是想隨便programming一下 還想了解一些更加fundamental的東西 也就是沒法直接應用的東西。就可以繼續讀,如果只是為了解決手頭的實際需要,上邊的就夠了
    • 比如如果是想學學編程搞機器學習的
  • 著名的online intro有(edx or couesera,自己找
    • mit intro
      • 分python版本和scheme版本
      • 前者在mooc上 後者 請去mit open course
    • harvard intro
    • rice intro (這個還是做遊戲的,對遊戲感興趣的可以用這個入手
    • stanford的貌似有 又似乎沒有
    • 其他intro
  • 這些里我肯定覺得edx和coursera的會好些
  • 因為這些是專門為線上學習開發的 對初學者很友好 也有解答問題的平台 有作業的督促
  • 如果英文不好的話,可以去清華的學堂X,或者網易雲課堂,也都是不錯的
  • 另外 如果遇到任何問題 谷歌一般都有答案 只要你會問
    • 沒有答案的話 去stack exchange問,但是小心被噴
  • 以上基本都是python入門 當然也提到了一個scheme入門,這裡就涉及了 當代計算機教育的一發展趨勢 函數式編程入門 這個由於resource沒有那麼全 適合有一定基礎 對計算機科學本身感興趣 對邏輯感興趣的 對數學之美和優雅有體會的 講到這裡 已經極端不實際了 畢竟工程用函數式語言的還是少 函數語言的庫也都不多 這裡基本上就是途個學知識 或者說對計算機科學這門學科 這個專業感興趣 或者是有一定基礎 但是希望能提高自己對編程本質的理解 , 那麼正式開始介紹吧
    • learn you haskell
      • 其實我對haskell不是很了解 這個可以在知乎上搜索haskell入門什麼的
      • 可以關注下 @邵成@邵成 他有很多關於如何學習haskell和plt的答案 雖然可能不適合入門
      • 另外 有一位用戶 也是我的好友 非常熱衷於安利haskell以及教人haskell 有興趣的也可以私信 @劉閩晟
    • cmu 15150 的lecture notes ,谷歌可以搜到
    • couersrea edx上也有一些 用racket入門的 之類的課
    • 之前提到的mit 的老intro,scheme入門的
    • 知乎或者quora搜索函數式編程入門吧。。。
  • 再往下就要進入 科學 哲學 玄學 地步了 不愛胡思亂想 或者不對世界充滿好奇心的讀者可以打住了。。
  • sicp 這是 mit老intro的課本 ,書本身也是極好的,我沒讀過 但是口碑這麼好 放在這個位置吧
  • code 編碼,豆瓣可以找到 ,是一門計算機科學的科普書 用燈泡的例子 從二進位講起 講計算的機本質 等東西 讀起來很有趣 可以做為閑書閱讀
  • 計算機科學導論 口碑很好的一本書 豆瓣可以找到 我沒讀過 自行根據豆瓣書評判斷吧
  • GEB 這本我非常喜歡,也是被奉為神書 ,主要是講了 音樂家巴赫 畫家艾舍兒 計算機科學鼻祖 哥德尓 以及禪宗的共通之處,腦洞奇大 pulice文學獎 但是書很厚 也不是很好讀 要有心裡準備
  • 暫時想到這麼多

推薦閱讀:

教你正確的提問姿勢
哪個編程語言最流行?
如何學習一門編程語言-零基礎愛好者篇

TAG:计算机科学 | 编程入门 | 自学编程 |