PART 1: computer systems
-- the layered model of computer systems;
-- number systems (binary, octal, hexadecimal, ...) and data representation (fixed-point, floating-point, ASCII, Unicode, ...);
-- machine language and assembly language with the MIPS processor as a specific example;
-- the implementation (architecture) and use (assembly language) of computer arithmetic.
PART 2: computer architecture
-- logical gates and circuits;
-- the incremental construction of components of a datapath: ALU, instruction decoder, controller, ....;
-- the construction of a complete datapath with as a goal the execution of different instruction types: register instructions, test and branch instructions, and memory load/store operations;
-- basic notions of pipelining and exceptions.
PART 3: UNIX (during assignment sessions)
-- Introduction to the "vi" editor
-- Introduction to "shell scripting"