Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
5BBM341SYSTEM PROGRAMMING3+0+03406.09.2024

 
Course Details
Language of Instruction English
Level of Course Unit Bachelor's Degree
Department / Program COMPUTER ENGINEERING
Type of Program Formal Education
Type of Course Unit Compulsory
Course Delivery Method Face To Face
Objectives of the Course The subject matter of this course is to provide a programmer’s perspective on how computer systems execute programs and store data.
Course Content Data representation
Computer arithmetic
Assembly language
Code optimization
Memory organization and management
Linking
Exceptional control flow
Virtual memory
System-level I/O.
Course Methods and Techniques Lecture, Problem Solving
Prerequisites and co-requisities ( BBM104 ) and ( BBM102 )
Course Coordinator None
Name of Lecturers Associate Prof.Dr. Kayhan İmre
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources Computer Systems: A Programmers Perspective, 2/E (CS:APP2e), Randal E. Bryant and David R. O'Hallaron, Prentice Hall, 2011
Course Notes Computer Systems: A Programmers Perspective, 2/E (CS:APP2e), Randal E. Bryant and David R. O’Hallaron, Prentice Hall, 2011


Planned Learning Activities and Teaching Methods
Activities are given in detail in the section of "Assessment Methods and Criteria" and "Workload Calculation"

Assessment Methods and Criteria
In-Term Studies Quantity Percentage
Midterm Exam 1 % 30
Assignment 3 % 25
Final examination 1 % 40
Total
5
% 95

 
ECTS Allocated Based on Student Workload
Activities Quantity Duration Total Work Load
Course Duration 14 3 42
Hours for off-the-c.r.stud 11 1 11
Assignments 3 14 42
Preparation for Midterm Exam 1 10 10
General Exam Preparation 1 15 15
Total Work Load   Number of ECTS Credits 4 120

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 After completing the course, the students will gain deep understanding of inner workings of computer systems
2 become better programmers,
3 have hand-on experiences via a set of programming assignments
4 read and discuss some research papers from the current literature
6  
7  
8  

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 Overview, bits, bytes
2 Integer representations and integer arithmetic
3 Floating point
4 Assembly: Basics
5 Assembly: Control structures and procedures
6 Midterm exam
7 Assembly: Data
8 The Memory hierarchy
9 Linking
10 Exceptional control flow
11 System-level I/O
12 Code optimization
13 Virtual memory
14 Advanced Topics
15 Final Exam Preparation
16 Final Exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 5 5 5 5 2 2 2 2 2 2 2
C1
C2
C3
C4
C6
C7
C8

  Contribution: 1: Very Slight 2:Slight 3:Moderate 4:Significant 5:Very Significant

  
  https://bilsis.hacettepe.edu.tr/oibs/bologna/progCourseDetails.aspx?curCourse=2687397&lang=en