11 Punkte von GN⁺ 2026-01-02 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Mit 73 Programmierprojekt-Ideen so zusammengestellt, dass Entwickler gleichzeitig Lernen und kreative Herausforderungen erleben können
  • Jedes Projekt deckt unterschiedliche Bereiche ab, darunter Netzwerke, Systeme, AI, Grafik, Sicherheit und Datenbanken
  • Die meisten Ideen sind darauf ausgelegt, zentrale technische Prinzipien direkt selbst zu implementieren, sodass sich Theorie und Praxis gemeinsam erlernen lassen
  • Zu jedem Eintrag gehören passende Paper, offizielle Dokumentation und Tutorial-Links, die einen klaren Lernpfad aufzeigen
  • Bietet einen Anlass, Programmierung nicht nur als Coding, sondern als Kunst des Erforschens und Erschaffens zu begreifen

Überblick

  • Viele Entwickler möchten ein Side Project starten, wissen aber nicht, was sie bauen sollen
    • Im Internet gibt es viele gängige und langweilige Ideen
  • Dieser Beitrag stellt 73 unterhaltsame Projekte mit hohem Lernwert vor
    • Jedes Projekt ist so aufgebaut, dass man bestimmte technische Konzepte durch eigene Implementierung lernen kann

Netzwerk- und Systemprojekte

  • BitTorrent-Client: Implementierung eines Datei-Download-Clients, um die Funktionsweise von P2P-Netzwerken zu lernen
  • DNS-Server: Aufbau eines Servers mit Query-Empfang, Paket-Parsing, Domain-Auflösung und Caching
  • Container-Runtime: Lernen von Kernel-Namespaces, chroot und Prozessisolierung ohne Docker
  • TCP/IP-Stack: Direkte Implementierung des TCP/IP-Protokolls im Linux-User-Space
  • Load Balancer: Implementierung von Request-Verteilung, Health Checks und Session-Persistenz zwischen Backend-Servern

Daten und verteilte Systeme

  • RAFT-Protokoll: Implementierung eines Systems für verteilten Konsens und Fehlerbehebung
  • Redis-Klon: Aufbau einer In-Memory-Datenbank mit Basisbefehlen, RDB-Persistenz, Replikation und Transaktionen
  • Kafka-Broker: Implementierung eines verteilten Log-Systems, das Topic-Erstellung sowie Message-Producer- und -Consumer-Anfragen verarbeitet
  • SQL-Engine und Optimizer: Lernen von Query-Ausführung und Optimierung, angelehnt an die Struktur von SQLite
  • CI-System: Aufbau eines integrierten Systems zur automatischen Überwachung von Git-Repositories, Ausführung von Tests und Berichterstattung der Ergebnisse

Künstliche Intelligenz und Algorithmen

  • Wordle-Solver: Programm zur Wortableitung auf Basis von Informationstheorie und Entropie
  • Deepfake-Generator: Implementierung von Gesichtsverwandlung mit Optimal Transport
  • Random Forest: Lösen von Klassifikationsproblemen durch eigene Implementierung von Entscheidungsbäumen und Random Forest
  • Neuronales Netzwerk-Framework: Aufbau eines Deep-Learning-Frameworks mit Tensoren, Autograd und Optimierern
  • Evolutionäres Design: Simulation zur automatischen Evolution mechanischer Strukturen mit genetischen Algorithmen

Grafik und Spieleentwicklung

  • Ray Tracer: Rendering einer 3D-Szene mit Kugeln, Ebenen und Beleuchtung
  • OpenGL-Renderer: Implementierung eines Mini-Renderers zum Erlernen der Grundlagen der Grafikprogrammierung
  • Dangerous-Dave-Remake: Nachbau des klassischen Spiels mit SDL
  • Schach-Engine: Implementierung eines Schachspiels inklusive UCI-Engine
  • Procedural Crossword: Automatische Kreuzworträtsel-Erzeugung mit Constraint Propagation

Sicherheit und Kryptografie

  • Authentifizierungsserver (JWT/Sessions): Implementierung von Kryptografie, Token-Ablauf und Session-Management
  • Anonymes Wahlsystem: Entwurf einer kryptografischen Abstimmung mit Zero-Knowledge-Proofs (ZKP)
  • VPN: Aufbau eines Mesh-VPN, das Traffic ohne zentralen Server weiterleitet
  • Malware-Experimente: Test von Firewall-Reaktionen in einer virtuellen Maschinenumgebung
  • Zip-Archivierer: Eigene Implementierung von Komprimierung, Verschlüsselung und Bündelung

Web- und Anwendungsentwicklung

  • Webserver: Unterstützung für HTTP-Request-Verarbeitung, Auslieferung statischer Dateien, Routing und Reverse Proxy
  • Kollaborativer Editor: Implementierung eines verteilten Texteditors auf Basis von CRDT
  • Browser-Engine: Aufbau einer einfachen Engine für HTML/CSS-Parsing und Rendering
  • Video-Editor: Client-seitiger Editor, der im Browser ausgeführt wird
  • Browser-Erweiterung: Speichert Passwörter, Formulare und Zwischenablagezustände und füllt sie automatisch aus

Datenvisualisierung und Suche

  • Googlebot: Einen Webcrawler bauen, um die Grundstruktur von Suchsystemen zu lernen
  • Wikipedia-Suchmaschine: Implementierung von Indexierung, Tokenisierung und Ranking-Algorithmen
  • Wissensgraph: Visualisiert Beziehungen zwischen Entitäten und aktualisiert sich automatisch aus dem Web
  • Google-Maps-Engine: Kartensystem zur Indexierung von Straßen-, Gelände- und Ortsdaten
  • CDN-Caching-System: Entwurf einer Cache-Struktur, die doppelte Requests für statische Assets verhindert

Hardware und Embedded

  • Laser-Tag-System: Echtzeit-Erkennungssystem mit IR-Codierung und MQTT-Kommunikation
  • Smart-Home-App: IoT-Projekt mit Unterstützung für IR-Gerätesteuerung, Zeitplanung und Automatisierung
  • Game Boy Advance-Emulator: Nachbildung von CPU-, Speicher-, Grafik- und Eingabestruktur

Blockchain und Finanzen

  • Bitcoin-Node: Implementierung von Block-Download und Validierungsfunktionen
  • Aktienhandels-Bot: Automatisierter Handel auf Basis eines eventgesteuerten Systems
  • Anonyme Abstimmung und Smart Contracts: Zuverlässiges Wahlsystem auf Blockchain-Basis

Fazit

  • Die 73 Projekte betonen einen experimentellen Ansatz des Lernens durch direkte Implementierung zentraler Technologien
  • Jede Idee verweist über offizielle Dokumentation, Paper und Tutorials auf praxisorientiertes Weiterlernen
  • Ein praktischer Vorschlag, um Programmierung wieder als Kunst des Erforschens und Erschaffens zu entdecken

Noch keine Kommentare.

Noch keine Kommentare.