/ Jana Völker
The CAOS project
As they visit the lecture Computer Architecture and Operating Systems - CAOS for short - Bachelor students of Computer Science at the Department of Mathematics and Computer Science have the opportunity to delve into hardware-related projects.
What can you learn in this lecture?
In the lecture given by Prof. Florina Ciorba and Prof. Christian Tschudin, students first learn some hardware-related basics, such as the structure of logic gates, arithmetic processing unit, CPU types, assembler programming, memory hierarchy, and computer peripherals. In the further course, software-related content such as the structure of operating systems, file systems, multitasking, up to DLL, and micro-kernel architecture are added. The class consists of a theoretical and a practical part. In addition to an exam, the students work in groups on a project of their choosing and present their results at the end of the semester. As part of this group work, students have the opportunity to concentrate a little more on hardware when choosing their projects than in other classes that they will attend during their bachelor's degree. «This lecture, and especially its project component, is very important to provide a comprehensive understanding of computer systems and what they consist of - computer architecture - and what makes them tick - operating systems,» says Prof. Ciorba.
LED, CPU, and Co.
All students design their projects from scratch. This starts with the theoretical conception, but also includes the procurement of the individual components, the associated research, and of course the assembly of all components to make the finished exhibit as well as the writing of the associated code. Project ideas are diverse: from self-built CPUs to LED ping-pong, dice, and display boards to digital instruments. A total of 16 projects were presented this year.
«[The project] allows a glimpse beyond the ‘programmer's nose’ and enables a deeper understanding of how computers work,» say Flurina, Vera, and Yasmin, who built a theremin together. «The project [...] was an absolute highlight, just like the programming project last semester. Working with Arduinos, using soldering stations and electrical components at my own pace, was great» says Patrick, who built an LED cube with his group. Dealing with hardware and software from scratch on a project basis is like «learning to read and write, you can retrace the history of computer science and understand how it became what it is today», adds another fellow student who built a CPU with his group. Hardware-related programming with C also conveys important basics «it is definitely worthwhile to learn C, the mother of all programming languages because almost everything we know today is based on it. Besides, programming with C is simply fun» he continues.
Until the final presentation, the students face various hurdles. Good time and crisis management, teamwork, and the ability to find and fix errors are required. «Fortunately, we had a group dynamic that worked well, which was reflected in our collaboration and planning. Working on the project in a group and sharing questions, ideas, despair, and moments of success was usually very rewarding and gave us many new insights into the subject area.» as Flurina, Vera, and Yasmin say. Also, the groups had to program and implement libraries themselves. «There are perhaps more practical solutions today, but doing everything on your own teaches certain basics - after all, computer science grew historically and a lot builds on one another.» the students know.
In the spirit of parallelization, this time several rooms and cameras were used for the final presentations to guarantee maximum security and a smooth process despite the special circumstances of the pandemic.
The project offers the opportunity to «get creative» and during the exercises «what you have learned can be tried out» is how Flurina, Vera, and Yasmin summarize their experience. Patrick would recommend the students of the coming semesters to «aim for a more hardware-intensive project». «Computer architecture is simply fascinating! A few voltage sources and electrical signals - everything is based on logic gates and an unbelievable amount can arise from them.» a fellow student sums up.
From the autumn semester of 2021, the lecture will be divided into two separate courses: Computer Architecture by Prof. Tschudin and Operating Systems by Prof. Ciorba.