Computer Engineering | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | YAZ302 | ||||
Course Name: | System Programming | ||||
Course Semester: | Spring | ||||
Course Credits: |
|
||||
Language of instruction: | TR | ||||
Course Requirement: | |||||
Does the Course Require Work Experience?: | No | ||||
Type of course: | Departmental Elective | ||||
Course Level: |
|
||||
Mode of Delivery: | Face to face | ||||
Course Coordinator : | Prof. Dr. HALİS ALTUN | ||||
Course Lecturer(s): | Prof. Dr. Halis ALTUN | ||||
Course Assistants: |
Course Objectives: | - Introduction of system software development methods and system software development tools. - Compatibility of computer architecture with software components and examining the factors affecting software performance. - Teaching system software development processes with sample applications. |
Course Content: | - Advanced C language basics. - Examining the factors affecting software performance. - Program development processes: Analysis of compile and link processes. - Programming in symbolic language (assembler). - Parallel programming: Multi-thread applications, distributed parallel applications. - Performance issues in parallel programs. |
The students who have succeeded in this course;
1) Develops system software in C language. 2) Uses ready-made libraries in complex applications. 3) Explains the relationship between computer architecture and programming languages. 4) The operating system knows shell commands. 5) Programs in symbolic language. 6) Knows parallel programming. |
Week | Subject | Related Preparation |
1) | Use of C language in system software, commonly used methods (conventions). | |
2) | Program compilation and linking operations. Creating Makefile. Use of ready-made libraries. | |
3) | Sistem çağrıları ve C kütüphaneleri ile performans karşılaştırmaları. | |
4) | File systems, shortcut (link) and directory files. | |
5) | Application development with commonly used system calls (use of stat, opendir, readdir/closedir). | |
6) | Analysis of other system calls and their use in applications. | |
7) | Shell programming and redirection. | |
8) | Use of signals, fork and exec calls | |
9) | Symbolic language programming - 1 (assembler): Input and local variables | |
10) | Symbolic language programming - 2 (assembler): Subroutines (procedures) and register spilling | |
11) | Programming in symbolic language - 3 (assembler): Address variables (pointers) | |
12) | Symbolic language programming - 4 (assembler): Branching and conditional branching | |
13) | Parallel programming (Threads) | |
14) | Parallel programming: Programming in the server client model |
Course Notes / Textbooks: | Wray, J. Greenfield, R. Bannatyne, “Using Microprocessors and Microcomputers”, Prentice-Hall Beck, “System Software”, Addison Wesley D.H. Marcellus, “Systems Programming for Small Computers”, Prentice Hall |
References: | Silberschatz, et al., “Operating System Concepts”, Addison-Wesley |
No Effect | 1 Lowest | 2 Medium | 3 Highest |
Program Outcomes | Level of Contribution | |
1) | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems. | |
2) | Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | |
3) | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose | |
4) | Ability to devise, select, and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | |
5) | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | |
6) | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | |
7) | Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | |
8) | Knowledge of the global and societal impacts of engineering practices on priority issues such as health, environment and safety and contemporary issues; knowledge of the legal aspects of engineering solutions. awareness of the consequences | |
9) | Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice. | |
10) | Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and knowledge about sustainable development. | |
11) | Ability to design systems to meet desired needs | |
12) | Ability to apply basic sciences in the field of computer engineering | |
13) | Ability to implement designs by experiments | |
14) | Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. |
Anlatım | |
Bireysel çalışma ve ödevi | |
Course | |
Homework |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Homework |
Semester Requirements | Number of Activities | Level of Contribution |
Quizzes | 3 | % 20 |
Homework Assignments | 3 | % 20 |
Midterms | 1 | % 20 |
Final | 1 | % 40 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 60 | |
PERCENTAGE OF FINAL WORK | % 40 | |
total | % 100 |
Activities | Number of Activities | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | Workload | ||
Course Hours | 14 | 3 | 42 | ||||
Study Hours Out of Class | 14 | 3 | 42 | ||||
Homework Assignments | 3 | 10 | 30 | ||||
Quizzes | 3 | 6 | 18 | ||||
Midterms | 1 | 15 | 15 | ||||
Final | 1 | 20 | 20 | ||||
Total Workload | 167 |