Skip to content

Design Tools And Laboratory Engineering - Coding

Course Number M24.0862104
WS 2025/26

Welcome to the Course πŸš€

This course is an introduction to Professional Developer Tools and Workflows. It is designed for hands-on Master students in engineering disciplines:

  • Embedded Systems Engineering
  • Power Electronics Engineering
  • System Test Engineering

Our goal

Get bootstraped into the world of software development with the basic toolset.

Why this course?

Modern engineering requires more than theory:

  • Projects are developed in teams, not alone.
  • Source code is managed, versioned, and reviewed.
  • Debugging, testing, and automation are daily tasks.
  • Knowing the right tools saves time and frustration.

This course gives you the toolbox and mindset to succeed.

Examination

Since this is an introductory course, you have two options. You can either take the qualification exam at the beginning of the course or attend the lecture as outlined below.

The qualification exam consists of a 60-minute practical session that assesses whether you are already familiar with the course content.

Course Structure

We have 10 units (2 blocks Γ— 5 sessions). Each unit is 45 minutes of (minimal) theory, live demos, and hands-on exercises.

Block 1: Environment & Tools

  1. Virtual Machine
  2. Linux Basics & the Terminal
  3. The Shell – Essential Commands
  4. neovim & VSCode – Your Coding Environment
  5. tmux – Work like a Pro
  6. Configuration management (Git)

Block 2: CMake & GoogleTest & C++

  1. CMake
  2. First C++ Project
  3. Testing
  4. Debugging

What you will learn

By the end of this course you will:

  • Navigate Linux and the terminal with confidence.
  • Manage code with Git and collaborate in teams.
  • Build and structure C++ projects using CMake.
  • Learn how to write C++ code.
  • Work with Google Test.
  • Develop a small engineering project from start to finish.

Our Learning Style

  • Hands-on first: you learn by doing.
  • Mini-exercises in every session.
  • Work in teams
  • Mistakes are part of learning β†’ we debug together.
  • Focus on professional workflows you’ll use in industry.

πŸ‘‰ Be ready to open your terminal, code, and experiment. This course is not about slides β€” it’s about practice.

Resources

  • Linux Platform (Egon Teiniker) Github
  • Introduction to Configuration Management (Egon Teiniker) Github
  • Introduction to C++ (Egon Teiniker) Github