roy4801
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- title: 學習資源 --- :::info 本共筆是一個動態列表 ::: # 學習資源 ###### tags: `輔大資工` `2020` `學習資源` [toc] ## 在開始學習之前 要具備啥,才能開始學習呢? 幸好你想學的是程式,而這個東西只需要一個小空間、一台有網路的電腦、還有一個想學習的心就可以達成。 有些東西會了,這條路可以走得更順遂: * 英文 * 許多最新的學習資源都是「英文」的 > 誰叫電腦就是西方發明的,固然語言也就是英文,[~~,掌握話語霸權~~](https://www.youtube.com/watch?v=vdNI1HvbyEE) * 自學 * 現在網路發達,知識的共享速度達到前所未及的程度,利用網路上的資源學習是一件非常重要的事 * 不要想著會有誰來幫你準備東西 * 不要以為學校會教所有工作時會用到的東西 ## Roadmap * 職業生涯 * 工程師 * 選擇領域 * 桌面應用程式 * 行動應用程式 * Web 開發 * 前端 * 後端 * 遊戲開發 * Client * Server * Engine * DevOps 維運 * 嵌入式 * Data Science * ... 不勝枚舉 * 研究所 * 研究主題 * [參考](https://zh.wikipedia.org/wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6) * 一些連結 * https://github.com/ossu/computer-science * https://teachyourselfcs.com/ * Roadmaps * [Game Devloper](https://github.com/utilForever/game-developer-roadmap) * [Web Developer](https://github.com/kamranahmedse/developer-roadmap) * [.. 其他很多](https://github.com/search?q=roadmap) :::info 如果找到自己的==興趣==所在很好,還沒找到的話可以趁早摸索。 但是在這之前要先打好基礎 ::: ## 程式語言 * 有些初學者會很糾結到底要學哪個程式語言 * 學校會教: C, C++, Java ,但僅止於介紹語法, * 對於初學程式語言的人來說,隨便挑一個語言下去學到可以用它做出東西(任意主題)就好 * 因為通用型的程式語言大多都差不多,主要的差別在於語言有擅長做的事 * 所以精熟一個以後可以很快的轉換到另一個語言上 * 但注意這裡僅止於會寫而已,學習一個語言最主要是要學習它的 "Best Practice" * 每個語言最基本的東西:變數、條件判斷、迴圈、陣列、函式(遞迴) * 那到底要挑哪個? * 不妨參考大家都在學啥: [問問 google 大神吧](https://www.google.com.tw/search?q=%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E5%85%A5%E9%96%80) * http://statisticstimes.com/tech/top-computer-languages.php ### 一些學習資源 * C++ * 基礎教程 (先挑一個就好,把它全部跑完後,才有餘力看其他的) * [教程/文字/中文] [語言技術:C++ Gossip](https://openhome.cc/Gossip/CppGossip/) * [教程/文字/中文] [C++ 入門 | C++與演算法](https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/cpp/README.html) * [教程/文字/英文] [LearnCpp](https://www.learncpp.com/) * 極推這個網站 * [教程/影片/英文] https://www.youtube.com/results?search_query=c%2B%2B+tutirual * 如果你都不喜歡,[問問 Google 大神](https://www.google.com/search?q=c%2B%2B+tutorial)挑一個看起來順眼的 * 其他資源 (建議先有基礎後才來瀏覽) * [列表/英文] https://github.com/fffaraz/awesome-cpp * [列表/英文] https://github.com/rigtorp/awesome-modern-cpp :::danger C 與 C++ 基本上可以當成不同的語言來看待我,只是 C++ 一開始相容 C 而已,隨著時間發展 C++ 早已比 C 多出太多東西了 ::: * Python * 基礎教程 (先挑一個就好,把它全部跑完後,才有餘力看其他的) * [教程/文字/中文] [語言技術:Python Gossip](https://openhome.cc/Gossip/Python/) * [教程/文字/英文] [learnpython.org](https://www.learnpython.org/) * [教程/文字/中文] [Python 教學 from docs.python.org](https://docs.python.org/zh-tw/3/tutorial/index.html) * [教程/影片/英文] https://www.youtube.com/results?search_query=python+tutirual * 其他資源 (建議先有基礎後才來瀏覽) * [列表/英文] https://github.com/vinta/awesome-python * [列表/中文] https://github.com/jobbole/awesome-python-cn #### 步驟 > "What I cannot create, I do not understand." > [name=Richard Feynman] * 先挑一個教程或是書,邊看邊做 * 最有效率的學習方式就是「實踐」 * 當一個語言基本會的差不多時,可以寫一些算法題目 * OnlineJudge 線上程式評測 * [Uva](https://onlinejudge.org/index.php) * 老牌 * [中文題目 Lucky貓的 UVA(ACM)園地](http://luckycat.kshs.kh.edu.tw/) * [vjudge](https://vjudge.net/) * 多樣 * 還有其他很多 OJ * 到一個階段(自行設定)時,開始寫一些具有些規模的小專案 (Project) * 挑個你有興趣的主題自幹 * 或是從生活中發現問題 * e.g. 替自己的動、漫畫寫個追番工具……等 * 自幹 game engine、自幹 editor、[自幹 compiler](https://p-upload.facebook.com/events/291013941683377/) * 這個過程你會學到超多東西 * 參與開源專案 * 從使用開始,看看你覺得有沒有改進的地方 * 用一些開源的函式庫(library) * 難度:中 * 從零開始 (from scratch) * 難度:高 > 你想想你的履歷上如果說:你會寫 C++ ,但是卻沒有專案可以證明?🤔 ## 大學時你能做些啥 ### 一些建議 * 可以選修系上 張信宏老師與鄭進和老師合開的程式競賽選修課(星期三下午) * 打比賽切勿走火入魔,量力而為(隊友要找好) * 多多跟學長姊打聽那些課是雷課 * 那些時間不如拿來自學 * 差不多大二以上時,會開始出現課程會有專題 * 千萬不能亂做,找志同道合的組員,好好的做 * 組員挑選千萬不能只看能力,「態度」也很重要 * 「能力中等但很專注在專題上的組員」比起「厲害但不在乎專題的組員」好100倍 * 做過一次專題後,覺得苗頭不對就快點換人,不要留戀 ### 系上社團 * 輔大資工有兩個系上的社團,活動內容都是與資訊科學相關 * 不時也會參加比賽、舉辦聚會 * [NISRA 資訊安全研究會](https://www.nisra.net/) * 活動時間: 社課(每周二晚上)、Training(雙周四晚上) * 暑期:NISRA Training 營隊、寒訓活動 * 地點: SF645 * [CPC 程式競賽社團](https://cpc2018.wixsite.com/main) * 活動時間: 社課(每周一晚上) * 暑期程式訓練營 * 地點: SF645 以上這些社團都不用報名,只要在活動時間出現在教室就好。 (記得加入 FB 社團) ## 其他東西 ### 筆記網站 * [HackMD](https://hackmd.io/?nav=overview) 可以自己一個或是找同學們一同筆記,提供 latex 語法(插入數學式) ### blog 紀錄是很好的習慣,以資工系來說,可以把遇到並解決問題 (bug) 或是安裝套件的過程記錄下來,在紀錄的過程,你會再去想你做了什麼,有助於學習,再者之後遇到同樣的問題可以直接看紀錄。blog 是一種很好的形式,blog 的額外好處是你能幫助到遇到相同問題的人 * [寫 blog 的好處](http://huli.logdown.com/posts/1880993-the-benefits-of-writing-blog) * 常用來寫部落格的地方:medium、blogger * 自己架部落格:hexo、hugo ### 線上貼程式 寫程式時遇到問題時,拿 code 去問別人是常見的事。但要讓別人能夠輕鬆地了解你的 code,除了要弄好**排版**外,網路上有很多網站專門提供貼程式碼。在手機或是電腦都可以打開來看,網站還會幫忙 highlight 關鍵字,增快閱讀速度 * [gist](https://gist.github.com/) * [codepad](http://codepad.org/) ### 開發工具 * 編輯器 (Editor) * [Visual Studio Code](https://code.visualstudio.com/) * 由微軟開發,跨平台的編輯器 * [安裝 C,C++ 環境](https://github.com/liaojason2/vscode-cpp-for-windows#mingw-%E5%AE%89%E8%A3%9D) * [Sublime Text](https://www.sublimetext.com/) * 一個輕巧、快速的編輯器 > 單純的編輯器還不構成開發環境,根據語言的不同,你還需要個編譯器(e.g. C/C++)或是直譯器(e.g. Python) * IDE (整合式開發環境) * 整合式開發環境把你寫一個語言所需要的工具都包成一個集合的環境,開箱即用 * C++ * [CLion](https://www.jetbrains.com/clion/) * [Code:blocks](http://www.codeblocks.org/) * [Visual Studio](https://visualstudio.microsoft.com/zh-hant/) * Python * [PyCharm](https://www.jetbrains.com/pycharm/) > 不要用 Dev C++,不要用 Dev C++,不要用 Dev C++ > Dev C++ 絕對不能用,Code:blocks 堪用 ### 版本控制 * git * [主流](https://i.imgur.com/TUl0ycd.png)的版本控制軟體 * [Github](https://github.com/) * [GitHub 是什麼?](https://gitbook.tw/chapters/github/what-is-github.html) ## 參考 Roadmaps to become a software developer https://www.reddit.com/r/learnprogramming/comments/8vsesz/roadmaps_to_become_a_software_developer/ Software Development Career Paths https://simpleprogrammer.com/software-development-career-paths/#title-web-development ## Contribution 本文件由採 創用CC 姓名標示─非商業性─相同方式分享 > <img src="https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-nc-nd.png" width=150> * 貢獻者 * 406262515 鍾秉桓 > 小小宣傳自己的 [blog](http://blog.roy4801.tw/) * 406261597 林子傑 > 我也有 [blog](https://allem40306.github.io/blog/)

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully