This class is a first introduction to Computer Science.
Introduction, Boolean algebra (see notes, Wikipedia article on Boolean algebra)
Binary logic and logic gates (see notes); example for circuit simplification; flip-flops and latches (see animation of RS latch)
Discussion of Exercise Sheet 1 - solutions
Integer representations, two’s complement, positional number systems (see notes)
Discussion of Exercise Sheet 2 - solutions; positional number systems (ctd.), floating point arithmetic (begin)
Floating point arithmetic (notes, see the floating-point converter for a nice illustration of the bit format; more background can be found in the Wikipedia article on floating point arithmetic and, far more advanced, the paper by Goldberg titled What Every Computer Scientist Should Know About Floating-Point Arithmetic)
Discussion of Exercise Sheet 3 - solutions; floating point arithmetic (finish); Character strings; from ASCII to Unicode (for background reading, see Wikipedia article on Unicode, discussion of C vs. Pascal strings on Stack Overflow), short video on UTF-8
Character encodings (finish); Finite state machines (begin, see notes, slides from Uni Tübingen, introductory video)
Discussion of Exercise Sheet 4 - solutions; finite state machines (ctd.)
Regular expressions (further background reading: Regular Expression Matching Can Be Simple And Fast); Conversion from non-deterministic to deterministic FSMs; conversion from regular expressions to FSMs and back; beyond regular languages (notes; for background reading, see Chomsky hierarchy)
Discussion of Exercise Sheet 5 - solutions; Turing machines (video; Turing machines on Wikipedia; Forouzan, Chapter 17); the halting problem