Information
Code | CEN434 |
Name | Computer Systems from The Programmer's Perspective |
Term | 2022-2023 Academic Year |
Semester | 8. Semester |
Duration (T+A) | 3-0 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 3 National Credit |
Teaching Language | İngilizce |
Level | Lisans Dersi |
Type | Normal |
Label | E Elective |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Dr. Öğr. Üyesi SERKAN KARTAL |
Course Instructor |
1 |
Course Goal / Objective
Aim of this course is to explain the important and enduring concepts underlying all computer systems, and to show the concrete ways that these ideas affect the correctness, performance, and utility of application programs.
Course Content
This course provides a programmer's view of how computer systems execute programs, store information, and communicate.It enables students to become more effective programmers, especially in terms of performance, portability and robustness. Topics covered include: performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.
Course Precondition
Have basic knowledge of computer architecture and C programming
Resources
Computer Systems: A Programmer's Perspective 3rd Edition by Randal Bryant , David O'Hallaron
Notes
Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | Explain common bit-level representations of numeric values (unsigned, twos complement, floating point) and the consequent mathematical properties of arithmetic and bitlevel operations on them. |
LO02 | Analyze the consequences of imperfect system usage, such as poor memory and CPU performance, crashes, and security vulnerabilities |
LO03 | Investigate the programmers interaction with the underlying system , including system support for process and thread control, virtual memory, and networking. |
LO04 | Explain how computer systems execute programs, store information, and communicate. |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | Has capability in the fields of mathematics, science and computer that form the foundations of engineering | 4 |
PLO02 | Bilgi - Kuramsal, Olgusal | Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, | 3 |
PLO03 | Bilgi - Kuramsal, Olgusal | Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly. | 3 |
PLO04 | Bilgi - Kuramsal, Olgusal | Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively. | 4 |
PLO05 | Bilgi - Kuramsal, Olgusal | Ability to design and to conduct experiments, to collect data, to analyze and to interpret results | 3 |
PLO06 | Bilgi - Kuramsal, Olgusal | Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence | 1 |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Can access information,gains the ability to do resource research and uses information resources | 2 |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability | 2 |
PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language | |
PLO10 | Yetkinlikler - Öğrenme Yetkinliği | Professional and ethical responsibility, | |
PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications, | |
PLO12 | Yetkinlikler - Öğrenme Yetkinliği | Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Representing and Manipulating Information | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
2 | Integer Representations and Floating Point | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
3 | Machine-Level Representation of C Programs | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
4 | Optimizing Program Performance | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
5 | Understanding Modern Processors | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
6 | The Memory Hierarchy | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
7 | Cache Memories | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
8 | Mid-Term Exam | Reading of course notes | Ölçme Yöntemleri: Yazılı Sınav |
9 | Linking and Loading | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
10 | Exceptional Control Flow | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
11 | Measuring Program Execution Time | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
12 | Virtual Memory | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
13 | Concurrent Programming with Threads | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
14 | Network Programming | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
15 | Error handling | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösteri |
16 | Term Exams | Reading of course notes | Ölçme Yöntemleri: Yazılı Sınav |
17 | Term Exams | Reading of course notes | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 3 | 42 |
Out of Class Study (Preliminary Work, Practice) | 14 | 5 | 70 |
Assesment Related Works | |||
Homeworks, Projects, Others | 0 | 0 | 0 |
Mid-term Exams (Written, Oral, etc.) | 1 | 15 | 15 |
Final Exam | 1 | 30 | 30 |
Total Workload (Hour) | 157 | ||
Total Workload / 25 (h) | 6,28 | ||
ECTS | 6 ECTS |