CM1035 : Algorithms and Data Structures I
🔖 課前準備事項:
- 基礎概念: 課程範圍主要為:
- Abstract Data Structure (抽象性數據結構): Vectors, Queues & Stacks
- Searching Algorithms (搜尋演算法): Linear Search & Binary Search
- Sorting Algorithm (排序演算法): Bubble Sort, Insertion Sort, Quicksort and Mergesort
- Recursion (遞迴)
- RAM Model (RAM模型)
- Big-O Notation (大O/漸進符號)
- Time/Space Complexity (時間/空間 複雜度)
- 指定課本: (課本隨時有異動,詳情請查詢課上公布):
- Cormen, T.H., C.E. Leierson, R.L. Rivest and C. Stein Introduction to Algorithms. (3rd edition)
- 電腦環境需求: PC/Mac/Linux 基本上都是線上閱讀,只要瀏覽器即可。
- 其他工具準備: 紙、筆等之類可以手做練習。
📓 課程攻略摘要:
- 期中考 Midterm:
- 第 12 週左右需要交一個解題式的作業,主要是一個 4x4 的數獨 (Sudoku) 遊戲,要你把指定的功能用 pseudocode 寫出來:
- 雖然是交 pseudocode ,如果可以,用你熟悉的一個語言 (Python 或 JavaScript) 模擬一遍整個程式的運作,能更確定你的答案。
- 考題中有一題論述如何加強這隻程式,只能以你所學的去回答了,可以往不一樣的 Data Structure 方式去構思。
- 有限字數的報告,請確認字數不能太少或太多。
- 第 12 週左右需要交一個解題式的作業,主要是一個 4x4 的數獨 (Sudoku) 遊戲,要你把指定的功能用 pseudocode 寫出來:
- 期末考 Final:
- 第 22 周左右的期末考分別分類為:
- Part A (10 題選擇題)
- Part B 三選二論述題
- 第 22 周左右的期末考分別分類為:
- 其他考核作業:
- 線上Coursera課堂小考 Summative Quiz: 💡 某些小考有時間跟次數限制,盡可能自己多做練習,把握有限的次數機會,得取最高分數。
🤩 同學們的建議:
Chris: 如果覺得 Data Structure 這個概念很新的話,建議多參考 Youtube 相關的教學,其次是所有的 Algorithms 要深入了解其運算的過程,比較像是數學帶公式的方式,若一個步驟錯樣樣錯。期末考程度每年有異,只能多練習,多練功了。[03/29/2022]
Cynthia: 課堂中的pseudocode能練習寫成JS就做,或是練習想一個邏輯定把它用pseoducode寫出來,會對期中作業有很大的幫助。期末的部分會需要理解JS Algorithm並找出更好寫法的能力,只能靠平時練習。[2022/10/02]