CEN428 Systems Programming

6 ECTS - 3-0 Duration (T+A)- 8. Semester- 3 National Credit

Information

Code CEN428
Name Systems Programming
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 Goal

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