Skip to main content

BIM 404 - System Programming

Faculty of Engineering and Natural Sciences · Software Engineering (English 30%) · 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

  1. Gains the ability to develop programs in 8086 architecture and assembly language.
  2. Explains the fundamental working principles of assemblers, compilers, and interpreters.
  3. Applies system calls and advanced C programming techniques.
  4. Performs file and process management operations in the UNIX operating system.
  5. Uses UNIX operating system commands and layers effectively.
  6. Analyzes fundamental concepts specific to operating systems and system programming.
  7. Utilizes inter-process communication mechanisms in multi-process applications.
  8. 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