
清華大學資工系必修課,主要對象為大一學生,延續計算機程式設計一,繼續磨練程式能力。
1. | 延續計算機程式設計一,繼續鍛鍊程式能力! |
2. | 透過實作來認識資訊工程基礎知識與技術! |
♠ | 修課學生必須 修過程式設計一 (等同 EECS/EE 程式設計) 或是 通過開學第一週舉辦 |
定,符合資格才能以加簽方式選課。 | |
♠ | 修課學生必須 修過程式設計一並取得學分 (等同 EECS/EE 程式設計) |
| 或是 通過開學第一週舉辦的程式設計一能力檢定,符合資格才能以加簽方式選課。 |
♠ | 採用榮譽制,請對自己負責,憑實力完成! |
| 這也是對自己的程式能力的檢驗,如果沒能力達成,可能會跟不上程設二的課程難度和進度。 |
|
【對象】 | 還沒拿到「資工系計算機程式設計一、「電機系計算機程式設計」、 |
「電資班 計算機程式設計」任何一個科目學分的同學 | |
【題目】 | http://acm.cs.nthu.edu.tw/contest/2084/ |
【註冊帳號】 | 必須採用 IPHTC+學號格式,例如 IPHTC109062500 |
【條件】 | 在期限內,用規定的帳號,答對全部題目,通過檢定符合條件可在第二週上課時加簽! |
| |
【授課大綱】
第1R講 | Week 02 | 課程規則、題目講解 (linked list, pointer, 前綴和) |
第2R講 | Week 03 | OJ 介紹、題目講解 (Josephus problem, linked list) |
第3R講 | Week 05 part 1 | 題目講解 (前綴和, 快速冪, tree order) |
第4R講 | Week 05 part 2 | Code debug 方法介紹 |
第5R講 | Week 07 | 題目講解 (binary expression, 二分搜尋樹, 二分搜尋法)、 |
Mini Project 1 介紹 | ||
第6R講 | Week 09 | 題目講解 (二分搜尋樹, lower bound, upper bound) |
第7R講 | Week 11 | 題目講解 (set, class, depth-first search) |
第8R講 | Week 13 | 題目講解 (vector, string, depth-first search, 二分搜尋法) |
第9R講 | Week 14 | 題目講解 (class, 二分搜尋法)、Pre-final Project 介紹 |
第10R講 | Week 17 | 題目講解 (standard library, 二分搜尋法, 前綴和, 離散資料處理) |
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
本課程的目的, 在於讓沒有從事數位人文學習的修課同學有初步的體驗, 了解文字、數字、表格和圖表之間轉換;另外一個重點 在於, 並利用資料庫(CBDB, China Biographical Databa
This course is aimed to help the students learn how to program in C. There will be several labs, two midterm exams, one final exam, and the final project, with the following percentages: 1. Online judge labs (20%), 2. Two midterm exams (30%), 3. One final exam (30%), 4. Final project (20%). The textbook is S. Prata, C PRIMER PLUS. Printout lecture notes will be available.
【課程大綱】
Syllabus
This course is aimed to help the students learn how to program in C.There will be several labs, two midterm exams, one final exam, and the final project,with the following percentages:
1. | Online judge labs (20%) — every two weeks |
2. | Two midterm exams (30%) |
3. | One final exam (30%) |
4. | Final project (20%) |
第1R講 | Week 01 | 課程介紹、編輯器介紹 (codeblocks)、OJ 使用 | |
第2R講 | Week 02 | 課程介紹、題目講解 (I/O)、I/O format | |
第3R講 | Week 03 | 題目講解 (數學邏輯題), 學習資源介紹 | |
第4R講 | Week 04 | 題目講解 (數學邏輯題, 二進位) | |
第5R講 | Week 05 | 時間複雜度介紹 (big-O notation, 分析方法) | |
第6R講 | Week 06 | 做題技巧、題目講解 (前綴和, 數學題) | |
第7R講 | Week 07 | 題目講解 (字串, 邏輯題)、常見問題 (陣列大小)、Coding Style | |
第8R講 | Week 08 | 題目講解 (遞迴, 枚舉, 字串) | |
第9R講 | Week 09 | 題目講解 (最大公因數, 遞迴, 枚舉)、Debug 教學 | |
第10R講 | Week 11 | 題目講解 (二分搜尋法, 快速冪) | |
第11R講 | Week 12 | 題目講解 (邏輯題, pointer, 前綴和) | |
第12R講 | Week 13 | 題目講解 (貪心, 數學題, 二分搜尋法) | |
第13R講 | Hackathon Part 1 | Final Project: 規則、介紹、環境安裝 | |
第14R講 | Hackathon Part 2 | Final Project: 函式庫教學、優秀作品 demo | |
第15R講 | Week 14 | 題目講解 (depth-first search, sorting, 二分搜尋法) | |
第16R講 | Week 15 | 題目講解 (sorting, struct, string, depth-first search, 枚舉)、 | |
觀念釐清 (pointer) | |||
第17R講 | Week 16 | Final Project 注意事項、題目講解 (矩陣快速冪, sorting, 貪心) | |
第18R講 | Week 17 | 題目講解 (矩陣快速冪, linked list, 二分搜尋法) | |
| | |
【指定用書】
Textbook
♠ | S. Prata, C PRIMER PLUS |
♠ | Lecture notes - https://reurl.cc/OExyMX |
|
民國89年(西元2000年)台達電子公司董事長鄭崇華先生感念孫運璿先生對國家經濟卓越貢獻,以台達電子公司股票之現金股利,捐贈本校設置「孫運璿科技講座」,協助本校推動科技研究活動並提供具特殊成就者獎助或獎勵。
【課程說明】
Course Description
民國89年(西元2000年)台達電子公司董事長鄭崇華先生感念孫運璿先生對國家經濟卓越貢獻,以台達電子公司股票之現金股利,捐贈本校設置「孫運璿科技講座」,協助本校推動科技研究活動並提供具特殊成就者獎助或獎勵。科管院孫運璿講座所扮演的角色不再只是一個專業的學術講座,而是涵蓋更多生活化、產業化,及大眾關心的議題。以孫運璿先生做為講座名稱,就是希望能讓學術知識產生影響社會的力量。從這個高度出發,這個講座演講讓學校建立起對社會的影響力並有更大的貢獻。
第 1 講 | 德治、禮治、刑治、法治:科技社會的文化環境 |
♠ 李念祖 理律法律事務所所長 | |
第 2 講 | 跨領域專業資源整合與尤努斯三零世界 |
♠ 蔡慧玲 財團法人台灣尤努斯基金會董事長兼創辦人 | |
第 3 講 | 台灣新國病:肺癌的篩檢及防治 |
♠ 陳晉興 台大癌醫中心醫院 副院長/腫瘤外科部主任/台大醫學系外科 教授 | |
第 4 講 | 全民健保來了,健康不平等依舊 |
清華大學資工系必修課,主要對象為大一學生,延續計算機程式設計一,繼續磨練程式能力。
有意願修課的同學,請直接從校務資訊系統的加簽電子表單提出申請!
♠ | 這門課是以遠距直播方式上課,上課時間是每個星期二晚上 6:30-9:20。 |
每個星期四晚上的助教時間,也是以直播方式講解。期中考、期末考則另外會安排在電腦教室實體上機考試。 | |
♠ | 9/13 開學第一堂課,請直接進入 Microsoft Teams 線上上課: |
Microsoft Teams Channel 直播連結是https://tinyurl.com/2f3r4uuz | |
♠ | 只要使用 NTHU Office365 帳號可以直接加入課程群組。 |
校外同學請提供 Microsoft Teams 帳號,我們會手動將你加入群組。 |
【課程概述】
Course Description
1. | 延續計算機程式設計一,繼續鍛鍊程式能力! |
2. | 透過實作來認識資訊工程基礎知識與技術! |
♠ | 修課學生必須先修過!!!! |
(1). 「資工系計算機程式設計一」 (2). 「電機系計算機程式設計」 (3). 「電資班計算機程式設計」三門課程其中任何一門課。 | |
♠ | 如果未滿足上述條件,則必須通過程式設計檢定。 |
程式設計檢定採用榮譽制,請對自己負責,憑實力完成,這也是對自己的程式能力的檢驗。如果沒能力達成,可能會跟不上程設二的課程難度和進度。 | |
♠ | 線上作答題目,稍後會再公告。題目難度相當於程式設計一期末考。 |
♠ | 截止期限:2022/09/20 00:00:00 |
【指定用書】
Text Books
♠ | 無指定用書 |
♠ | |
1. | 課程介紹 | 11. | Templates |
2. | 複習 C 指標 | 12. | Graph and Path Finding |
3. | Circular linked Lists | 13. | Search Problems |
4. | Josephus Problem | 14. | Search Problems |
5. | Binary Trees | 15. | Modern C++ |
6. | Binary expressions, Syntax Trees | 16. | Modern C++ |
7. | Calculator Tree, Assembly | 17. | Final Exam |
8. | Midterm Exam & Written Exam | 18. | Project Demo |
9. | C++ Introduction | ||
10. | Derived Class | ||
第1R講 | Week 02 | C 指標複習、Linked List (singly, circular) 介紹 |
第2R講 | Week 03 | 課程日程、Linked List (double pointer) |
第3R講 | Week 04 | Josephus Problem (array, linked list, recursive) |
第4R講 | Week 05 | Binary Tree, Tree Order (pre-order, in-order, post-order) |
第5R講 | Week 06 | Binary Expression, Syntax Tree |
第6R講 | Week 07 | Calculator, Compiler (lexer, parser) |
第7R講 | Week 08 | Assembly, Computer Architecture |
第8R講 | Week 09 | C++ Introduction (syntax, I/O, array, class) |
第9R講 | Week 10 | C++ Classes (introduction, derived classes, abstract classes) |
第10R講 | Week 12 | C++ Classes (examples: list, vector) |
第11R講 | Week 13 | C++ Classes (examples: vector) |
第12R講 | Week 14 | Standard Library, Graph and Path Finding |
第13R講 | Week 15 | Problem Solving Using C++ (water jug) |
第14R講 | Week 16 | Problem Solving Using C++ (missionary, torch) |
第15R講 | Week 17 | C++ 17 and C++ 20 |
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
♠ | 若因防疫規定而影響實體考試的執行,各項成績考核的分配 |
比例可能會依情況因應調整! | |
| 10% written exam |
| 30% midterm exam |
| 30% final exam |
| 10% mini project |
| 20% big project & hackathon |
清華大學資工系必修課,主要對象為大一學生,延續計算機程式設計一,繼續磨練程式能力。
1. | 延續計算機程式設計一,繼續鍛鍊程式能力! |
2. | 透過實作來認識資訊工程基礎知識與技術! |
♠ | 修課學生必須 修過程式設計一 (等同 EECS/EE 程式設計) 或是 通過開學第一週舉辦定,符合資格才能 |
以加簽方式選課。 | |
♠ | 修課學生必須 修過程式設計一並取得學分 (等同 EECS/EE 程式設計)或是通過開學第一週舉辦的程式 |
| 設計一能力檢定,符合資格才能以加簽方式選課。 |
♠ | 採用榮譽制,請對自己負責,憑實力完成! |
| 這也是對自己的程式能力的檢驗,如果沒能力達成,可能會跟不上程設二的課程難度和進度。 |
|
【對象】 | 還沒拿到「資工系計算機程式設計一、「電機系計算機程式設計」、「電資班 |
計算機程式設計」任何一個科目學分的同學 | |
【題目】 | http://acm.cs.nthu.edu.tw/contest/2084/ |
【註冊帳號】 | 必須採用 IPHTC+學號格式,例如 IPHTC109062500 |
【條件】 | 在期限內,用規定的帳號,答對全部題目,通過檢定符合條件可在第二週上課時加簽 |
|
【指定用書】
Text Books
♠ | 無指定用書,https://reurl.cc/bG1LAX |
1. | 課程介紹、加簽、程設一資格檢定測驗 | 11. | Templates |
2. | 複習 C 指標 | 12. | Graph and Path Finding |
3. | Circular linked Lists | 13. | Search Problems |
4. | Josephus Problem | 14. | Search Problems |
5. | Binary Trees | 15. | Modern C++ |
6. | Binary expressions, Syntax Trees | 16. | Modern C++ |
7. | Calculator Tree, Assembly | 17. | Final Exam |
8. | Midterm Exam & Written Exam | 18. | Project Demo |
9. | C++ Introduction | ||
10. | Derived Class | ||
第1R講 | Week 02 | 課程簡介、C 指標複習、Linked List 介紹 |
第2R講 | Week 03 Part 1 | Linked List 補充 (double pointer) |
第3R講 | Week 03 Part 2 | Linked List 補充 (delete, swap) |
第4R講 | Week 04 Part 1 | 資料結構與演算法介紹 (Josephus problem)、時間複雜度 |
第5R講 | Week 04 Part 2 | 時間複雜度介紹 (Big-O notation)、Josephus Problem |
第6R講 | Week 04 Part 3 | Josephus Problem (code 實作) |
第7R講 | Week 04 Part 4 | Josephus Problem (code 實作, 更高效的解法) |
第8R講 | Week 05 | Binary Tree, Tree Order (pre-order, in-order, post-order) |
第9R講 | Week 06 | Binary Expression, Syntax Tree |
第10R講 | Week 07 Part 1 | Calculator, Compiler (lexer, parser) |
第11R講 | Week 07 Part 2 | Calculator, Compiler (lexer, parser), Grammar |
第12R講 | Week 08 | Assembly, Computer Architecture |
第13R講 | Week 09 | C++ Introduction (syntax, I/O, 字串, array, class) |
第14R講 | Week 11 | C++ Classes (introduction, derived classes, abstract classes) |
第15R講 | Week 12 | C++ Classes (examples: list, vector) |
第16R講 | Week 13 | C++ Classes (vector), Standard Library, 使用演示 (猜數字) |
第17R講 | Week 14 | Graph and Path Finding, Standard Library |
第18R講 | Week 15 Part 1 | Problem Solving Using C++ (water jug) |
第19R講 | Week 15 Part 1.5 | Problem Solving Using C++ (water jug) |
第20R講 | Week 16 | Problem Solving Using C++ (missionary, torch) |
第21R講 | Week 17 | Week 17〡C++ 17 and C++ 20 |
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
♠ | 10%written exam、30%midterm exam、30%final exam、10%mini project、 |
20%big project & hackathon |
This course covers fundamental concepts in operating systems for computers, including multiprogramming, interrupt, processes, kernel, parallelism...
Silberschatz, P. Galvin, and G. Gangne, Operating System Concepts, | |
10th Edition (International Student Version), John Wiley & Sons, Inc. | |
♠ | Small Device C Compiler, http://sdcc.sourceforge.net/ |
♠ | Slides:https://ocw.nthu.edu.tw/ocw/index.php?page=newsContent&id=692 |
Chap0 : | History of OS |
Chap1 : | Introduction |
Chap2 : | System Structures |
Chap3 : | Process Concept |
Chap4 : | Threads |
Chap5 : | Scheduling |
Chap6 : | Synchronization, Chap7: Synchronization Examples |
Chap7 : | Synchronization Examples |
Chap8 : | Deadlocks |
Chap9 : | Main Memory |
Chap10 : | Virtual Memory |
Chap11 : | Mass Storage |
Chap12 : | I/O |
Chap13 : | File System |
Chap14 : | File System |
「資料結構」是學習以聰明的方法去儲存資料,使得我們在有需要的時候能夠快速有效地把資料擷取....
【課程說明】
Course Description
「資料結構」是學習以聰明的方法去儲存資料,使得我們在有需要的時候能夠快速有效地把資料擷取。例如我們希望把學生某一科的考試成績整理,使得我們能隨時查詢任何學生的排名。為了節省查詢的時間,我們或許會把學生們的成績從高至低排好,而不會以隨意的順序排列。〈對此問題,其實還有一個更好的方法呢!〉
Week 1 | Getting Started、Heap |
● Introduction ● Sorting 的方法 & 分析 ● Exercise - Insertion Sort ● Sorting 的分析 ● Exercise - Merge Sort ● Growth of Functions ● Exercise - Growth of Functions ● Insertion Sort 上機 ● Heap-1 ● Exercise - Heap I ● Heap-2 ● Exercise - Heap II | |
Week 2 | Sorting Lower Bound、Basic Data Structures I (List, Queue, Stack) |
● Lower Bound on Comparison Sorts - 1 ● Exercise - Lower Bound on Comparison Sorts I ● Lower Bound on Comparison Sorts - 2 ● Exercise - Lower Bound on Comparison Sorts II ● Pointers in C ● Basic Data Structure Ⅰ - 1 ● Basic Data Structure Ⅰ - 2 ● Exercise - Basic Data Structure I ● Josephus 上機 ● Exercise - Josephus Problem ● Balanced 括號上機 ● Exercise - Balanced Parentheses ● List 上機_insert ● List 上機_delete | |
Week 3 | Basic Data Structures II (Tree, Graph)、Graph and Tree Traversals I |
(BFS, DFS) | |
● Tree and Graph ● Exercise - Tree ● Breadth First Search ● Exercise - Breadth First Search ● Depth First Search ● Exercise - Depth First Search ● Depth First Search 分析 | |
Week 4 | Graph and Tree Traversals II (Tree Traversals, Expression Tree )、 |
| Graph and Tree Traversals III (Topological Sort) |
● Tree Traversal ● Exercise - Tree Traversal ● Expression Tree & Postfix Notation of an Expression ● Infix-Postfix Coversion ● Exercise - Expression ● Topological Sort ● Topological Sort 證明 ● Exercise - Topological Sort ● Two IQ Questions ● Exercise - Josephus Problem Revisited | |
Week 5 | Searching Set Data I (Binary Search Tree) |
● Binary Search Tree ● Binary Search Tree 實作 (Min / Max) ● Binary Search Tree 實作 (Search / Predecessor) ● Binary Search Tree 實作 (Insert / Delete) ● Binary Search Tree 實作 (Delete) - Case 1 & 2 ● Binary Search Tree 實作 (Delete) - Case 3 ● BST上機_insert ● BST上機_delete_1 ● BST上機_delete_2 ● BST上機 - 3 ● Exercise - Binary Search Tree | |
Week 6 | Searching Set Data II (AVL Tree) |
● AVL Tree ● AVL Tree - Rotation ● AVL Tree - Insertion 的情形 ● AVL Tree - Insertion實作 Case 2.2 ● AVL Tree - Insertion 實作 Case 2.3 ● AVL Tree Insert 補充 & Delete ● Augmenting Data Structure ● Exercise - AVL Tree | |
Week 7 | Searching Set Data III (B-Tree) |
● B-tree EM Model ● B-tree insert ● B-tree delete ● Exercise - B Tree I ● Exercise - B Tree II | |
Week 8 | Hashing (Chaining, Open Addressing)、Suffix Tree and Suffix Array |
● Hashing ● Common Hash Function ● Exercise - Hashing ● Indexing Strings & Suffix Array ● Exercise - Suffix Array | |
♠ | Introuction to Algorithms |
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein | |
♠ | Fundamentals of Data Structures in C++ |
Ellis Horowitz, Sartaj Sahni, Dinesh Mehta |
♠ | Algorithms in C++Robert Sedgewick |
♠ | C/C++ Programming |
民國89年(西元2000年)台達電子公司董事長鄭崇華先生感念孫運璿先生對國家經濟卓越貢獻,以台達電子公司股票之現金股利,捐贈本校設置「孫運璿科技講座」,協助本校推動科技研究活動並提供具特殊成就者獎助或獎勵。
【課程說明】
Course Description
民國89年(西元2000年)台達電子公司董事長鄭崇華先生感念孫運璿先生對國家經濟卓越貢獻,以台達電子公司股票之現金股利,捐贈本校設置「孫運璿科技講座」,協助本校推動科技研究活動並提供具特殊成就者獎助或獎勵。科管院孫運璿講座所扮演的角色不再只是一個專業的學術講座,而是涵蓋更多生活化、產業化,及大眾關心的議題。以孫運璿先生做為講座名稱,就是希望能讓學術知識產生影響社會的力量。從這個高度出發,這個講座演講讓學校建立起對社會的影響力並有更大的貢獻。
我們希望能夠為這個講座規劃重要議題,不論是一個宣告、或一個見解的討論,都能夠帶動學校產生不同的思考與行動,甚至帶動一個風潮,讓校園的新思維與創新能回饋社會產生影響,如果能夠這樣設計的話,清華大學科技管理學院不只是在地理位置上,在核心思想上都將扮演了一個舉足輕重的地位,這就比較容易凸顯清華為什麼是一流大學。
第 1 講 | 2022上半年度孫運璿講座宣傳影片 |
第 2 講 | 在不確定與危機下做決策:以高教與災防為例 |
♠ 黃榮村 考試院院長 | |
第 3 講 | 淨零時代科技研發的挑戰與機會 |
♠ 簡又新 | |
第 4 講 | 中度所得陷阱與創新 |
♠ 陳添枝 | |
第 5 講 | 健康與長壽 |
♠ 葉金川 | |
第 6 講 | 從不均衡戰略三角看台灣與烏克蘭:比較與連動 |
♠ 吳玉山 | |
第 7 講 | 崑曲復興 青春何在-白先勇與牡丹亭 |
♠ 王安祈名譽教授-國光劇團總監、台灣大學名譽教授 | |
https://reurl.cc/OEv9oA | |
第 8 講 | 金融科技四十年來的演變、影響與機會 |
♠ 胡國琳創辦人兼執行 - Founder and CEO of | |
RiskVal Financial Solutions, LLC | |
https://www.linkedin.com/company/riskval-financial | |
第 9 講 | 全民健保來了,健康不平等依舊在? |
♠ 江東亮 | |
第 10 講 | 台灣新國病:肺癌的篩檢及防治 |
♠ 陳晉興 | |
第 11講 | 跨領域專業資源整合與尤努斯三零世界 |
♠ 蔡慧玲 | |
第 12 講 | 德治、禮治、刑治、法治:科技社會的文化環境 |
♠ 李念祖 | |
第 13 講 | 逆全球化潮流與全球治理改革的新動力 |
♠ 朱雲漢 | |
第 14 講 | 親愛的,我老了 |
♠ 楊志良 | |
第 15 講 | 俠之大者:上官鼎筆下的俠義世界 |
♠ 上官鼎 | |
第 16 講 | 全球思潮與民粹主義 |
♠ 江宜樺 | |
第 17 講 | 萬物聯網與台灣機會 |
♠簡立峰 | |
孟亨教授致力臻至完美專業化的木笛音樂教學,並積極將台灣特色的木笛音樂推展至國際,用醍醐灌頂的教學熱情積極將台灣的木笛音樂推展至國際舞台!
【課程說明】
Course Description
孟亨教授致力臻至完美專業化的木笛音樂教學,並積極將台灣特色的木笛音樂推展至國際,用醍醐灌頂的教學熱情積極將台灣的木笛音樂推展至國際舞台!
第1講 | 沃特金斯: d小調第六號交響曲,第三樂章-詼諧曲 |
Stephen Watkins: Symphony No. 6 in D minor Mov.III Scherzo | |
第2講 | 《非洲狂想》木笛合奏線上音樂廳預告 |
"African Rhapsody" Wooden Flute Ensemble Online Concert Hall Trailer | |
第3講 | 羅森亨克: 香蕉組曲 |
Allan Rosenheck: Bananas | |
第4講 | 春節序曲 |
Chinese New Year Festival Overture | |
第5講 | 林明杰改編: 臺灣民謠組曲 |
Ming-Chieh Lin Arr. : Taiwanese Folk Song Suite | |
第6講 | 埃克爾斯: 行星的步伐 |
Lance Eccles: The Planets' Feet | |