SWE302 System ProgrammingInstitutional InformationDegree Programs Software Engineering (English)Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Software Engineering (English)

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course General Introduction Information

Course Code: SWE302
Course Name: System Programming
Course Semester: Spring
Course Credits:
ECTS
6
Language of instruction: EN
Course Requirement:
Does the Course Require Work Experience?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Prof. Dr. HALİS ALTUN
Course Lecturer(s): Prof. Dr. Halis ALTUN
Course Assistants:

Course Purpose and Content

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.

Learning Outcomes

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.

Course Flow Plan

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

Sources

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

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Medium 3 Highest
       
Program Outcomes Level of Contribution
1) Sufficient knowledge in mathematics, science and software engineering discipline-specific topics; the theoretical and practical knowledge in these areas, the ability to use in complex engineering problems.
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modelling methods for this purpose.
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose.
4) Ability to develop, select and use modern techniques and tools necessary for analysis and solution of complex problems in engineering applications; ability to use information technologies effectively.
5) Ability to design experiments, conduct experiments, collect data, analyse and interpret the results of complex engineering problems or discipline-specific research topics.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
8) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and to receive.
9) Conformity to ethical principles, professional and ethical responsibility; Information on standards used in engineering applications.
10) Information on practices in business, such as project management, risk management and change management; awareness about entrepreneurship, innovation; information on sustainable development.
11) Information on the effects of engineering applications on health, environment, and safety in universal and social dimensions, and on the problems of the modern age in engineering; awareness of the legal consequences of engineering solutions.
12) Adequate skills in the analysis, design, verification, evaluation, implementation, implementation, and maintenance of software systems

Learning Activity and Teaching Methods

Anlatım
Bireysel çalışma ve ödevi
Course
Homework

Measurement and Evaluation Methods and Criteria

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework

Assessment & Grading

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

İş Yükü ve AKTS Kredisi Hesaplaması

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