iT邦幫忙

31

去找吧!我把程式自學資源秘笈都放在這裡了!! #超詳盡的免費網路教學資源統整 #這麼用心的整理不收藏嗎?

大家好,我是心原一馬,
隨著網路愈來愈發達,
程式的普及化,
想要自學程式也相對變的比以前更容易了,
本文就來整理包括小馬本身都在用的,
各類不錯的自學程式資源吧

歡迎大家可以收藏本文或追蹤,
因為本文可能將不定時更新,
如有發現其它好的資源會增加收藏進來,
或刪除過時的無效連結

另外,如果你是零程式基礎想找自學資源,
底下大部分學習資源可能讓你看得眼花撩亂,
可直接翻到文章最底部看小馬統整對新手友善的資源

網路資源

學習自己找答案

  1. GeeksForGeeks

這個網站有非常大量的程式學習資源(主流語言:c/c++, java, python的教學都有),
以及非常多的範例程式碼,
很多問題解法都可以搜索的到,
譬如你想用c++語言學習解「排序」的問題,
你便可以在搜索欄上輸入「sorting c++」,
可以找到非常多的範例

但缺點就是GeeksForGeeks是全英文的,
對於英文不好的人來說讀起來較吃力
https://ithelp.ithome.com.tw/upload/images/20200228/20117114yezjbUItqo.png

  1. 菜鳥教程
    此網站涵蓋了超多程式語言的教學,
    像一本超大字典般,
    如果有程式語法上的問題可嘗試於這邊搜搜看

  2. python官網
    可以點選上方的pypi,python有非常大量別人寫好的模組可用使用,有需要可在此搜索
    https://ithelp.ithome.com.tw/upload/images/20200301/20117114Ygr9fZ81GL.png

  3. (2020/5/15補充) Rosetta Code
    小馬透過在iT邦的問答區發問而發現這個網站,該網站希望能夠將同一件事情儘可能以不同的程式語言實現,如有程式上的問題可以在這邊用關鍵字搜索看看

學習c/c++

  1. LearnCpp
    一個以英文教學c++的網站,
    不過感覺量還蠻大的,
    全部共18個章節,
    要讀完似乎要很有毅力(?)

  2. Learning Programming step by step
    一個c++的初學教學,
    按部就班從基礎教起,
    份量較適中不會看起來遙不可及很難讀完,
    不過缺點是全英文的而且教法較為制式化

  3. GCC 編譯器基本使用教學與範例
    據說實際運用可能會在linux系統上編譯c++程式,
    本篇文章簡單的教了如何在linux系統上使用 GCC 編譯器

學習python

  1. w3school
    超詳盡的python語法教學,還有python的運用(如簡單的machine learning)

  2. Python官方文檔
    一個官方的python教學,內容極為豐富彷彿一本厚厚的百科全書,
    最常看的應該是「入門教程」、「標準庫參考」、「語言參考」,
    由於內容極多,不適合像讀書一樣一章一章讀,
    建議是想用什麼功能再去查詢即可

https://ithelp.ithome.com.tw/upload/images/20200229/20117114koYAx8okp9.png

  1. 拚命玩遊戲就能學寫程式! CodeCombat 還有中文版
    喜歡玩遊戲的朋友們有福啦,「CodeCombat」這個網站可以讓人邊玩遊戲邊學程式呢,這邊有其它網友寫的操作教學文可以試試

  2. (2020/3/2補充) Invent Your Own Computer Games with Python, 4th Edition
    這是一本可供線上免費閱讀的電子書,教你如何用python寫出小遊戲

學習JAVA

當今JAVA也算是熱門程式語言之一。

  1. (2020/4/21補充) JWorld@TW -上面有許多人分享的java程式,可參考學習

學習資料結構

  1. 演算法與資料結構
    很詳細的資料結構教學,以c++實作

  2. (2020/3/4補充) visualising data structures and algorithms through animation
    一個學習資料結構的演算法超猛的視覺化網站。將如何操作資料結構用動畫的方式演示給你看,讓你可以對資料結構有概念,涵蓋常見的資料結構如: linked list, hash table, binary search tree, ... 等等

學習演算法

  1. <<編程之法: 面試和算法心得>>
    這是一本書,個人覺得前五章以前都很值得一看,後面就比較多不重要的

  2. 非關語言: 常見程式演算
    此網站收集了一些常見程式算法問題,可以用來訓練程式邏輯,並有附上多種常見語言C 、Java、Python、Scala、Ruby、JavaScript…的解答

  3. The Algorithms - Python (GitHub)
    一個超強大在GitHub分享的程式,用python程式語言實作非常大量的演算法問題,涵蓋「排序、排組、回溯法、動態規劃、資結、搜索、遍歷、…」等等常見的演算法問題,非常值得學習參考

  4. (2020/4/27補充) 演算法筆記 - 一個記載各式各樣演算法的網站

  5. (2020/4/28補充) 黃建庭的教學網站>> C++演算法解題 - 此網站有蠻多解題教學的,收集各類題型,值得一學

