2020 System Programming

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Computer Science
Instructor(s)
Hayashi Shinpei  Undecided 
Course component(s)
Lecture / Exercise    (ZOOM)
Day/Period(Room No.)
Tue5-6(W933)  Fri5-6(W933)  
Group
-
Course number
CSC.T344
Credits
2
Academic year
2020
Offered quarter
1Q
Syllabus updated
2020/9/18
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

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.

Student learning outcomes

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 that will be developed

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/Required learning

  Course schedule Required learning
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 and fork Process and fork
Class 6 Pipes Pipes
Class 7 Exercise: Process fundamental Exercise: Process fundamental
Class 8 Exercise: Process advanced Exercise: Process advanced
Class 9 Signals and socket communication Signals and socket communication
Class 10 Exercise: Signals and socket communication Exercise: Signals and socket communication
Class 11 Memory management Memory management
Class 12 Exercise: Memory management Exercise: Memory management
Class 13 System programming tools System programming tools
Class 14 Exercise: System programming tools Exercise: System programming tools

Out-of-Class Study Time (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 a website.

Assessment criteria and methods

Programming Exercises: 50%
Exam: 50%

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 (i.e., required knowledge, skills, courses, etc.)

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.

Page Top