Course Name Code Semester T+U Hours Credit ECTS
System Programming BSM 308 6 3 + 0 3 5
Precondition Courses
Recommended Optional Courses
Course Language Turkish
Course Level Bachelor's Degree
Course Type Compulsory
Course Coordinator Prof.Dr. AHMET ÖZMEN
Course Lecturers Prof.Dr. AHMET ÖZMEN, Doç.Dr. ÜNAL ÇAVUŞOĞLU,
Course Assistants
Course Category
Course Objective The aim of this course is to teach how to design and develop software components of an operating system. The goal of the course also include to build advanced level of C programming skills for controlling computer hardware effectively.
Course Content The course topics include system calls, assembly programming issues and advanced level of C programming. It also covers control and working issues of computer harware, requirements and techniques of such programming languages.
# Course Learning Outcomes Teaching Methods Assessment Methods
1 Knows advanced level of C programming Lecture, Drilland Practice, Self Study, Testing,
2 Knows how to use system calls effectively Drilland Practice, Lecture, Homework, Testing,
3 Knows design and coding techniques for operating system components Drilland Practice, Lecture, Homework, Testing,
4 Knows process management concepts Drilland Practice, Lecture, Homework, Testing,
5 Develops multiprocessor applications where interprocess communication is used Self Study, Group Study, Drilland Practice, Lecture, Project Based Learning, Project / Design,
Week Course Topics Preliminary Preparation
1 Introduction to computer systems and programming
2 Fundamentals of C programming
3 Graphical interface developing for system programmin using Tcl/Tk
4 Assembly programming
5 Basics of Linux/Unix operating system
6 Shell commands and system administration
7 System calls and I/O
8 Operations on files/links/folders
9 Examples related with memory management
10 Processes and process management
11 Signals and inter-process communication
12 Thread programming
13 Fundamentals of networking
14 Interprocess communication using socket interface, application development using client-server model
Course Notes Advanced Programming for the Unix Environment, Richard Stevens.
Course Resources 1.The C Programming Language, 2nd Ed., by Kernighan and Ritchie, Prentice Hall
2.The Art of Unix Programming, Eric Raymond.
Week Documents Description size
2 2. Hafta derste yapılan örnekler 2. Hafta derste yapılan örnekler 0 MB
3 3. Hafta derste yapılan örnekler 3. Hafta derste yapılan örnekler 0 MB
4 4. Hafta derste yapılan örnekler 4. Hafta derste yapılan örnekler 0.03 MB
Order Program Outcomes Level of Contribution
1 2 3 4 5
1 To have sufficient foundations on engineering subjects such as science and discrete mathematics, probability/statistics; an ability to use theoretical and applied knowledge of these subjects together for engineering solutions, X
2 An ability to determine, describe, formulate and solve engineering problems; for this purpose, an ability to select and apply proper analytic and modeling methods,al background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations X
3 An ability to select and use modern techniques and tools for engineering applications; an ability to use information technologies efficiently, X
4 An ability to analyze a system, a component or a process and design a system under real limits to meet desired needs; in this direction, an ability to apply modern design methods, X
5 An ability to design, conduct experiment, collect data, analyze and comment on the results and consciousness of becoming a volunteer on research, X
6 Understanding, awareness of administration, control, development and security/reliability issues about information technologies, X
7 An ability to work efficiently in multidisciplinary teams, self confidence to take responsibility,
8 An ability to present himself/herself or a problem with oral/written techniques and have efficient communication skills; know at least one extra language,
9 An awareness about importance of lifelong learning; an ability to update his/her knowledge continuously by means of following advances in science and technology,
10 Understanding, practicing of professional and ethical responsibilities, an ability to disseminate this responsibility on society, X
11 An understanding of project management, workplace applications, health issues of laborers, environment and job safety; an awareness about legal consequences of engineering applications,
12 An understanding universal and local effects of engineering solutions; awareness of entrepreneurial and innovation and to have knowledge about contemporary problems.
Evaluation System
Semester Studies Contribution Rate
1. Proje / Tasarım 30
1. Kısa Sınav 15
2. Kısa Sınav 15
1. Ara Sınav 40
Total 100
1. Yıl İçinin Başarıya 40
1. Final 60
Total 100
ECTS - Workload Activity Quantity Time (Hours) Total Workload (Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 3 48
Hours for off-the-classroom study (Pre-study, practice) 16 2 32
Mid-terms 1 6 6
Assignment 1 5 5
Project / Design 1 6 6
Final examination 1 20 20
Quiz 2 1 2
Performance Task (Application) 2 5 10
Total Workload 129
Total Workload / 25 (Hours) 5.16
dersAKTSKredisi 5