トップページへ

2025 (Current Year) Faculty Courses School of Computing Undergraduate major in Computer Science

System Programming

Academic unit or major
Undergraduate major in Computer Science
Instructor(s)
Kenji Tei / Qiong Chang
Class Format
Lecture/Exercise (Face-to-face)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
5-6 Tue (W9-324(W933),計算機室GSIC 3階 312号室) / 5-6 Fri (W9-324(W933),計算機室GSIC 3階 312号室)
Class
-
Course Code
CSC.T344
Number of credits
110
Course offered
2025
Offered quarter
1Q
Syllabus updated
Apr 2, 2025
Language
Japanese

Syllabus

Course overview and goals

A comprehensive study of the system calls of operating systems such as UNIX and of the system programming using them. Students will learn the concepts of processes, file abstraction, socket communication, and programming techniques based on them.

Course description and aims

The goal of this course is to design and implement system programs using the concepts of UNIX system calls, processes and communication between them, file abstraction, and socket communication.

Keywords

system call, process, socket communication, signals, programming tools, C

Competencies

  • Specialist skills
  • Intercultural skills
  • Communication skills
  • Critical thinking skills
  • Practical and/or problem-solving skills

Class flow

Classroom learning is followed by exercises.

Course schedule/Objectives

Course schedule Objectives
Class 1

Introduction

Introduction

Class 2

Exercise: UNIX environments

Exercise: UNIX environments

Class 3

Input/output and file abstraction

Input/output and file abstraction

Class 4

Exercise: Input/output and file abstraction

Exercise: Input/output and file abstraction

Class 5

Process, fork, and pipes

Process, fork, and pipes

Class 6

Exercise: Process fundamental

Exercise: Process fundamental

Class 7

Exercise: Process advanced

Exercise: Process advanced

Class 8

Signals

Signals

Class 9

Exercise: Signals

Exercise: Signals

Class 10

Socket communication

Socket communication

Class 11

Exercise: Socket communication

Exercise: Socket communication

Class 12

System programming tools

System programming tools

Class 13

Exercise: System programming tools

Exercise: System programming tools

Class 14

Final exam

Final exam

Study advice (preparation and review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.

Textbook(s)

None required.

Reference books, course materials, etc.

W.R. Stevens, S.A. Rago: Advanced Programming in the UNIX Environment, 3rd Edition, Addison-Wesley, 2013.

Course materials will be provided via LMS.

Evaluation methods and criteria

Exercises: 60%
Final exam: 40%

Related courses

  • CSC.T243 : Procedural Programming Fundamentals
  • CSC.T253 : Advanced Procedural Programming
  • CSC.T262 : Assembly Language
  • CSC.T354 : Parallel Programming
  • CSC.T371 : System Software

Prerequisites

Students must understand basic concepts of programming using C language and have familiarity with basic Unix terminal commands.
Students are desired to have successfully completed Procedural Programming Fundamentals (CSC.T243) and Advanced Procedural Programming (CSC.T253) or have equivalent knowledge.