工程學群

課程年度:
顯示:
10801 工程
test
教授
10801 工程
數位邏輯設計
林永隆 教授

尋找興趣,提早準備,贏在起跑點!!想追求更多課本以外的專業知識嗎? 清華大學開放式課程為你種植了一座學習資源森林,等你來探索!現在就走進開放式課程的森林,品嚐最甜美的知識果實!

 

課程說明
      Description of the course
This course is about the principles of digital logic and its implementation in circuits and systems. Modern electronics/computer engineers should be able to effectively utilize millions or even billions of logic gates available from advanced semiconductor manufacturing process. Logic design is fundamental to such applications as computer, audio/video/graphics, wired/wireless communication. Some technology from this course will be useful in other courses. For example, finite state machine is essential in compiler design.
   ♠ We will cover the following topics

1. Introduction to computer circuits
2. Two level Combinational Logic
3. Multilevel Combinational Logic
4. Programmable Logic
5. Arithmetic Logic Circuits
6. Sequential Logic Design
7. Sequential Logic Case Studies
8. Finite State Machine Design
9. Finite State Machine Optimization
10. Computer Organization

 

 

【課程教材】
      Course Material

  ♠  Logic and Computer Design Fundamentals, 4th ed Mano & Kime Prentice Hall

 

 【教學方式】
       Teaching Method

   Lecturing
Home work

Machine problem
(Using Verilog Hardware Description Language and its Simulator)
Quiz, Two Midterms and Final Exam

 

10801 工程
電路與電子學
林永隆 教授

This course is intended for 2nd-year undergraduates in the computer science and other engineering department. In this course, we focus on two main topics, electronics and circuits. 

 

課程說明 
      Description of the course

This course is intended for 2nd-year undergraduates in the computer science and other engineering department. In this course, we focus on two main topics, electronics and circuits. To give students better understanding of the models and circuits of the electronics devices, we will introduce the basic concepts of electric circuits first. It starts from the definition of current, voltage, power and energy. Then it covers the basic circuit components including resister, capacitor, and inductor. We also discuss the basic circuit analysis, such as nodal analysis of resistive circuits, transients in electrical circuits and sinusoidal steady-state circuit behavior.

For electronics section, we will present the diode and MOS field-effect transistor. We will use simple models to describe these electronic devices and their I-V characteristics. Since the majority of electronic circuits today are designed as integrated circuits (ICs),we will discuss how to analyze and design the basic elements of integrated circuits with the emphasis on digital logic designs.



課程教材
     Course Material 

   ♠ 

"Electrical Engineering - Principles and Applications",by Allan R. Hambley,
5th Edition.

 

教學方式  
       Teaching Method
   ♠ Lecture and discussion.


 教學進度 
      Schedule

   Chapter  1  Introduction
Chapter 2  Resistive Circuits
Chapter 3  Inductance and Capacitance
Chapter 4  Transients
Chapter 5  Steady-State Sinusoidal Analysis
Chapter 6  Frequency Plots, Bode Plots, and Resonance
Chapter 10  Diodes
Chapter 12  Field-Effect Transistors
Chapter 11  Amplifiers : Specifications and External Characteristics
     
     


10801 工程
工程數學
蔡仁松 教授

工程數學為一切工程學科的基礎,提供解決工程問題的基本工具。

 

課程說明 Description of the course

工程數學為一切工程學科的基礎,提供解決工程問題的基本工具。預修科目為微積分。課程內容包括:(1)一階微分方程式,(2)二階線性微分方程式,(3)高階線性微分方程式,(4)聯立微分方程式,(5)微分方程式級數解,(6)拉普拉斯轉換。


課程教材 Course Material

Erwin Kreyszig, Advanced Engineering Mathematics, 10th edition, 2011, Wiley.


參考教材 References

1. Dennis G. Zill, Advanced Engineering Mathematics, 6th edition, Jones & Bartlett Learning.
2. C. Henry Edwards and David E. Penney, Differential Equations and Boundary Value Problems: Computing and Modeling, 5th Edition, 2016, Pearson.
3. Peter V. O'Neil, Advanced Engineering Mathematics, 8th edition, 2017, Thomson Brooks/Cole.


教學方式 / Teaching Method

