Instıtute Of Graduate Educatıon
Informatıon Technologıes Master's Program (Wıthout Thesıs)
Course Information
SYSTEM PROGRAMMING | |||||
---|---|---|---|---|---|
Code | Semester | Theoretical | Practice | National Credit | ECTS Credit |
Hour / Week | |||||
IT511 | Spring | 3 | 0 | 3 | 5 |
Prerequisites and co-requisites | None |
---|---|
Language of instruction | Turkish |
Type | Elective |
Level of Course | Master's |
Lecturer | Asst. Prof. Dr. Mehmet Ali AKTAŞ |
Mode of Delivery | Face to Face |
Suggested Subject | None |
Professional practise ( internship ) | None |
Objectives of the Course | To help students understand the development toolchain consisting of the compiler, the linker, and the loader. To develop projects at the operating system kernel level. To teach system programming both at kernel- and user-space layers. |
Contents of the Course | Assemblers, compilers, linkers, loaders. Operating system kernel, system calls. Kernel modules, device drivers. File systems. |
Learning Outcomes of Course
# | Learning Outcomes |
---|---|
1 | Can use high level programming languages together with low level programming languages for the parts in a project where a more efficient usage of system resources is required. |
2 | Knows how to add or modify a feature in an operating system kernel. |
3 | Knows the advantages and drawbacks of modular development in operating system kernels and can choose the appropriate method for a new project. |
4 | Knows the concepts in developing a file system. |
Course Syllabus
# | Subjects | Teaching Methods and Technics |
---|---|---|
1 | PC Assembly Language | Lecture, discussion, presentation |
2 | C and Assembly | Lecture, discussion, presentation |
3 | Kernel Architecture | Lecture, discussion, presentation |
4 | Kernel Architecture | Lecture, discussion, presentation |
5 | C with Assembly Lab | Lecture, discussion, presentation |
6 | C with Assembly Lab | Lecture, discussion, presentation |
7 | Accessing Devices | Lecture, discussion, presentation |
8 | Midterm Exam | Exam |
9 | Kernel Lab | Lecture, discussion, presentation |
10 | File System | Lecture, discussion, presentation |
11 | Device Driver Lab | Lecture, discussion, presentation |
12 | Device Driver Lab | Lecture, discussion, presentation |
13 | File System Lab | Lecture, discussion, presentation |
14 | RPC & Socket programming | Lecture, discussion, presentation |
15 | Shell Programming | Lecture, discussion, presentation |
16 | Final Exam | Exam |
Course Syllabus
# | Material / Resources | Information About Resources | Reference / Recommended Resources |
---|---|---|---|
1 | Introduction to Systems Programming, Prof. Dan Connors | ||
2 | Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) |
Method of Assessment
# | Weight | Work Type | Work Title |
---|---|---|---|
1 | 40% | Mid-Term Exam | Mid-Term Exam |
2 | 60% | Final Exam | Final Exam |
Relationship between Learning Outcomes of Course and Program Outcomes
# | Learning Outcomes | Program Outcomes | Method of Assessment |
---|---|---|---|
1 | Can use high level programming languages together with low level programming languages for the parts in a project where a more efficient usage of system resources is required. | 1͵3͵4 | 1͵2 |
2 | Knows how to add or modify a feature in an operating system kernel. | 1͵11͵13 | 1͵2 |
3 | Knows the advantages and drawbacks of modular development in operating system kernels and can choose the appropriate method for a new project. | 1͵4͵13 | 1͵2 |
4 | Knows the concepts in developing a file system. | 1͵8͵9͵13 | 1͵2 |
Work Load Details
# | Type of Work | Quantity | Time (Hour) | Work Load |
---|---|---|---|---|
1 | Course Duration | 14 | 3 | 42 |
2 | Course Duration Except Class (Preliminary Study, Enhancement) | 14 | 2 | 28 |
3 | Presentation and Seminar Preparation | 0 | 0 | 0 |
4 | Web Research, Library and Archival Work | 0 | 0 | 0 |
5 | Document/Information Listing | 0 | 0 | 0 |
6 | Workshop | 0 | 0 | 0 |
7 | Preparation for Midterm Exam | 1 | 2 | 2 |
8 | Midterm Exam | 1 | 1 | 1 |
9 | Quiz | 0 | 0 | 0 |
10 | Homework | 0 | 0 | 0 |
11 | Midterm Project | 0 | 0 | 0 |
12 | Midterm Exercise | 0 | 0 | 0 |
13 | Final Project | 1 | 49 | 49 |
14 | Final Exercise | 1 | 1 | 1 |
15 | Preparation for Final Exam | 1 | 1 | 1 |
16 | Final Exam | 1 | 1 | 1 |
125 |