National Taiwan Normal University Course Outline
Fall , 2022

@尊重智慧財產權,請同學勿隨意影印教科書 。
Please respect the intellectual property rights, and shall not copy the textbooks arbitrarily.

I.Course information
Serial No. 3039 Course Level
Course Code CSC0056 Chinese Course Name 資料通訊
Course Name Data Communication
Department Department of Computer Science and Information Engineering
Two/one semester 1 Req. / Sel. Sel.
Credits 3.0 Lecturing hours Lecture hours: 3
Prerequisite Course
Comment ◎Distance learning course
Course Description
Time / Location Mon. 7-9 Gongguan B1-03
Curriculum Goals Corresponding to the Departmental Core Goal
1. Understand the fundamentals of data communication. College:
 1-2 Understanding relationship between software and hardware, and operating principle of computer systems
 1-2 Understanding relationship between software and hardware, and operating principle of computer systems
2. Learn topics such as point-to-point communication, multi-access communication, flow control, network routing, and basic queuing theory. College:
 1-3 Acquainted with foundations of computer science and mathematics
 1-3 Acquainted with foundations of computer science and mathematics
3. Focus on the integration and application of theory. College:
 2-3 Capability to enhance professional thinking from experience
 2-3 Capability to enhance professional thinking from experience
4. Learn about the current progress of relevant technologies. College:
 3-1 Capability to conduct innovative research
 3-1 Capability to conduct innovative research

II. General Syllabus
Instructor(s) WANG, Chao/ 王超

This course is offered in English (EMI), with Mandarin support. 此課程為 EMI 英語授課 (佐以中文輔助).

Data communication is essential for networked computing systems. The objectives of this course are for students to learn design principles in data communication, to get some ideas of networking systems analysis, and to have some hands-on experience in systems development.

This course is structured as a hybrid course (數位課程) on Taiwan Online Campus. The lectures are divided into three categories: asynchronous online (learn at your own pace), synchronous online (real-time remote class), and traditional face-to-face (physical lectures in classroom). See the course schedule below for detail. Most of the course materials will be posted on Moodle.

The students should have some working knowledge in both C and Linux. We will study the codebase of Eclipse Mosquitto and will learn how to trace and modify an open source implementation at such a scale.

Note: This course is designed for third-/fourth-year undergraduate students and graduate students. Students taking this course are assumed to have learned what has been covered in the first two years of study in our department (data structures, algorithms, probability, etc.). We shall not repeat those materials in this course.

Course Schedule


1Sep 5Course Introduction
2Async.Broker-Based Data Communication
3Sep 19Messaging Broker Design and Implementation
4Sep 26The Queueing Model
5Async.Poisson Process and Markov Chain
6Async.Queueing Systems
7Async.Case Study: The Aloha System
8Oct 24Midterm Exam
9Oct 31Data Communication Bus
10Async.Data Routing and Flow Control
11Async.TDMA Data Communication
12Nov 21Time Synchronization
13Nov 28Communication Error Handling
14Async.Case Study: LoRa and LoRaWAN
15Async.Research Topic: Real-Time Fault-Tolerant Communication
16Dec 19Final Exam

For more information, see
For historical data, see

Instructional Approach
Methods Notes
Formal lecture Lectures
Group discussion Online/Offline discussion
Lab/Studio Linux network programming
Media, audio, visual materials Integration of some online materials for overall learning experience
Grading assessment
Methods Percentage Notes
Assignments 55 % Homework assignments
Midterm Exam 20 % Midterm exam
Final exam 20 % Final exam
Class discussion involvement 5 % Online/Offline participation
Required and Recommended Texts/Readings with References

[1] Harchol-Balter, Mor. Performance modeling and design of computer systems: queueing theory in action. Cambridge University Press, 2013. ISBN 9781107027503. (Read it at NTNU library. Our library also owns an e-copy; click here via campus network.)

[2] Bertsekas, Dimitri and Gallager, Robert. Data networks (2nd edition). Prentice Hall, 1992. ISBN 0132009161. (Read it at NTNU library) (author’s page)