System Programming

Course Information

College Tsuyama College Year 2021
Course Title System Programming
Course Code 0144 Course Category Specialized / Compulsory
Class Format Lecture Credits Academic Credit: 2
Department Department of Integrated Science and Technology Communication and Informations System Program Student Grade 5th
Term Second Semester Classes per Week 2
Textbook and/or Teaching Materials Linux system programming (Ohm sha)
Instructor TAKETANI Hisashi

Course Objectives

Learning purposes : Learn the basic concepts of Unix system programming.

Course Objectives :
1. Understand and handle the mechanism of process creation and command execution.
2. Understand and handle how files and directories work.
3. Understand and handle standard I / O and pipelines.
4. Understand signal processing and be able to manage the process.
5. Understand the concept of job control and be able to use interprocess communication.

Rubric

ExcellentGoodAcceptableNot acceptable
Achievement 1Understand the mechanism of process creation and command execution and handle it appropriately.Understand and handle the mechanism of process creation and command execution.Understand how processes are created and commands are executed.It has not reached the left.
Achievement 2Understand how files and directories work and handle them appropriately.Understand and handle how files and directories work.Understand how files and directories work.It has not reached the left.
Achievement 3Understand the mechanism of standard I / O and pipelines and handle them appropriately.Understand and handle standard I / O and pipelines.Understand how standard I / O and pipelines work.It has not reached the left.
Achievement 4Understand signal processing and manage processes appropriately.Understand signal processing and manage processes.Understand signal processing.It has not reached the left.
Achievement 5Understand the concept of job control and be able to use interprocess communication appropriately.Understand the concept of job control and be able to use interprocess communication.Understand the concept of job control.It has not reached the left.

Assigned Department Objectives

Teaching Method

Outline:
General or Specialized : Specialized

Field of learning : Information system programming network

Required, Elective, etc. : Must complete subjects

Foundational academic disciplines : Information science, information engineering and related fields / computer system related

Relationship with Educational Objectives :This class is equivalent to "(3) Acquire deep foundation knowledge of the major subject area"

Relationship with JABEE programs :The main goals of learning / education in this class are "(A) ,(A-2)".

Course outline : We will cover the basics of UNIX system programming using the C language used to build operating systems.
Style:
Course method : Due to the timetable, this course will be held in the second half of 2 credit hours. Explanations will be given by presenting slides and writing on the board. Also, impose relevant exercises to deepen understanding.

Grade evaluation method : Average of 2 regular exams (70%), exercises (30%). As a general rule, retests will not be conducted. Materials are allowed to be brought into the regular examination.
Notice:
Precautions on the enrollment : Students must take this class (no more than one-third of the required number of class hours missed) in order to complete the 5th year course.

Course advice: Thoroughly review the basics of programming you have learned so far.
Foundational subjects: Basic Programming(2nd year), Algorithms and Data Structures(3rd), Advanced Programming(4th)

Related subjects: Control Programming(5th year)
Attendance advice : The class will proceed while explaining the basics and capabilities of the operating system. In addition, we will explain how to use each function with examples, so be proactive in programming. Attendance will be confirmed at the beginning of the class, and if you enter the room within 25 minutes of the start of the class, you will be late, and if you are late 3 times, you will be absent from class.

Characteristics of Class / Division in Learning

Active Learning
Aided by ICT
Applicable to Remote Class
Instructor Professionally Experienced

Course Plan

Theme Goals
2nd Semester
3rd Quarter
1st Guidance, Unix basics You can use the goals of this lesson and basic Unix commands.
2nd Basics of C programming (variables, functions, syntax) Explain the basics of C programming (variables, functions, syntax).
3rd Basics of C programming (operators, pointers, structures) Explain the basics of C programming (operators, pointers, structures).
4th Basics of C programming (library functions, prototype declarations, preprocessors) Explain the basics of C programming (library functions, prototype declarations, preprocessors).
5th Process spawning and command execution Explain the creation of processes and the execution of commands.
6th File system Explain the file system.
7th Standard I / O and pipeline Explain standard I / O and pipelines.
8th (2nd semester mid-term exam)
4th Quarter
9th Return and commentary of exam answers
10th Processes and signals Explain processes and signals.
11th Interprocess communication using shared memory Explain interprocess communication using shared memory.
12th Interprocess communication using messages Explain interprocess communication using messages.
13th Interprocess communication using semaphores Explain interprocess communication using semaphores.
14th Thread Explain threads.
15th (2nd semester final exam)
16th Return and commentary of exam answers

Evaluation Method and Weight (%)

ExaminationPresentationMutual Evaluations between studentsBehaviorPortfolioOtherTotal
Subtotal70000300100
Basic Proficiency0000000
Specialized Proficiency70000300100
Cross Area Proficiency0000000