Faculty of Engineering and Natural Sciences · Software Engineering (English) · Undergraduate
Course Objective
This course introduces the elements of computer systems from the level of basic hardware gates, through to compilers, languages and applications. The aim is to give an overview of the layered nature of computer systems and how the use of simple interfaces can make the design of complex and powerful systems possible. Topics covered include: digital logic, memory, processors, assembly language, virtual machines, recursive descent parsing, code generation and operating systems.
Course Content
Computing systems basics, Bits, Data Types, and Operations, Logic Gates, Combinational Logic Circuits, Basic Storage Elements, Concept of Memory, Sequential Logic Circuits The von Neumann Model, Basic Components, Instruction Processing, Memory Organization, Registers, Instruction Set, Data Types, Addressing Modes, Basic Components of the Data Path, Instruction Cycle, Assembly language.
Course Learning Outcomes
- Understand the basics of digital devices.
- Being familiar with the most common numbering systems.
- Being able to establish logic circuits and sequential logic circuits combined with logic gates.
- Being able to define the concept of memory and memory organization, records, command set, data types and addressing modes.
- Understanding the basics of Von Neumann model.
- Being able to write assembly codes.


