Files
website/_posts/teaching/2019-10-15-operating_systems.md

4.9 KiB

layout: single <<<<<<< HEAD title: "Operating Systems TA" categories: teaching excerpt: "TA & Coordinator, Operating Systems lecture (~350 students), system programming." header: teaser: /assets/images/teaching/computer_os.png role: Teaching Assistant, Tutorial Coordinator skills: System Programming Concepts (Processes, Threads, Sync, IPC, Memory Mgmt), Java Programming (Threads), Exercise Design, Examination Support, Tutorial Coordination, Large-Scale Course Organization duration: Winter 2018/19, Winter 2019/20

Operating System Icon{: .align-left style="padding:0.1em; width:5em" alt="Operating System Icon"} Following the introductory course on Computer Architecture, I also served as a Teaching Assistant and Tutorial Coordinator for the subsequent "Betriebssysteme" (Operating Systems) lecture at LMU Munich, taught by Prof. Dr. Linnhoff-Popien. This course typically enrolled 300-400 students per semester.

My role involved supporting the lecture and managing the associated tutorial sessions:

  • Tutorial Coordination: Led a team of 10-12 student tutors, organizing their schedules and ensuring consistent support for the students' learning process.
  • Exercise & Examination Support: Contributed to the development of weekly graded exercise sheets, focusing on practical application of theoretical concepts. Assisted in the preparation and administration of final examinations.

The lecture built upon the foundations laid in Computer Architecture, delving into core operating system and system programming concepts. Practical exercises were primarily implemented in Java, making extensive use of the Thread API to illustrate concurrency concepts.

Course Materials

(Semesters involved)

Key Course Topics

The curriculum focused on:
  • Operating System Structures and Services
  • Process Management and Scheduling
  • Thread Management and Concurrency
  • Synchronization Mechanisms (Mutexes, Semaphores, Monitors)
  • Inter-Process Communication (IPC)
  • Memory Management (Paging, Segmentation, Virtual Memory)
  • File Systems
  • Introduction to Distributed Systems Architectures

Practical exercises emphasized concurrent programming using Java Threads.

title: "Lecture: Operating Systems" categories: teaching excerpt: "Teaching the inner working of bits and bytes." header: teaser: assets/images/teaching/computer_os.png

logo{: .align-left style="padding:0.1em; width:5em"}In the semesters listed below, my job was to assist in organiszing this bachelors lecture of about 300-400 students. We had a team of 10-12 tutors that were employed to balance the workload. Also, we created each weeks graded exercise sheets as well as the written exam and organized it.

Content

The lecture `Operating Systems` was a continuation of the lecture [`Computer Architecture`](teaching/computer_achitecture/) held in the summer semester. The focus of the lecture lay on presenting the concepts of system programming. This included the programming of the operating system and of service programs such as editors, compilers and interpreters. The lecture provided an overview of the main tasks and problem around operating system, with particular emphasis on the areas of synchronization, process communication, kernel and memory management. Java (in particular the Thread API) was used to teach the practical implementation of the concepts introduced in the lecture in the practical exercises. At the end of the lecture, the architecture of distributed systems, cross-computer communication and remote procedure calls was discussed, also.

This lecture was held by Prof. Dr. Linnhoff-Popien titled Betriebssysteme at LMU.

d0fa738f (rebase from mnml mistakes source)