Course programme

INTRODUCTION
Introduction to computer science. Organization and architecture of computers. Computer evolution and performance. A taxonomy of modern computer systems.

THEORETICAL MODELS FOR COMPUTING MACHINES
Combinatorial machines, sequential machines and automata, the Turing machine, the Von Neumann's model.

COMPUTER ARCHITECTURE
Computer components and functions. Interconnections.

THE CENTRAL PROCESSING UNIT
Main concepts. Processor structure and function. Pipelining. X86 and ARM architectures in brief. RISC and CISC. Superscalar processors. Performance issues. Programming in assembly language.

MEMORY
Memory hierarchy. Primary memory: organization and technologies. Secondary memory: organization and technologies. Caching: organization and technologies. Performance issues.

INPUT/OUTPUT
Main concepts and organization.

THE OPERATING SYSTEM
The operating systems: organization and function. Scheduling. Memory management. Application software. Performance issues.