Lectures and labs.


 教學進度 / Schedule

1. First order differential equations
2. Second order differential equations
3. Laplace transform
4. Series solutions for differential equations
5. Systems of differential equations
6. Fourier series

 

10801 工程
資料結構
蔡仁松 教授

This course introduces the basic concept of data representation and manipulation. 

 

課程說明 Description of the course

This course introduces the basic concept of data representation and manipulation. We will teach how to solve problems efficiently and effectively by using proper and specific data structures, and organizing series of operations called algorithms to manipulate data to solve the problems. For instance, you will be ble to understand how to use link list and hash function to create block chains.


前導課程 prerequisite Course

C/C++ Programming Language


課程教材 Course Material

 

Fundamentals of Data Structures in C++, E. Horowitz, S. Sahni, and D. Mehta, 2nd ed., 2006.


參考教材 / References

Introduction to Algorithms, 3rd ed., by Cormen et al. C++ reference 


教學方式 / Teaching Method

Online Lectures + In class discussions


 教學進度 / Schedule

1. Basic Concepts
2. Arrays
3. Stacks and queues
4. linked lists
5. Trees
6. Graphs
7. Sorting
8. Hashing
9. Selected related topics

 

10702 工程
計算機程式設計一(資工版)
陳煥宗 教授

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.......

  

Text Books 
 
*
S. Prata, C PRIMER PLUS 
*
Lecture notes 
  https://github.com/htchen/i2p-nthu/tree/master/程式設計一
*
清大開放課程影片(17週)
  http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=134
 
 
 
  
 Reference= ilms  
* Essential C
  http://cslibrary.stanford.edu/101/EssentialC.pdf
*
The C Book
  http://publications.gbdirect.co.uk/c_book/the_c_book.pdf 
*

MIT: A Crash Course in C

  http://www.mattababy.org/~belmonte/Teaching/CCC/handouts.pdf
* MIT: A Crash Course in C
  Reference Manual
  http://www.gnu.org/software/libc/manual/html_mono/libc.html
 
 
Syllabus   
  
 

Week

Topics

Labs and Exams

1

 

2/19,2/21

CH. 1 Getting Ready

CH. 2 Introducing C

 

Lab #0 2/21 Thu.

2

 

2/26,2/28

CH. 3 Data and C

CH. 4 Formatted Input/Output

2/28 放假

3

 

3/5, 3/7

CH. 4 Formatted Input/Output

Lab #1 3/7 Thu.

4

 

3/12, 3/14

Binary Representations

CH. 15 Bit Manipulation

CH. 5 Operators, Expressions, and Statements

 

5

 

3/19,3/21

CH. 6 Control Statements: Looping

Lab #2 3/21 Thu.

6

 

3/26,3/28

CH. 6 Control Statements: Looping CH. 7 Control Statements: Branching

Written Exam  3/28 Thu. @ Delta 109

7

 

4/2, 4/4

CH. 8 Character I/O and Redirection

4/4 放假

8

 

4/9, 4/11

CH. 9 Functions

Recursion

Lab #3 4/11 Thu.

9

 

4/16, 4/18

CH. 9 Functions

Recursion

 

10

 

4/23,4/25

CH. 10 Arrays and Pointers

Arrays

 

Midterm Exam I  4/25 Thu.

11

 

4/30, 5/2

CH. 10 Arrays and Pointers

Pointers

12

 

5/7, 5/9

CH. 10 Arrays and Pointers

Pointers

Lab #4 5/9 Thu.

13

 

5/14,5/16

Midterm Exercise (5/14)

Midterm Exam II 5/16 Thu.

14

 

5/21, 5/23

CH. 10 Arrays and Pointers

Pointers

CH. 11 String Functions

 

CH. 12 Memory Management

CH. 13 File Input/Output

CH. 14 Structures


Term Project Hackathon 5/25 Sat.

15

 

5/28,5/30

CH. 12 Memory Management

CH. 14 Structures

Lab #5 5/30 Thu.

16

 

6/4, 6/6

CH. 15 Bit Manipulation

CH. 14 Structures

CH. 17 Advanced Data Representations

Linked Lists

 

17

 

6/11,6/13

CH. 17 Advanced Data Representations

Lab #6 6/13 Thu.

18

 

