





清華大學資工系必修課,主要對象為大一學生,延續計算機程式設計一,繼續磨練程式能力。
有意願修課的同學,請直接從校務資訊系統的加簽電子表單提出申請!
♠ | 這門課是以遠距直播方式上課,上課時間是每個星期二晚上 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
♠ | 無指定用書 |
♠ | |
https://eeclass.nthu.edu.tw/course/9192 | |
♠ | https://reurl.cc/oZOav3 |
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 | ||
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
♠ | 若因防疫規定而影響實體考試的執行,各項成績考核的分配比例可能會依情況因應調整! |
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/ |
【截止期限】 | 2020/09/22 00:00:00 |
【註冊帳號】 | 必須採用 IPHTC+學號格式,例如 IPHTC109062500 |
【條件】 | 在期限內,用規定的帳號,答對全部題目,通過檢定符合條件可在第二週上課時加簽 |
| |
【指定用書】
Text Books
♠ | 無指定用書 |
| 上課教材另行公佈於網站中 |
♠ | https://reurl.cc/vm9ZK1 |
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 | ||
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
10% | written exam |
30% | midterm exam |
30% | final exam |
10% | mini project |
20% | big project & hackathon |
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%) |
【指定用書】
Textbook
♠ | S. Prata, C PRIMER PLUS |
♠ | Lecture notes |
♠ | https://reurl.cc/OExyMX |
|
清華大學資工系必修課,主要對象為大一學生,延續計算機程式設計一,繼續磨練程式能力。
1. | 延續計算機程式設計一,繼續鍛鍊程式能力! |
2. | 透過實作來認識資訊工程基礎知識與技術! |
♠ | 修課學生必須 修過程式設計一 (等同 EECS/EE 程式設計) 或是 通過開學第一週舉辦 |
定,符合資格才能以加簽方式選課。 | |
♠ | 修課學生必須 修過程式設計一並取得學分 (等同 EECS/EE 程式設計) |
| 或是 通過開學第一週舉辦的程式設計一能力檢定,符合資格才能以加簽方式選課。 |
♠ | 採用榮譽制,請對自己負責,憑實力完成! |
| 這也是對自己的程式能力的檢驗,如果沒能力達成,可能會跟不上程設二的課程難度 |
| 和進度。 |
【對象】 | 還沒拿到「資工系計算機程式設計一、「電機系計算機程式設計」、「電資班 |
計算機程式設計」任何一個科目學分的同學 | |
【題目】 | http://acm.cs.nthu.edu.tw/contest/2084/ |
【截止期限】 | 2020/09/22 00:00:00 |
【註冊帳號】 | 必須採用 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 | ||
♠ | 遠距同步上課 |
♠ | 電腦教室實體上機考試 |
10% | written exam |
30% | midterm exam |
30% | final exam |
10% | mini project |
20% | big project & hackathon |
「資料結構」是學習以聰明的方法去儲存資料,使得我們在有需要的時候能夠快速有效地把資料擷取....
【課程說明】
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 |
♠ | B. Razavi, "Fundamentals of Microelectronics," Wiley, 2008. |
♠ | |
1. | Introduction to microelectronics (ch. 1) |
- Examples of electronic systems - Basic circuit theorems | |
2. | Basic physics of semiconductors and diodes (ch. 2 and ch. 3) |
- Semiconductor material properties - PN junction and diodes - Diode circuits and applications | |
3. | Basic physics of transistors and their equivalent circuit models |
(ch. 4 and ch. 6) | |
- Basic structures and characteristics of MOSFETs and BJTs - Equivalent circuit model of MOSFETs and BJTs - Large-signal and small-signal operation | |
4. | Single-stage (multi-stage) amplifiers and frequency response |
(ch. 5, ch. 7, ch. 9, and ch. 11) | |
- MOSFET and BJT amplifier topologies (CS, CG, CD, and cascode) - Transfer function and Bode's plot - Frequency response of different amplifiers | |
5. | Differential amplifiers (ch. 9 and ch. 10) |
- Basic MOS and BJT differential pairs | |
- Large-signal and small-signal analysis | |
- Current mirror and active load | |
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 |
♠ | IEEM203000 (Engineering Statistics) or equivalent basic probability course. |
♠ | Introduction to Probability Models, 10th Ed. by Sheldon M. Ross, Academic |
Press, 2009 (or the newest version). |
♠ | To develop an ability to model dynamical processes as stochastic processes; |
♠ | To develop an understanding of important qualitative characteristics of |
stochastic processes; | |
♠ | To develop an ability to analyze basic stochastic processes. |
♠ | Student presentation (1 week) |
♠ | Class Exercises |
You will team up with up to 3 team members, work on class exercises together and present your answers on a luck-draw system. The exercises are designed to improve your understanding of the class materials and give you a chance to learn and interact with your classmates. The same team will be give the same grade based on the correctness of the answer and the presentation if any. | |
♠ | Homework |
Homework will be assigned roughly weekly while I will not collect them. You are also encouraged to discuss homework with your classmates and learn from each other | |
♠ | Quizzes |
Quizzes are given on a weekly basis. All the quiz problems are strongly related (or identical) with the homework problems. You should fully understand every homework problem in order to get good grades for the quiz | |
♠ | Exams |
Exams will cover material discussed in class. The two midterm and final examinations are close book and notes. No make up exams! Final exam is cumulative. The exact date of midterm exams is given as below (additional information | |
(1) | A background introduction of the application area |
(2) | The description of your stochastic model. You should justify the appropriateness of |
stochastic modeling being used to model systems/processes in the chosen area. | |
(3) | Work out numerical examples to demonstrate the use of stochastic process models in |
solving realistic problems and provide the managerial insights through your examples. | |
♠ A complete reference list is required. The final report (and the presentation slides) will be collected in class before your presentation starts, and plus, each team will make a 15-minute presentation in the last two weeks of this semester. More details about the order of presentation will be announced later. |
This course provides the students with basic knowledge in modeling, analysis and design for linear feedback control systems. It begins with reviewing some mathematical fundamentals and introducing block diagrams and signal-flow graphs. Students will then learn how to model mechanical, electrical......
1. | Introduction |
2. | Mathematical Foundation |
3. | Block diagrams and Signal-Flow Graphs |
4. | Modeling of Dynamic Systems |
5. | Time-domain Analysis of Control Systems |
6. | Root Locus Analysis |
7. | Frequency-Domain Analysis |
8. | Design of Control Systems |
♠ | |
♠ | Syllabus |
♠ 01-1 | Digital Systems and Information: Digital Systems & Digital Signals |
♠ 01-2 | Digital Systems and Information: Data Representation - Number Systems |
♠ 01-3 | Digital Systems and Information: Data Representation - Codes |
♠ 01-4 | Digital Systems and Information: Arithmetic Addition and Subtraction |
♠ 02-1 | Boolean Algebra and Logic Gates (1/2) |
♠ 02-2 | Boolean Algebra and Logic Gates (2/2) |
♠ 03-1 | |
♠ 03-2 | Gate Level Minimization (2/2) |
♠ 04-1 | Combinational Logic (1/3) |