Information
Code | CEN428 |
Name | Systems Programming |
Term | 2023-2024 Academic Year |
Semester | 8. Semester |
Duration (T+A) | 3-0 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 3 National Credit |
Teaching Language | İngilizce |
Level | Lisans Dersi |
Type | Normal |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Dr. Öğr. Üyesi SERKAN KARTAL |
Course Instructor |
1 |
Course Goal / Objective
Introduce the student to the process of writing low-level programs that interact directly with a computer's operating system and hardware, as well as to develop the student's ability to build large applications in a team environment.
Course Content
Implementation of systems programs, concepts of computer operating systems; laboratory experience in using operating system facilities.
Course Precondition
Yok
Resources
Linux System Programming Talking Directly to the Kernel and C Library, Robert Love
Notes
The Linux Command Line, 2nd Edition, William Shotts, 2019
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | Design programs making direct use of operating system facilities to perform low-level file I/O and directory manipulations |
LO02 | Understand a modern OS API and the concepts of process creation, synchronization communication to solve concurrent programming problems |
LO03 | Design systems-related programs. |
LO04 | Perform basic file management using shell commands |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | Has capability in the fields of mathematics, science and computer that form the foundations of engineering | 4 |
PLO02 | Bilgi - Kuramsal, Olgusal | Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, | 4 |
PLO03 | Bilgi - Kuramsal, Olgusal | Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly. | 4 |
PLO04 | Bilgi - Kuramsal, Olgusal | Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively. | 4 |
PLO05 | Bilgi - Kuramsal, Olgusal | Ability to design and to conduct experiments, to collect data, to analyze and to interpret results | 3 |
PLO06 | Bilgi - Kuramsal, Olgusal | Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence | 3 |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Can access information,gains the ability to do resource research and uses information resources | 3 |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability | 3 |
PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language | 3 |
PLO10 | Yetkinlikler - Öğrenme Yetkinliği | Professional and ethical responsibility, | 2 |
PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications, | |
PLO12 | Yetkinlikler - Öğrenme Yetkinliği | Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Review of Programming Concepts | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
2 | Operating Systems- Basics | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
3 | Signals and Processes | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
4 | Control Flows | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
5 | System Level I/O | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
6 | Message Passing | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
7 | System Timers | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
8 | Mid-Term Exam | Reading material related to subject and lecture notes. | Ölçme Yöntemleri: Yazılı Sınav |
9 | Virtual Memory | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
10 | Dynamic Memory Allocation | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
11 | Networking | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
12 | Network Programming | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
13 | Interprocess Communication | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
14 | Threads and Concurrent Programming | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
15 | Final Exam | Reading material related to subject and lecture notes. | Öğretim Yöntemleri: Anlatım, Gösteri |
16 | Term Exams | Examination | Ölçme Yöntemleri: Yazılı Sınav |
17 | Term Exams | Examination | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 3 | 42 |
Out of Class Study (Preliminary Work, Practice) | 14 | 5 | 70 |
Assesment Related Works | |||
Homeworks, Projects, Others | 0 | 0 | 0 |
Mid-term Exams (Written, Oral, etc.) | 1 | 15 | 15 |
Final Exam | 1 | 30 | 30 |
Total Workload (Hour) | 157 | ||
Total Workload / 25 (h) | 6,28 | ||
ECTS | 6 ECTS |