Overview

Learning programming is often perceived as dull or overwhelming, especially when it is not linked to the solution of engaging real-world tasks. Modern interdisciplinary approaches make this process faster and involve students deeper. cSports is a platform designed as an interactive tool for secondary schools and universities to facilitate programming education among students. The educational concept is based on enhancing programming skills and algorithmic thinking through competitive gameplay. Programming languages are Java for pupils and JavaScript for students, while more programming languages will be added later on. By combining educational objectives with the dynamics of gaming, cSports transforms traditional learning into a motivating experience.

Project Team

The Computer Vision for Intelligent Mobility Systems (CVIMS) team focuses on practical solutions in autonomous driving, with a strong emphasis on education. One of our goals is to help shape a new generation of Computer Science and AI professionals with a solid foundation in programming languages. cSports is one of our cutting-edge educational projects. It aims to accelerate the development of higher education in response to the rapid growth of AI-driven technologies. By doing so, we ensure not only the successful application of current technologies, but also the long-term development of essential skills in future experts who will drive the field forward. 
The core cSports project team consists of Project Lead Prof. Dr. Torsten Schön; from the Computer Science perspective, the platform is being developed by PhD student Daniel Kriegl, while Research Associate at THI and PhD student at University Koblenz Luca Schreiber is responsible for Educational Didactics.

Innovative nature

The project’s philosophy reflects the synergy between smart technology and purposeful didactic design.

cSports combines a secure, scalable infrastructure with a flexible learning model. Games can be added quickly, and coding challenges adapt in complexity, making the platform suitable for beginners and advanced learners alike. By overlapping simple and advanced coding patterns, cSports supports a smooth transition from basic skills to real programming proficiency.

Live tournaments and competitions turn serious tech into playful, motivating learning. This opens the door to engaging use in schools, universities, and beyond.

We also emphasize the transition from block-based programming to writing real code, supported by adaptable environments that prioritize fun and trial-and-error-based learning to ease performance pressure.
Thanks to its modular structure, the platform also fits corporate trainings, junior hackathons, and any setting where coding education meets creativity.

Key Features of the cSports Platform

The cSports platform is built on a client-server architecture, structured around a modular separation between the core platform and individual games. This design ensures flexibility, scalability, and a clear division of responsibilities across different parts of the system.

Main Components

Platform Module: the foundational shell of the system. It offers essential utilities such as user management, persistent storage, and a unified game discovery interface. All games are accessed through the platform, which also manages authentication, user sessions, and shared UI components.

Game Modules: each game is developed as an independent module and loaded via a microfrontend architecture. This approach allows games to be maintained, deployed, and even hosted independently. Games interact with the platform through shared utilities but are free to implement their technology stacks. 

Game Framework: a reusable game engine designed to handle common 1v1 game mechanics. This engine accelerates the development of new games by abstracting away repetitive logic. It provides:

  • WebSocket-based real-time communication
  • Code submission and execution logic
  • Code Execution Isolation
  • Lobby management
  • Game state synchronization

Architectural Principles

Separation of Concerns: The different components are developed independently and composed together using a microfrontend architecture, minimizing coupling and reducing the risk of cascading errors.

Extensibility and Flexibility: developers are encouraged to use the provided utilities. The architecture supports multiple technology stacks, enabling creative freedom and rapid prototyping.

Loose Coupling via Shared Utilities: interaction between platform and games is facilitated through well-defined interfaces and optional utilities. This minimizes dependencies while still providing consistency across the platform.

The platform is based on a modular Angular/NestJS architecture, with secure sandboxed code execution and Docker-based deployment.

The design prioritizes developer autonomy and system robustness. 
 

Roadmap

In the cSports project, a platform with several games of different genres and difficulty levels is being developed. In the course of the project, several live competitions will take place, where students can compete against each other in cSports in front of an audience. The first tournament took place on April 16th, 2024 at Technische Hochschule Ingolstadt.

The goal is to have the platform be available for schools and universities in the future.

Partners

The project was enabled by the Klaus Tschira Stiftung, a foundation committed to supporting research and innovation in science, education and science communication. 

We invite schools, universities, educational institutions, and companies to collaborate!

THI Contact

Prof. Dr. Torsten Schön
Computer Vision for Intelligent Mobility Systems
Prof. Dr. Torsten Schön
Phone: +49 841 9348-2335
Room: K201
E-Mail:
PhD Student
Luca Schreiber
Phone: +49 841 9348-2851
Room: P107
E-Mail:
PhD student
Daniel Kriegl
Phone: +49 841 9348-2349
Room: K203
E-Mail:

Supported by