https://github.com/sonnyson-p/advanced-computer-programming-teaching-works
Advanced computer programming textbook
https://github.com/sonnyson-p/advanced-computer-programming-teaching-works
algorithm cpp data-structure teaching
Last synced: 19 days ago
JSON representation
Advanced computer programming textbook
- Host: GitHub
- URL: https://github.com/sonnyson-p/advanced-computer-programming-teaching-works
- Owner: SonnySon-P
- License: mit
- Created: 2026-04-05T14:46:05.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-08T15:12:04.000Z (about 1 month ago)
- Last Synced: 2026-05-08T17:21:06.289Z (about 1 month ago)
- Topics: algorithm, cpp, data-structure, teaching
- Language: C++
- Homepage:
- Size: 212 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Advanced Computer Programming Teaching Works
**一、動機說明:** 本課程內容係依據普通高中科技工程學群「加深加廣課程—進階程式設計」所設計,目標在於協助學生在掌握基礎程式設計能力後,進一步深化理解並拓展相關知能,培養邏輯思維與程式開發的綜合應用能力。
**二、教學目標:** 本課程著重於程式設計中資料結構與演算法的核心概念與實作技巧,透過系統化的教學內容,引導學生掌握有效管理與處理資料的方式,並培養解決問題的邏輯思維與演算法設計能力。期能提升學生在軟體開發、競賽程式設計及後續進階學習上的應用能力與競爭力。
**三、學習內容:**
- 學習重點: 掌握從矩陣操作、物件導向到進階資料結構(如鏈結串列、樹、圖)的應用;深耕核心演算法,包含遞迴、搜尋排序、深度/廣度優先遍歷及動態規劃。
> [!Note]
> 由於內容包含矩陣與向量操作、標準與自訂模組、定義類別與建立物件、移動視窗法(Sliding Window)、堆疊(Stack)與佇列(Queue)、鏈結串列(Linked List)、哈希表(Hash Table)、樹狀結構(Tree)、圖(Graph)、排序(Sort)、遞迴(Recursion)、直接搜尋法與二元搜尋法(Binary Search)、深度搜尋法(DFS)與廣度搜尋法(BFS)、動態規劃(Dynamic Programming)等等,課程難度將依學生的先備知識水平及學習狀況,即時進行適性化滾動調整。
- 學習順序: `pointer` → `reference` → `absolute` → `power` → `max-array` → `max-vector` → `degree_to_radian` → `coin_change-greedy` → `average` → `standard_deviation` → `prime-exhaustive` → `prime-trial_division` → `gcd` → `matrix_addition` → `matrix_multiplication` → `large_Integer_multiplication` → `sum_1_to_n-Iterative` → `sum_1_to_n-recursion` → `fibonacci_recursion` → `fibonacci_DP` → `knapsack_bitmask` → `knapsack_DP` → `bubble_sort` → `insertion_sort` → `bucket_sort` → `merge_sort.cpp` → `median` → `linear_search` → `binary_search` → `stack-function` → `stack-OOP` → `queue` → `function_overloading-polymorphism` → `string_matching-sliding_window` → `linked_list` → `hash_table` → `binary_tree` → `BFS` → `DFS` → `dijkstra` → `MST-prim`(還尚有其他內容,陸續整理中)
**四、學習環境:**
1. 程式語言:C++11以上版本
2. 編輯器:Visual Studio Code
**五、運行方式:**
```bash
g++ -std=c++11 <檔案名稱>.cpp -o app
./app
```