sys_arch: common_core

das Curriculum

Das 42 Curriculum ist eine umfassende, gamifizierte, peer-gestaltete Lernreise auf Basis von C und C++, die dich zu einer hochqualifizierten entwickelnden Person im Bereich Software macht.

// methodology

Lernmodell

Peer-to-Peer

Lerne, indem du anderen etwas beibringst. Dabei entwickelst du Führungskompetenzen, indem du deinen Peers komplexen Code erklärst.

Projektbasiert

Keine Vorlesungen. Du löst ab Tag 1 Probleme aus der realen Welt. Dein GitHub Profil ist dein Portfolio.

Kompetenzbasiertes Lernen

Keine Noten. Du kommst nur weiter, indem du deine Skills beweist. "Try, Fail, Retry" ist die Kernphilosophie.

Gamifiziertes System

Sammle XP und level up. Erreiche Level 11, um das Advanced Curriculum (entspricht einem Master) freizuschalten.

Technische Expertise
DevOps & Netzwerke

Virtualisierung, Docker, Systemadministration, TCP/IP, Sockets.

Systems Engineering

Parrallelität, Parsing, Forks, Pipes, Grafik-Rendering

Objektorientiertes C++

Klassen, Templates, Container, Operatorüberladung.

Algorithmische Entwicklung

C, manuelles Speicher-Management, Sorting und Big-O-Komplexitätsanalyse.

Professionelle DNA
Autonomes Lernen

Die Fähigkeit, jede neue Technologie oder jedes Framework selbstständig ohne Anleitung zu erlernen.

Zusammenarbeit

Projektleitung, Git-Workflow und konstruktive Code-Reviews.

Resilienz

Mit dem Scheitern wachsen und in schnelllebigen Technologieumgebungen erfolgreich sein.

Katalysator
NODE_01 // KATALYSATOR

Community-Initiierung

Cluster
NODE_02 // CLUSTER

Peer-to-Peer-Logik

Zugang
NODE_03 // ZUGANG

Systemeinstieg

Küche
NODE_04 // SYNERGIE

kollektive_synergie

// roadmap

Deine Reise

01 // 12-18 MONATE

Core Curriculum

Das Fundament. Du erlangst Expertise in C und C++ durch ein gamifiziertes System aus miteinander verknüpften Projekten. Du baust Standardbibliotheken, UNIX-Programme, 3D-Rendering-Engines und Netzwerkserver von Grund auf selbst.

Die durchschnittliche Studiendauer bei Vollzeitstudium liegt bei 18 Monaten. Maximal sind es 24 Monate.

Libft Minishell Cub3d
02 // 4-6 MONATE

Berufserfahrung

Zeit für die Integration. Absolviere ein bezahltes Praktikum im Tech-Sektor. Bringe deine neu erworbenen Fähigkeiten in einer echten Produktionsumgebung ein, Seite an Seite mit erfahrenen Entwickler*innen.

Zugang zum Partnernetzwerk Kostenlose Unterstützung durch die Karrieretests
03 // BIS ZU 5 JAHRE

Spezialisierung

Schalte das Advanced Curriculum frei. Wähle deinen eigenen Weg und tauche tief in spezifische high-level Bereiche ein. Werde Expert*in in deiner gewählten Architektur.

Künstliche Intelligenz Cybersicherheit Web- / Mobile-Dev Betriebssysteme Grafik
04 // 6 MONATE

Finale Expertise

Sammle Arbeitserfahrung auf Senior-Niveau bei einem Tech-Unternehmen, trage maßgeblich zu einem Open-Source-Framework bei oder starte dein eigenes unternehmerisches Projekt.

Spezifische Tech-Expertise Startup-Gründung
// system_architecture

Kompetenzen im Detail

Acht Themenbereiche, strukturiert wie ein verzweigter Baum. Schließe ein Projekt ab und schalte den nächsten Zweig frei.

mod_01 :: Grundlagen

Imperative Programmierung in C

Lerne C von Grund auf. Erstelle deine eigenen Tools und verstehe, wie Speicher wirklich funktioniert. String-Manipulation, dynamische Speicherverwaltung, File-I/O und die Disziplin, sauberen Code zu schreiben, der selbst unter strengsten Standards fehlerfrei kompiliert.

