# 給學生的電腦科學學習指南 幾個問題先思考: 1. 未來10年,人類會怎麼使用電腦,讓生活、工作方式更美好? 2. 你希望自己用電腦,創造什麼領域方面的價值? 3. 學習電腦科學就是學習程式設計? ## 為什麼要學習電腦科學 從宏觀來看,電腦科學的發明,就是為了讓**實體世界虛擬化**,擺脫物理限制,創造無限可能。 >例如: 我們透過電腦模擬,未來數千年,宇宙星體的變化,不用真的等到數千年後就可看到結果。 要進行虛擬化,必須將現實的所有人事物、轉為數字資料形式來描述,讓電腦理解、處理。 從個人角度,世界的任何一個人事物,都可以轉換成數位資料來處理,解決該領域的問題,所以必須確認自己想投入哪個領域,從未來的工作回來看你所該具備的「被信任度」,包括該具備的領域知識、電腦科學知識、通過的檢定認證。 ## 電腦科學的知識藍圖與應用範圍 [電腦科學學習藍圖 完整版](https://hackmd.io/@howkii-studio/cs_learningmap) 電腦系統原理:了解硬體、軟體、網路的運作方式 電腦程式語言:掌握基本電腦程式語法,讓電腦運作 數學與演算法:讓電腦用最有效率的方式、容器,儲存、運算資料解決問題 ## 快速入門 ### 硬體 1. Von Neumann架構:電腦五大單元 - 運算邏輯單元 - 控制單元 - 記憶單元 - 輸入單元 - 輸出單元 2. 電腦硬體的零件 - CPU, Motherboard - RAM - HDD/SSD - LCD Display - Mouse, Keyboard 3. Maker自造者 - 3D繪圖能力 - 3D列印機操作、木工工具機操作 ### 網路 1. 網路管理(`LTE`, `Wi-Fi`, `Ethernet`) 2. `http協定` ### 軟體 1. 掌握一門物件導向程式:推薦`Python` - Web: `HTML`, `CSS`, `Javascript` - Database: `SQLite` - Backend: `Django`, `Flask` - Mobile: `Kotlin`, `Swift` 3. 使用好上手的開發工具:推薦`repl.it` 4. 版本管理工具:推薦`git` ### 其他工具 1. `HackMD`:Markdown語法筆記工具 2. `GitHub`:開放原始碼社群交流 ## 長期學習 1. 把英文練好 - 加強閱讀跟聽力:方便尋找國外資源跟掌握熱門趨勢 - 加強口說跟書寫:分享知識、詢問問題 2. 找到好的書籍、免費線上課程 - 書籍推薦: - <a href="https://www.taaze.tw/apredir.html?132632421/https://www.taaze.tw/goods/11100909405.html?" target="_blank">精通 Python|運用簡單的套件進行現代運算 第二版</a> - <a href="https://www.taaze.tw/apredir.html?132632421/https://www.taaze.tw/goods/11100803273.html?" target="_blank">Python 自動化的樂趣:搞定重複瑣碎&單調無聊的工作</a> - <a href="https://www.taaze.tw/apredir.html?132632421/https://www.taaze.tw/goods/11100904497.html?" target="_blank">Django從平凡到超凡:Python架站實作演練</a> - 線上課程 - codeacdemy 3. 加入社團、同好社群 - Python Taiwan (FB社團) ## 思考 1. 如何找到有熱情的領域 - 看書 - 了解各行各業 - 營隊 - 網路社群 2. 建構自己的學習藍圖 - **領域知識**:就讀相關科系、進入產業工作 - **該領域中值得解決、突破的問題**:掌握產業趨勢 - **資訊科技如何協助解決、用什麼方式解決**:平時對資訊科技有所掌握,知道可以用什麼工具解決 3. 規劃與落實平時對累積資訊科技能力的方法 - 至少掌握一門程式語言 - 累積實作作品(Web App, Mobile App, Script, Game) - 參與社團、社群 ###### tags: `電腦科學概論`
×
Sign in
Email
Password
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