學習動態規劃

動態規劃是一種實用的演算法,利用將大問題分解為小問題的策略解題,廣泛運用在各種經典問題上,很值得一學

  1. (2020/4/18補充) GeekforGeeks- C/C++ Dynamic Programming Programs 此站收集大量經典以c/c++實作的動態規劃問題,很值得參考學習

找程式練習網站

  1. 學外語尚且知道要跟外國人練習會話; 學程式語言,怎能沒有練功平台?心原一馬盤點六個刷題網站
    之前小馬曾寫過這篇文章介紹常見的幾個程式練習平台,大家可根據自己的需求選擇

  2. LeetCode All in One
    這個是Leetcode的解答網站,超推!Leetcode是準備面試的一個知名練題網站,此裡面解答網站有919題前的每題詳解,還分成不同版本,而且是中文的,若練習Leetcode卡關可到這邊學習

學習機器學習

  1. Welcome to Python Machine Learning course
    網傳說這是一門對新手入門友善的機器學習課程,不過這是英文版的,對英文不好的人來說讀起來較辛苦
    還有Github上的範例程式可供學習

  2. 機器學習入門(youtube-李宏毅老師)
    這是李宏毅老師在youtube上的公開課程,大多講解觀念為主,比較沒有程式碼。私心推薦,這位老師講課還蠻生動有趣的,印象較深的是regression這個單元,以人人耳熟能詳的「寶可夢」為例教學,使在學校課堂上從沒聽懂機器學習的小馬,第一次對機器學習的觀念有些理解了。若你也覺得修學校課程很難懂,可以試試看這門youtube上的課

學提問方法

現在網路發達,遇到學習瓶頸時,
在網路上發問也是解決問題的方法之一,
例如iT邦幫忙的「技術問答」區
然而一個不好的問題容易使人難以回答或懶的回答

以下這篇文章教你「提問的智慧」:
提問的智慧(原作者: Hacker Eric S. Raymond)

學習程式風格

良好的撰寫程式語言的風格可以讓程式碼更好閱讀而不容易出錯,
以下是google的程式語言風格的指南

  1. Google C++ Style Guide (英文版)

  2. Google 開源專案風格指南 (繁體中文版, c++)

  3. Google 開源專案風格指南 (繁體中文版, python)

書籍資源

比起網路上的免費資源,
一本好書常常能夠更有系統性的整理內容,
學習起來也更有效率,
以下分享小馬讀過自己也有購買的好書

  1. C++ Primer 5th Edition 中文版/ 出版社:碁峰 / 譯者: 黃銘偉
    小馬覺得這本書其實不適合新手買來自學,
    但若是有一定程度者買來讀的話功力必定大增,
    此書講解c++語法講解的非常詳細,
    細到你可能會驚呼:「哦,原來還有這種語法」
    https://ithelp.ithome.com.tw/upload/images/20200317/20117114sR8hkuqiXA.jpg
    <延伸閱讀>
    此書一個很棒的地方是,
    內有很多觀念檢測題讓讀書自我檢驗觀念是否理解了
    以下附上C++ Primer的習題解答:
    C++Primer第五版——習題答案+詳解
    Solutions for C++ Primer 5th Answers(GitHub)

對新手友善的資源

  1. (書本) 完全圖解Python程式設計/ 出版社:碁峰 / 作者: Carol Vorderman/ 譯者: 黃詩涵
    如果你是完全零基礎的程式學習者,那麼這本書應該會很適合你,書中有大量插圖,簡單的文字解說,幫助你理解,並能以簡單的程式碼實作有趣的小遊戲,值得一讀
    https://ithelp.ithome.com.tw/upload/images/20200301/20117114Ao8HU9F38a.png

  2. (書本) Python入門邁向高手之路王者歸來/ 出版社:深石/ 作者: 洪錦魁
    此書由淺入深講解基礎語法,並有大量的程式碼範例,帶你一步一步實作成為python高手
    https://ithelp.ithome.com.tw/upload/images/20200301/20117114iS8wGZXAWv.png

  3. 【Python 超入門】<心原一馬從零開始教你打程式> (1)~(11) 統整 #毛遂自薦能夠快速入門python的好教材
    覺得想學學看程式但還不想花錢嗎?小馬寫的【Python 超入門】系列或許可以試著讀讀看,本系列文嘗試以生活化的角度寫成,儘量降低讀者學習的門檻,而且是免費分享的

好的,以上就是從網上收集各類好用的程式學習資源的分享了,
如果你們有知道什麼好的學習資源也值得收錄的,
也歡迎在留言區分享哦~
/images/emoticon/emoticon41.gif/images/emoticon/emoticon41.gif


1
jimmy8481
iT邦新手 5 級 ‧ 2020-03-02 07:54:18

感謝樓主的整理
資料真的分類的非常詳細
相當實用
謝謝

心原一馬 iT邦研究生 5 級 ‧ 2020-03-02 08:33:44 檢舉

謝謝你的喜歡哦~

1
harry xie
iT邦新手 4 級 ‧ 2020-03-02 12:29:03

很棒的分享,推個

心原一馬 iT邦研究生 5 級 ‧ 2020-03-02 17:57:03 檢舉

謝謝你的欣賞哦~

1
KYC
iT邦新手 4 級 ‧ 2020-03-02 15:50:38

這是拉乎德爾的指針嗎?(收下了!)
推推!

心原一馬 iT邦研究生 5 級 ‧ 2020-03-02 17:57:26 檢舉

哈哈~ 好炫的比喻,謝謝

1
mlck970677
iT邦新手 5 級 ‧ 2020-03-03 15:58:49

不收藏...怎麼對得起我的良心呢?/images/emoticon/emoticon37.gif

心原一馬 iT邦研究生 5 級 ‧ 2020-03-03 16:39:34 檢舉

哈哈~ 很高興你的收藏,祝學習愉快

2
medivh0102
iT邦新手 5 級 ‧ 2020-03-11 21:53:07

一馬哥你好~謝謝你分享了這麼詳盡也時用的資源集
想跟您請教一下,因為我也剛把您所製作的「python超入門1-11」給紮實的練習了一番(沒有意外的話應該從第6章開始每篇都有我的留言吧XD)
但是可能是因為閱讀習慣吧,您所提供的那些python學習網站我都看不太下去,(一來也是因為都是英文居多OTL)所以打算入手最後推薦的那兩本書,那想問的是,如果單靠那兩本書卻缺少練習素材(類似[python超入門]裡您所提供的情境題)的話,有書籍專門提供練習這些程式語法的嗎?謝謝。

心原一馬 iT邦研究生 5 級 ‧ 2020-03-11 23:47:11 檢舉

medivh0102 您好,謝謝你的留言,
小馬當然記得你啊,哈哈~
你有常來我的【python超入門】系列文發文,
感覺你蠻有心學習的呢~

先聊聊您說的「您所提供的那些python學習網站我都看不太下去」,
小馬覺得這是正常現象不必太沮喪
畢竟小馬這邊提供的資源有點是「想精通這個領域,該如何更上一層樓」的網站資源,
小馬認為網站上的資源大多偏向「課本」的感覺,
如同條列式的一條條教,不太會融入生動故事,
因此閱讀起來較為困難,
主要還是找你看的下去的資源來閱讀會更有動力哦 ^^
小馬猜你會想學python應該是想當做興趣的,

可以入手這兩本書試試哦~
(可試著先在書店或圖書館找過試翻看看適不適合自己)
順序的話可先從「完全圖解Python程式設計」讀起,
這本書是彩色的,圖文並茂較容易閱讀,
書中也有「進階變化的技巧」,
會先教基礎小遊戲/程式的架構,
再給你一些想法可以怎樣去改良這支程式,
可當做「練習素材」

<Python入門邁向高手之路王者歸來>一書也有課後習題,
小馬提供的線上練習平台(即OJ)其實也可以試試的,
加油哦~

對..對不起,
「小馬猜你會想學python應該是想當做興趣的」
我是打算學做專長然後以此應徵相關行業的(未來1年內也打算拚個1-2張證照)
原來如此,那網站資源的部分我會試著努力強迫自己看懂的。謝謝一馬哥!

順帶一題 網站資源看不太下去主要是我不太懂他到底想表達以及教學甚麼,畢竟不是[python超入門],沒辦法很清楚的知道這個章節我可以學到甚麼以及我該練習甚麼,昨天大致翻了幾頁發現有點搞不清楚方向qq,就有點萌生退意了,抱歉這點是我意志力不足我承認。

1
jihong620
iT邦新手 5 級 ‧ 2020-08-26 10:10:02

感謝你整理得這麼詳盡
剛學 Python 的我非常受用!!
已收藏

心原一馬 iT邦研究生 5 級 ‧ 2020-08-28 22:43:32 檢舉

謝謝,很高興對你有幫助

我要留言

立即登入留言