| 課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
| 1 | A C++ Primer |
Data abstraction using C++ |
Data abstraction using C++ |
|
|
|
| 2 | Principle of Programming and Software Engineering |
*Software engineering and object oriented design
*Key issues in programming |
*Software engineering and object oriented design
*Key issues in programming |
|
|
|
| 3 | Recurrsion |
*Recursive solutions
*Searching an array
*Recursion and effeciency |
*Recursive solutions
*Searching an array
*Recursion and effeciency |
|
|
|
| 4 | Recurrsion |
*Recursive solutions
*Searching an array
*Recursion and effeciency |
*Recursive solutions
*Searching an array
*Recursion and effeciency |
|
|
|
| 5 | Data Abstraction |
*Abstract data type
*Specifying ADTs
*Implementing ADTs |
*Abstract data type
*Specifying ADTs
*Implementing ADTs |
|
|
|
| 6 | Linked Lists |
*Programming with linked lists
*Variations of the linked lists
*The C++ standard template library |
*Programming with linked lists
*Variations of the linked lists
*The C++ standard template library |
|
|
|
| 7 | Recursion as a Problem Solving Technique |
*Backtracking
*Defining languages
*The relationship between recursion and mathematical Induction |
*Backtracking
*Defining languages
*The relationship between recursion and mathematical Induction |
|
|
|
| 8 | Stack |
Definition, application, and implementation |
Definition, application, and implementation |
|
|
|
| 9 | Stack |
Definition, application, and implementation |
Definition, application, and implementation |
|
|
|
| 10 | Midterm |
Midterm on materials from first half of the semester |
Midterm on materials from first half of the semester |
|
|
|
| 11 | Queues and dequeues |
Definition and implementation |
Definition and implementation |
|
|
|
| 12 | Queues and dequeues |
Definition and implementation |
Definition and implementation |
|
|
|
| 13 | Trees |
threaded binary tree; the Binary Search Tree abstract type and its representation; operations on the BST; Heaps: its implementations and applications; selection trees; forests; sets represented by trees and set operations |
threaded binary tree; the Binary Search Tree abstract type and its representation; operations on the BST; Heaps: its implementations and applications; selection trees; forests; sets represented by trees and set operations |
|
|
|
| 14 | Graphs |
The Graph abstract data type, its terminology and representations; dfs and bfs; connected and biconnected components; spanning trees and minimum cost spanning trees; shortest paths |
The Graph abstract data type, its terminology and representations; dfs and bfs; connected and biconnected components; spanning trees and minimum cost spanning trees; shortest paths |
|
|
|
| 15 | Graphs |
The Graph abstract data type, its terminology and representations; dfs and bfs; connected and biconnected components; spanning trees and minimum cost spanning trees; shortest paths |
The Graph abstract data type, its terminology and representations; dfs and bfs; connected and biconnected components; spanning trees and minimum cost spanning trees; shortest paths |
|
|
|
| 16 | Internal Sorting |
Quick sort, merge sort, and heap sort |
Quick sort, merge sort, and heap sort |
|
|
|
| 17 | Hashing |
Hash tables, hashing functions, and overflow handling |
Hash tables, hashing functions, and overflow handling |
|
|
|
| 18 | Final |
Final examination on materials from the second half of the semester |
Final examination on materials from the second half of the semester |
|
|
|