Virtual Prototyping Using SystemC(Prof. Dr. Torsten Maehne)
This course block introduces virtual prototyping of embedded systems using SystemC. Different models of computations are presented, which are needed to efficiently model and simulate today's complex and heterogeneous hardware/software systems and their interaction with the environment at different levels of abstraction (Register Transfer Level (RTL), Bit Cycle Accurate (BCA), Transaction Level (TL)). Based on hands-on exercises, modeling and debug strategies as well as design and verification methodologies for hardware/software co-design will be discussed.
Image Analysis(Prof. Marcus Hudritsch)
This course block gives a broader insight into digital image analysis. After a short wrap-up over image processing, we start with the classic feature engineering approach where the software engineer first segments an image into desired regions and represents them in processable data structures. After that, we learn different methods to extract meaningful and discriminative features that we can use in the final step to classify the image. The course block closes with machine learning for image analysis where we learn how to use unsupervised and supervise learning with large labeled datasets to classify images.
GPU Programming (Prof. Urs Künzler)
This course provides an introduction into modern GPU programming using the OpenGL GLSL Shading Language. We thereby get to know the basic principles of computer graphics. In particular we look at the working of the graphics rendering pipeline and its processing steps like vertex and geometry shader, hidden surface removal, rasterization, fragment processing and depth buffering. Several demo applications and small programming exercises will provide the participants a hands-on knowledge of tools and the GLSL language. The course evaluation will be based on a small, student defined and implemented project and its short presentation.