Open Educational Resource (OER) presentations for IT Systems
1. What’s this?
This page collects OER presentations (HTML slides with embedded audio and PDF variants, available under free and open Creative Commons licenses) for a course on IT Systems for 4th-term students in the Bachelor program in Information Systems at the University of Münster, Germany.
If you are teaching or learning IT Systems, feel free to use, share, and adapt my presentations. As usual for projects on GitLab, you can open issues to report bugs or suggest improvements, ideally with merge requests. The document CONTRIBUTING contains some pointers for contributors.
Students in Münster have taken courses on programming in Java, data structures and algorithms, and data modeling before taking “IT Systems.” As prerequisite for IT Systems, students should be able to
- convert between binary and decimal numbers,
- write, compile, and execute small Java programs,
- use basic data structures (stack, queue, tree) and algorithms;
- also, being able to explain the database transaction concept and update anomalies will ease understanding of presentations on mutual exclusion.
Learning objectives: After taking this course, students will be able to
- explain and construct the building blocks of modern computers, from Boolean functions over multiplexers and adders to memory and CPU,
- explain the fundamental Von Neumann architecture for computers and discuss performance aspects,
- explain and write simple assembly language procedures,
- explain architectures, components, and management techniques of modern operating systems: processes and threads, scheduling, I/O, virtual memory,
- analyze challenges of concurrent programming and overcome them with suitable techniques for mutual exclusion,
- apply selected operating system algorithms (for scheduling and memory management),
- explain concepts for cloud computing from virtualization to serverless computing and implement typical management tasks.
2. Presentations
Note: OER presentations (HTML slides and PDF documents) linked here are generated automatically from their source files (with the FLOSS software emacs-reveal). Presentations and source files are published under the Creative Commons license CC BY-SA 4.0. Files will be added and updated throughout the term (and thereafter).
The PDF versions below come in two variants: the first one mirrors the presentation layout on screen, while the second one provides a condensed format, generated via LaTeX from Org source files.
- List of index terms for IT Systems (may simplify search for specific topics)
- Computer Architecture
- Course Overview (live lecture, no audio, PDF, condensed PDF)
- Nand to Tetris (PDF, condensed PDF)
- Boolean Logic I (PDF, condensed PDF)
- Boolean Logic II (PDF, condensed PDF)
- Combinational Circuits I (PDF, condensed PDF)
- Combinational Circuits II (PDF, condensed PDF)
- Hack Memory (PDF, condensed PDF)
- Machine and Assembly Language (PDF, condensed PDF)
- Computer Architecture (PDF, condensed PDF)
- Operating Systems (OSs)
- OS Motivation (live lecture, no audio, PDF, condensed PDF)
- OS Overview (PDF, condensed PDF)
- OS Introduction (PDF, condensed PDF)
- Interrupts and I/O - Part 1 (PDF, condensed PDF)
- Interrupts and I/O - Part 2 (PDF, condensed PDF)
- Threads (PDF, condensed PDF)
- Scheduling (PDF, condensed PDF)
- Mutual Exclusion (PDF, condensed PDF)
- Mutual Exclusion with Java (PDF, condensed PDF)
- Mutual Exclusion Challenges (PDF, condensed PDF)
- Virtual Memory I (PDF, condensed PDF)
- Virtual Memory II (PDF, condensed PDF)
- Virtual Memory with Linux (parts may be shown in class) (PDF, condensed PDF)
- Processes (PDF, condensed PDF)
- Cloud Infrastructure
3. Source code and licenses
In the spirit of
Open Educational Resources
(OER), source files, necessary software, and presentations are published in this GitLab repository
under free licenses.
All OER presentations are created from plain text files in a simple text
format called Org Mode (a
lightweight markup language),
focusing on content, while layout is defined separately.
Importantly, the separation of content and layout
simplifies collaboration across organizational boundaries, and the use
of a simple text format enables comparisons of adapted or enhanced
versions (with diff
-like functionality).
Using the free software emacs-reveal these text files are translated into reveal.js HTML presentations, which can be viewed on (almost) any device with a Web browser. In times of dragnet surveillance and surreptitious as well as blatant data brokerage I recommend the Firefox variant Tor Browser as tool for digital self-defense (here in English and here in German); presentations work for me under the higher-than-default “Safer” security settings in Tor Browser.