Dr. Chi-Sheng Shih teaches at National Taiwan University and few other institutes. You can find the descriptions for the courses, and links of the course sites on this page. The courses under developed are also listed.

The materials for on-going courses can be found on course web site: Daniel’s Campus and NTU Ceiba Campus. (You may need username and password to view and download the teaching materials.)

System Programming

This course is designed for sophomore CS-major students and serves as the introduction system-level course. In this course, we will learn how to write the programs using system services in Unix-like systems. The following are the goals of this course.

1. To be familiar with the UNIX-like systems. It means to know how to make use of many tools/services provided by the system: commands, library calls or system calls. It also means that you understand the model of computation that UNIX presents.

2. To become good system programmers. It means that you should know how to write a decent C program in Unix/Linux as the semester is over. However, this course should not limit yourself in writing system programs in Unix/Linux. The learning process that you will have in this course should teach you how to program in any other operating systems which you might use later in your career.

Course material website: NTU Ceiba

Machine Problem website: Github

Distributed Systems

This course is designed for the Cloud Computing Curriculum. This course forms a foundation distributed computing systems. The course focuses on concepts/features in distributed system design and coverage of recent application directions. In this course, the students should learn how the advanced features work and how to make use of the features to complete their project or advance their career. This course will also study the internals of Hadoop cloud computing framework.

Covered topics include communication protocol for the distributed system, distributed file systems, distributed memory management, and distributed resource management.

Networked SoC Systems

This new course was first offered in Spring 2005 and continues to be revised over the years. Please visit my course web site to find out the latest curriculum. The curriculum design for this course is reported in the following reports*.

  • Chi-Sheng (Daniel) Shih, Chia-Lin Yang, Shih-Hao Hung, Chih-Wen Hsueh, Chuen-Liang Chen, and Tei-Wei Kuo, SoC System Design Program for Computer Science Majors, in the Proceedings of the Workshop of Embedded Software Education, October, 2007.
  • Chi-Sheng Shih, Shiao-Li Tsao, Yeh-Ching Chung, and Shyh-In Hwang, Toward HW/SW Integration: a Networked Embedded System Course in Taiwan, ACM SIGBED Review, Volume 4, Number 1, January 2007.
  • Chi-Sheng Shih, Shiao-Li (Charles) Tsao, Yeh-Ching Chung, and Shyh-In Hwang,Toward HW/SW Integration: Networked Embedded System Design, in the Proceeding of the Workshop of Embedded Software Eduction, October, 2006.
  • Chi-Sheng Shih, Shiao-Li (Charles) Tsao, Yeh-Ching Chung, and Shyh-In Hwang,Toward HW/SW Integration: Networked Embedded System Design, Tech Report NTU/NEWS-6-0008, National Taiwan University, August 2006