5JJ55 / 5JJ65 - Computation
("Implementatie van rekenprocessen")


Up to date information about the current course can be found at the computation website.
Program skeletons needed for several assignments, hints to assignments and other material can be found below.
Some material is in Dutch.

Contents:Computing Brain Computation
  1. Help with lab assignments
  2. Programming material and skeletons
  3. Books and other course material
  4. Learning objectives and contents

Help with performing the lab assignments

Programming material

Books

Books on the language C

Books on C++

Books on OpenGL and Glut

Extra course material


Learning objectives of the Computation course

Computation: The aim is to introduce the information part of electrical engineering, to provide insight in the relation between hardware and software of computer systems, to learn to program in the language C, and to prepare the student for the design of a processor(in the following trimester). The student gets acquainted with a formal system for specifying and manipulating switching functions, also to be able to work with a synthesis program for transforming, simplifying and mapping switching functions.

Computer Architecture: The aim is to provide the basis skills for designing a general purpose processor, more in particular a MIPS, the same processor that will be the core of the control system to be designed in the design-oriented part of this trimester. The organisation of such a computer has already been introduced in the Lecture "Computation". Here the student will learn the impact of choices in architecture and a methodology to realize them in hardware.

Contents
Computation: 01: logistics and intro 02: information and computation 03: binary representation 04: what is a program? (lab)05: the digital abstraction 06: switches and gates 07: binary decision diagram 08: logic calculus (lab)09: logic synthesis: a glance 10: combinational devices: parity , convert (hlab)11: sequences and states 12: storage elements 13: von neumann model 14: control flow (lab)15: models of computation 16: datapaths 17:machine languages 18: compiling, running, debugging (lab)19: asynchronous machines 20: sequential devices controllers(hlab)21: stacks and procedures 22: functions (lab)23: single cycle processors 24: multi-cycle processors 25: memory hierarchy 26: strings (lab)27: registers 28: pointers (lab)29: pipelining 30: pipelined processors 31: 32: pointers and arrays (lab)33: computer arithmetic 34: implementing operators abs & pipemult(hlab)35: main memory 36: memory allocation(lab)37: synchronization 38: communication 39: virtual memory 40: structures (lab)41: interfacing peripherals42: data structures: ll (lab)43: boolean algebra 44: switching theory 45: 46: recursion (lab)47: protocols 48: communicating state machines(hlab)49: 50:trees and recursion (lab)51: switching structures (regularity)52: 2- level logic reduction 53: 54: compiling big programs(lab)55:56:I/O from files (lab)57: implementations (transistor circuits)58: multilevel logic59: 60: the very best of C(lab) 61: computer-aided design62: filters (SIS) (hlab)63: final assignments 64,65,66: consult  the website for further details.