Hardware Fundamentals

This is the homepage for the hardware fundamentals course. You can find all course information here.

Course description

This course is for students with a Bachelor in Computer Science (or equivalent) who joined the CESE Master program. The main goals of the course are as follows. First, to "remove the magic" about how computers are build up and operate by systematically discussing the essentials at the different abstraction layers, from bits and transistors up to CPU and system architecture including low level programming and debug. Moreover, the main relationships between the layers will be emphasised for a holistic understanding of digital computers. Next, the main advantages and disadvantages of digital signal processing in respect to its analog counterpart will be discussed. Last but not least, the basic principles behind the discrete systems and control theory will be explained based on real-life examples. All in all, the end goal is to equip the CESE students with a Computer Science background with all the necessary knowledge required to successfully specialise in any of the sub-disciplines represented by the research groups delivering the CESE education.

Course Schedule

Here you can find the schedule of the course. Each lecture is denoted by its week and then the first or second lecture of that week. This lecture schedule is also available on Brightspace where it also contains a list of detailed topics per lecture.

TopicDate & TimeLocation
Lecture 1.1Welcome Aboard / IntroductionTuesday 5 September 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 1.2The TransistorThursday 7 September 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lecture 2.1From Transistors to Gates and Logic StructuresTuesday 12 September 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 2.2The micro-architectureThursday 14 September 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lab 1Combinational and Sequential LogicThursday 14 September 13:45Drebbelweg-Instruction Room 3 (35.1.160)
Lecture 3.1Instruction Set ArchitectureTuesday 19 September 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 3.2Instruction Set ArchitectureThursday 21 September 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lecture 4.1VerilogTuesday 26 September 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 4.2VerilogThursday 28 September 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lab 2VerilogThursday 28 September 13:45Drebbelweg-Instruction Room 3 (35.1.160)
Lecture 5.1Low-level Programming and DebuggingTuesday 3 October 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 5.2Discussion on Computer ArchitecturesThursday 5 October 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lecture 6.1Input/Output and Interrupts, ExceptionsTuesday 10 October 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 6.2Digital and Continuous SignalsThursday 12 October 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lab 3(Micro)ArchitecturesThursday 12 October 13:45Drebbelweg-Instruction Room 3 (35.1.160)
Lecture 7.1Introduction to SystemsTuesday 17 October 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 7.2Main system models and transformationsThursday 19 October 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lecture 8.1Digital Control Systems (basics)Tuesday 24 October 13:45EEMCS-Lecture Hall Chip (36.HB.01.600)
Lecture 8.2Digital Control Systems (stability)Thursday 26 October 08:45EEMCS-Lecture Hall D@ta (36.HB.01.630)
Lab 4Systems & ControlThursday 26 October 13:45Drebbelweg-Instruction Room 3 (35.1.160)
Final ExamFriday 10 November 9:00CEG-Instruction Room 1.97 (23.HG.1.97)

Grading

The course consists out of a written exam and 4 lab assignments. Each lab assignment is pass/fail and you are required to pass each lab in order to pass the course. A final grade of 6 is needed to pass the course. Each lab also has a bonus assignment which can reward you 0.25 points extra on top of your final grade. For example, if you get a 7 on the exam and you complete 2 bonus assignments during the labs, your final grade is a 7.5.