6/18,6/20

No class

 

 

Final Exam 6/20 Thu.


Final Project Demo 6/25 Next Tue.

 
10702 工程
深度學習
吳尚鴻 教授
This class introduces the concepts and practices of deep learning. The course consists of three parts. In the first part, we give a quick introduction of classical machine learning and review some key concepts required to understand deep learning.In the second part......
 
 
 

【Description】


This class introduces the concepts and practices of deep learning. The course consists of three parts. In the first part, we give a quick introduction of classical machine learning and review some key concepts required to understand deep learning.In the second part, we discuss how deep learning differs from classical machine learning and explain why it is effective in dealing with complex problems such as the image and natural language processing. Various CNN and RNN models will becovered. In the third part, we introduce the deep reinforcement learning and its applications.This course also gives coding labs. We will use Python 3 as the main programming language throughout the course. Some popular machine learning libraries such as Scikit-learn and Tensorflow will be used and explained in detials.

 
 
 
【Syllabus】 
 
 
Lecture 01  
Introduction/Scientific Python 101
Lecture 02     
Linear Algebra/Data Exploration & PCA
Lecture 03
Probability & Information Theory/Decision Trees & Random Forest

Lecture 04

Numerical Optimization/Perceptron & Adaline/Regression
Lecture 05
Learning Theory & Regularization /Regularization
Lecture 06
Probabilistic Models/Logistic Regression & Metrics 
Lecture 07
Non-Parametric Methods & SVMs/SVMs & Scikit-Learn Pipelines
Lecture 08
Cross Validation & Ensembling/CV & Ensembling

Competition01  

Predicting Appropriate Response
Lecture 09
Large-Scale Machine Learning
Lecture 10
Neural Networks: Design/TensorFlow101 & Word2Vec
Lecture 11
Neural Networks: Optimization & Regularization
Lecture 12

Convolutional Neural Networks/Nuts and Bolts of Convolutional Neural Networks/Visualization and Style Transfer

Competition 02

Image Object Detection & Localization

Lecture 13

Recurrent Neural Networks/Seq2Seq Learning for Machine Translation
Competition 03 Image Caption
Lecture 14
Unsupervised Learning/Autoencoders/GANs
Competition 04 Reverse Image Caption 
Lecture 15
Semisupervised/Transfer Learning and the Future
Lecture 16
Reinforcement Learning/Q-learning
Lecture 17
Deep Reinforcement Learning/ DQN & Policy Network
Competition 05 You Draw I Draw
   
 

 

    
  
【Reference Books】
 
* Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016, ISBN: 0387848576
* Trevor Hastie, Robert Tibshirani, Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition, Springer, 2009, ISBN: 0387848576
* Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006, ISBN: 0387310738
* Sebastian Raschka, Python Machine Learning, Packt Publishing, 2015, ISBN: 1783555130
 
 
 
【Online Courses】 
 
* CS231n: Convolutional Neural Networks for Visual Recognition, Stanford
* CS224d: Deep Learning for Natural Language Processing, Stanford
* CS 294: Deep Reinforcement Learning, Berkeley
* MIT 6.S094: Deep Learning for Self-Driving Cars, MIT
  

 

10702 工程
Web Programming, Technologies, and Applications
吳尚鴻 教授

This course gives a comprehensive, self-contained, and up-to-date introduction to the web/app development. We focus on the development challenges in real-world situations and present guidelines, tools, and best practices. Students are asked to team up and build real, useful applications (websites and/or mobile apps) accessible to the public in the end.

 

【 Description 】

The classes are divided into three parts. First, we give a primer to web fundamentals such as HTTP, HTML, CSS, and Javascript. We cover different programming paradigms, including the OOP and functional programming. Handy tools such as Git are covered to get students familiar with the project-based and team-based development. In the second part, we introduce modern web development techniques such as responsive design, Bootstrap, ES6/7, React, and Redux. Last, we extend our horizon to the backend and mobile development landscapes by introducing the Node.js, PostgreSQL database system, Amazon Web Services (AWS), and React Native. We also give case studies on how to leverage Machine Learning algorithms to convert raw user data into the AI.

 
 

【 Syllabus 】
 
Lecture 01

HTTP&HTML

Lecture 02

CSS

Lecture 03

