0.7 學習路線圖
以下是 Level 0 全書 8 個單元的結構和依賴關係:
課程是線性的,請依照下面的順序學習,後面的單元會用到前面的觀念:
- 第零單元:開始之前(你現在在這裡)— 課程定位、前置知識、心態準備
- 第一單元:寫出你的第一支程式 — 工具、編輯器、Hello World、基本輸入輸出
- 第二單元:資料型態與運算 —
int、long long、運算式、整數溢位 - 第三單元:條件判斷 —
if/else、bool、邏輯運算子、變數範圍(scope) - 第四單元:迴圈 —
while、for、do-while、break/continue、巢狀迴圈、TLE - 第五單元:線上評測系統(完整版) — OJ 介紹、判定結果、各大平台、讀題技巧
- 第六單元:陣列 — 一維 / 多維陣列、
const、MLE - 第七單元:函式 — 定義、回傳值、參數、pass by value
¶學習路線說明
- 線性設計:後面的單元依賴前面的知識(例如第三單元需要第二單元的變數和運算)
- 第五單元的特殊位置:OJ 介紹放在第四單元後,是因為到這時你已經寫過能跑的程式,對 OJ 的各種判定結果(AC、WA、TLE、MLE)會有實際體驗
- 第六、七單元:陣列與函式是程式語言裡最基礎也最核心的兩個工具,幾乎之後每一支程式都會用到,先把它們學熟
¶大概要花多少時間?
每個人的節奏不同,但給你一個參考。本書(語法班,單元 1-7)對應的課後練習,光是「基礎題」就有 100 題上下,再加上每個單元的閱讀和進階練習:
- 整體:在每週投入約 3 到 5 小時的前提下,走完單元 1-7 大約需要 2 到 4 個月。
- 每個單元:大約 1 到 2 週。
- 每一道基礎題:剛開始時,含閱讀、思考、打字、除錯,一題可能要花你 15 到 30 分鐘——這很正常,越往後你會越快。
不用跟別人比速度。重點是每一題都真的自己想過、自己打過、自己 debug 過,而不是趕進度。慢慢來,比較快。
¶你即將寫的第一支程式
來看一眼第一單元結尾你會寫的程式長什麼樣子:
#include <iostream>
using namespace std;
int main() {
int A, B;
cin >> A >> B;
cout << A + B << endl;
return 0;
}
這支程式做的事:讀入兩個整數,輸出它們的和。看不懂沒關係,第一單元會逐行解釋。