SpeicherverwaltungManuelles Allokieren und Freigeben
Core CurriculumPointers und verlinkte Listen
Build SystemsMakefiles und automatisierte Kompilierung
StandardsDie Norm, der Coding-Standard von 42
AbschlussprojektLibft (custom stdlib)
mod_02 :: algorithmisch

Datenstrukturen & Algorithmen

Entwickle die Denkweise einer problemlösenden Person. Entwirf Algorithmen, die Effizienz und harte Ressourcenbeschränkungen in Einklang bringen, und beweise anschließend unter kritischer Begutachtung durch deine Peers, dass deine Lösung optimal ist.

StrategieSortieren unter Zugbegrenzungen
AnalyseBig-O-Komplexität
StrukturenStacks, Queues, Trees
OptimierungRadix- und Hybridverfahren
Abschlussprojektpush_swap (Sortierung mit zwei Stacks)
mod_03 :: Admin

Netzwerk- und Systemadministration

Schlüpfe in die Rolle als Systemadministrator*in. Baue, sichere und verwalte Serverinfrastrukturen von Grund auf. Partitioniere Festplatten, verstärke eine Firewall, automatisiere Jobs und packe am Ende alles in Container.

InfrastrukturVirtualisierung und Festplattenpartitionierung
SicherheitFirewall Richtlinienimplementierung
TechnologienDocker und Containerisierung
ManagementJob-Scheduling und Automatisierung
AbschlussprojekteBorn2beroot, Inception
mod_04 :: Parallelität

Parallele Programmierung

Entdecke das Potenzial von parralelen Systemen. Verwalte Threads, Prozesse und gemeinsame Ressourcen ohne Deadlocks. Baue anschließend deine eigene Shell und erlebe, wie UNIX wirklich mit Befehlen umgeht.

ThreadingThreads, Mutexe, Semaphore
ProzesseForking, Pipes, Redirection
SynchronisationRace Conditions und Deadlocks
SignaleKommunikation zwischen Prozessen
AbschlussprojektePhilosophenproblem, Minishell
mod_05 :: Grafiken

Grafikprogrammierung

Wo Logik auf den Bildschirm trifft. Erstelle 2D- und Pseudo-3D-Grafikprogramme mit MiniLibX, nutze lineare Algebra und Render-Mathe, um etwas zu erschaffen, das sich wirklich sehen lassen kann.

2D RenderingSprites, Event-Loops, Fensterverwaltung
RaycastingPseudo-3D-Projektion
RaytracingLicht, Schatten und Reflexion
MathematikIsometrische Projektion und Vektorgeometrie
Abschlussprojektecub3D, miniRT, FdF, fract-ol, so_long
mod_06 :: Objekte

Objektorientierte Programmierung in C++

Wechsle vom prozeduralen zum objektorientierten Denken. Neun aufeinander aufbauende Module bringen dich von deiner ersten Klasse bis hin zu Templates, Containern und der Orthodox Canonical Form.

GrundlagenKlassen, Namespaces, Memberfunktionen
VererbungPolymorphismus, abstrakte Klassen, Schnittstellen
FortgeschrittenOperatorüberladung, Ausnahmen, Typumwandlung
GenerikaTemplates und STL-Container
AbschlussprojektCPP-Module 00 bis 09
mod_07 :: Netzwerk

Netzwerkprogrammierung

Verstehe das Web von Grund auf. Implementiere die Protokolle, die du schon immer genutzt hast, in C++ – und manage Hunderte gleichzeitige Verbindungen, ganz ohne Framework.

ProtokolleHTTP und IRC – ausgehend vom RFC
SocketsNicht blockierende I/O
Multiplexingpoll und epoll
AdressierungTCP/IP, Subnetting, Routing
Abschlussprojektewebserv, ft_irc, NetPractice
mod_08 :: Web

Webprogrammierung

Der Endgegner. Baue eine komplette Single-Page-Application mit einem Echtzeit-Multiplayer-Spiel im Kern und lass das Ganze in Containern laufen. Alles, was du gelernt hast, verpackt in einem einzigen Produkt.

FrontendSPA-Architektur und Echtzeit-Benutzeroberfläche
BackendAPI-Entwurf und Authentifizierung
DatenEntwurf relationaler Datenbanken
DeploymentDocker-Orchestrierung
Abschlussprojektft_transcendence (real-time Pong)
// media_stream

in der 42 Berlin.