Bootstrap and Responsive Design

Lecture 04

Javascript & DOM

Lecture 05

Modern Javascript


 

【 Reference Books 】

  • Alexander Osterwalder, Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers, 2010

  • Eric Ries, The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses, 2011

  • Peter Thiel, Blake Masters, Zero to One: Notes on Startups, or How to Build the Future, 2014


 

【 Online Courses 】

 

10701 工程
平行程式
周志遠 教授

本課程將介紹平行計算的基礎觀念和電腦系統架構,並教授針對不同平行計算環境所設計的程式語言,包括多核心系統使用的 Pthread、OpenMP, 叢集計算使用的MPI, GPU使用的CUDA, 以及分散式系統使用的MapReduce計算框架。修課同學必須使用 這些平行計算的語言和工具完成5個程式作業,並且以程式的執行效能結果作為學習的評量標準。 

 

 【課程說明   Course Description
       
    本課程將介紹平行計算的基礎觀念和電腦系統架構,並教授針對不同平行計算環境所設計的程式語言,包括多核心系統使用的 PthreadOpenMP, 叢集計算使用的MPI, GPU使用的CUDA, 以及分散式系統使用的MapReduce計算框架。修課同學必須使用 這些平行計算的語言和工具完成5個程式作業,並且以程式的執行效能結果作為學習的評量標準。 

 
 

【指定用書   Textbooks 
      

1.  


Parallel Programming
– Techniques and applications Using Networked 
Workstations and Parallel Computers, Barry Wilkinson and Michael Allen, Prentice Hall, 1999. 

2.


Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw- Hill, 2003. 

3. Intel Multi-Core Programming 

   

 

【參考書籍   References

1.  

Documentation
 (PVM, MPI, Cilk, Pthread, TreadMark, SAM) 

2. Designing and Building Parallel Programs, Ian Foster, Addison Wesley, 1995. 

 

 

【教學進度 Syllabus     

Part I  Introduction 
       - Introduction to Parallel Computers  
     - Introduction to Parallel Computing 
 
Part II  Parallel Programming
 
     - Message-Passing Programming (MPI)  
     - Shared Memory Programming (Pthread and OpenMP) 
 
Part III  Parallel Computing Techniques 
       - Embarrassingly Parallel Computations  
     - Partitioning and Divide-and-Conquer Strategies  
     - Pipelined Computations  
     - Synchronous Computations  
     - Load Balancing and Termination Detection 
 
 Part IV  GPU Programming 
      - Heterogeneous computing  
    - CUDA programming model  
    - GPU Architecture & Multi-GPU  
    - Advanced CUDA Programming & Optimization 
 
 Part V  Distributed Programming 
      - MapReduce  
    - Hadoop Programming 

 

 

 

10602 工程
控制系統二
葉廷仁 教授
NTHU Open Courses Ware has planted a learning-material forest, now it’s waiting for you to explore! Now, go into the OCW forest, and taste the sweetest knowledge fruits.


Outline of this course 
This course is a continuation of control systems (I). It particularly provides the students with basic knowledge in statespace design, digital control and nonlinear systems. As for the state-space design, it begins with reviewing linear-algebra fundamentals and introducing state-space description of linear systems. Students will then learn how to design full-state feedback and estimator of the control system. In digital control, ztransform will be introduced first and controller design using digital equivalents will then be covered. Finally, we will introduce some basic analysis and design tools for nonlinear control systems.
 
 
Prerequisites:
* Engineering Mathematics (工程數學)
* Control Systems (I) 
(控制系統一)



Course Contents

 Mathematical Foundation – Linear Algebra
2  State-space Description of Linear Systems 
3  Full-state Feedback and Estimator Design
4  Compensator Design
5  Z-transform
6  Design Using Discrete Equivalents and Discrete Design
7  Linearization
8  Analysis of Nonlinear Systems



Text Book
Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini, Feedback Control of Dynamic Systems, 7th Edition, Prentice Hall, 2015.



References
*

Farid Golnaraghi, and Benjamin C. Kuo, "Automatic Control Systems", 9th edition, John Wiley & Sons, Inc., 2009

* Norman S. Nise, "Control Systems Engineering", 6th edition, John Wiley & Sons, Inc., 2010.