Faculty of Engineering and Natural Sciences · Computer Engineering · Undergraduate
ECTS: 5 T+P+L: 2+0+1 Departmental Elective
Coordinator: Dr. Öğr. Üyesi Abdullah SÖNMEZ
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
Number systems, basic computer architecture, assembly language programming, assemblers, relocation, linkers, loaders, macro processors, text editors, debugging programs, formal specification of programming languages, interpreters, introduction to operating systems, Linux shell programming.
Course Learning Outcomes
- Gains the ability to develop programs in 8086 architecture and assembly language.
- Explains the fundamental working principles of assemblers, compilers, and interpreters.
- Applies system calls and advanced C programming techniques.
- Performs file and process management operations in the UNIX operating system.
- Uses UNIX operating system commands and layers effectively.
- Analyzes fundamental concepts specific to operating systems and system programming.
- Utilizes inter-process communication mechanisms in multi-process applications.
- Implements design and coding principles of operating system subunits.
Core Area Distribution
(46) Mathematics and Statistics%20 (48) Computing%50 (52) Engineering and Engineering Trades%30
Teaching Methods
ExpressionQuestion-AnswerDiscussionExercise and PracticeGuided PracticeSelf studyProblem Solving
Assessment & Evaluation
HomeworkTesting (Essay / Tests: True-Falls, multiple-choice, short answer, matching)
ECTS / Workload
| Activity | Quantity | Duration (h) | Total Workload |
|---|---|---|---|
| Course Duration (Including Exam Week) | 15 | 2 | 30 |
| Out of Class Study Period | 15 | 2 | 30 |
| Midterm | 1 | 2 | 2 |
| Quiz | 0 | 0 | 0 |
| Assignment | 2 | 25 | 50 |
| Practice | 15 | 1 | 15 |
| Final | 1 | 2 | 2 |
Course Schedule
| Week | Subject | Preparation |
|---|---|---|
| 1 | Introduction to System Programming | . |
| 2 | Input / Output Subroutines | . |
| 3 | Input / Output Subroutines (Continue'd) | . |
| 4 | Real-Time Systems Concepts | . |
| 5 | Real-Time Systems Concepts (Continue'd) | . |
| 6 | Concepts Related to Software Development | . |
| 7 | 8086 Architecture | . |
| 8 | Data Formats | . |
| 9 | Ramadan Feast Holiday | . |
| 10 | Midterm Exam | . |
| 11 | Machine Language | . |
| 12 | Assembler Directives | . |
| 13 | Introduction to UNIX | . |
| 14 | Basic UNIX Commands | . |
| 15 | Shell Programming | . |
| 16 | Processes and Files in UNIX | . |


