the 42 curriculum
At 42 Berlin, future software engineers gain both technical expertise and essential soft skills through a peer-to-peer, project-based learning method. Our curriculum is built on the École 42 model, launched in 2013 and now proven across 47+ campuses with over 20,000 students and alumni worldwide.
We accommodate students who have no prior coding experience, and strengthen the foundations of those who do. The program meets you where you are—laying strong foundations or deepening existing knowledge.
It is important to note that both the Piscine and the Curriculum have been created as full time commitments and we highly recommend approaching them as such.
Core Curriculum
12–18 months
First paid internship
4–6 months
Specialisation path
Up to 5 years
Final paid internship
Core Curriculum
12–18 months
First paid internship
4–6 months
Specialisation
path
Up to 5 years
Final paid internship
Core Curriculum
12–18 months
First paid internship
4–6 months
Specialisation path
Up to 5 years
Final paid internship
After the intensive Piscine, you’ll progress through the Core Curriculum, gradually building expertise and eventually specialising in a field of your choice—reaching the equivalent of a Master’s level.
There’s no one-size-fits-all approach—students tackle 100+ projects at their own pace, solving challenges in unique, hands-on ways.
Students choose the projects that will shape their learning. In this way, each student’s path will look a little different.
Instead of grades, students earn experience points (XP), with failure seen as a vital part of the learning process.
In its totality, our curriculum is a four-step journey, steering students through a comprehensive foundation of code and allowing them to gain expert knowledge in a field of choice.
CORE CURRICULUM
12–18 months
The core curriculum aims to give each student a rich and sturdy foundation, incorporating soft and hard skills alike. You will focus on C and C++ programming, work with classic algorithm softwares, discover file systems and understand the UNIX processes. Alongside this, you will touch upon network architecture, system administration, object-oriented programming, and client-server projects.
We structure our projects like a blossoming tree. Once a project is complete, you can move to the next branch until it splits. This allows you to discover multiple aspects of coding and IT. Each student’s journey will be unique, experimenting with different projects and specialisation paths.
You’ll cover the following topics in the core curriculum: Imperative programming in C, Object-Oriented Programming in C++, Data Structures & Algorithms, Concurrent programming, Network programming, Networks and Systems administration, Graphics programming, Web programming.
FIRST PAID INTERNSHIP
4–6 months
Once you finish the core part of the curriculum, you will get the chance to put all your newfound knowledge and skills into professional practice.
Our strong partner network, extracurricular learning events to support with job application material preparation in addition to ongoing peer-led formats provide a solid foundation to support you as you navigate your internship and job search.
Many of our students go on to complete internships at our partner companies, including Microsoft, VW, CARIAD, Capgemini, T-Systems, SAP, and Bayer. However, no student is under any obligation to work with any partner company and many students take their first steps into the tech world through internships at other companies or startups, depending on their goals and interests.
As an essential part of your learning journey and a key first step into the professional tech world, internships must be paid, in the IT sector, and should provide an environment for hands-on learning in a tech team.
After gaining this real-world experience, it’s the perfect time to return and further specialise in your chosen field.
We’ll open doors in tech and you’ll walk through them.
SPECIALISATION
Up to 5 years
This is where things get super interesting. By specialising in a field of your choice, you will be trained up to the equivalent of masters level. Our specialisations change and update frequently, and they currently include: artificial intelligence, cybersecurity, web and mobile app development, operating systems, graphical programming, SEA:ME and more.
You will not be obligated to stick to one specialisations, or see it through the the finish line if you do not want; but rather you will be given the flexibility to choose the projects that interest you as and when they do.
When you would like to finish your studies to become an alumni is totally in your hands and it is not uncommon that students leave us earlier than expected due to the acquisition of their desired job. You will have the option to undertake this part of the program in any other 42 campus in the world.
FINAL INTERNSHIP
The final internship is a 6 month internship that will incorporate all that has been learned thus far.
By this time, you will be extremely qualified and more than ready to work in-projects that will take your skills to the next level.
CORE CURRICULUM
12–18 months
The core curriculum aims to give each student a rich and sturdy foundation, incorporating soft and hard skills alike. You will focus on C and C++ programming, work with classic algorithm softwares, discover file systems and understand the UNIX processes. Alongside this, you will touch upon network architecture, system administration, object-oriented programming, and client-server projects.
We structure our projects like a blossoming tree. Once a project is complete, you can move to the next branch until it splits. This allows you to discover multiple aspects of coding and IT. Each student’s journey will be unique, experimenting with different projects and specialisation paths.
You’ll cover the following topics in the core curriculum: Imperative programming in C, Object-Oriented Programming in C++, Data Structures & Algorithms, Concurrent programming, Network programming, Networks and Systems administration, Graphics programming, Web programming.
FIRST PAYED INTERNSHIP
4–6 months
Once you finish the core part of the curriculum, you will get the chance to put all your newfound knowledge and skills into professional practice.
Our strong partner network, extracurricular learning events to support with job application material preparation in addition to ongoing peer-led formats provide a solid foundation to support you as you navigate your internship and job search.
Many of our students go on to complete internships at our partner companies, including Microsoft, VW, CARIAD, Capgemini, T-Systems, SAP, and Bayer. However, no student is under any obligation to work with any partner company and many students take their first steps into the tech world through internships at other companies or startups, depending on their goals and interests.
As an essential part of your learning journey and a key first step into the professional tech world, internships must be paid, in the IT sector, and should provide an environment for hands-on learning in a tech team.
After gaining this real-world experience, it’s the perfect time to return and further specialise in your chosen field.
We’ll open doors in tech and you’ll walk through them.
SPECIALISATION
Up to 5 years
This is where things get super interesting. By specialising in a field of your choice, you will be trained up to the equivalent of masters level. Our specialisations change and update frequently, and they currently include: artificial intelligence, cybersecurity, web and mobile app development, operating systems, graphical programming, SEA:ME and more.
You will not be obligated to stick to one specialisations, or see it through the the finish line if you do not want; but rather you will be given the flexibility to choose the projects that interest you as and when they do.
When you would like to finish your studies to become an alumni is totally in your hands and it is not uncommon that students leave us earlier than expected due to the acquisition of their desired job. You will have the option to undertake this part of the program in any other 42 campus in the world.
FINAL INTERNSHIP
The final internship is a 6 month internship that will incorporate all that has been learned thus far.
By this time, you will be extremely qualified and more than ready to work in-projects that will take your skills to the next level.
WHAT YOU WILL LEARN

Level 0
Learn languages: C
Learn basics: linux, git
Libft Project: get a deep understanding of how standard C functions work by programming a simple C library from scratch.

Level 1
Learn languages: C
Printf Project: create a custom implementation of the printf function in C.
GetNextLine Project: implement a function in C that reads a line from a file descriptor.
Born2BeRoot Project: setting up and administering a Linux-based Virtual Machine.

Level 2
Learn languages: C
Push_swap Project: develop efficient sorting algorithm.
Pipex Project: simulate the behavior of a pipe in the terminal.
Minitalk Project: develop a small communication program using Unix signals.
FractOl / Fdf / So_long Projects: create a 2D graphical project usind a simplified graphics library.

Level 3
Learn languages: C
Minishell Project: create a shell interpreter based on the Unix bash shell that can execute commands, manage environment variables, handle redirections and pipes, and respond to user signals.
Philosophers Project: solve the commensal philosophers problem using concurrent and parallel programming.

Level 4
Learn languages: C, C++
Cub3D Project: create a 3D maze game using raycasting and a simplified graphics library
MiniRT Project: develop a rendering engine, allowing the creation of realistic threedimensional images.
NetPractice Project: learn fundamental networking concepts, including IP addressing, subnet masks, and routing.

Level 5
Learn languages: C++, HTML, CSS
Webserv project: build an HTTP server from scratch.
IRC project: implement a chat server based on the IRC protocol.
Inception project: set up a complete web development environment using Docker containers.

Level 6
Learn languages: Python or Ruby, HTML, CSS, Javascript
Transcendence project: develop a complete single-page web application.
This project integrates multiple technologies and addresses both the frontend and the backend, providing a complete experience in fullstack web development.
SKILLS
We believe that AI won’t replace coders, that’s why our approach is rigorous. While AI can support your learning, true progress comes from understanding the fundamentals yourself. Mastering the “why” behind the code is what sets you apart in the tech industry.
IMPERATIVE PROGRAMMING IN C
• Develop a strong foundation in procedural programming.
• Build increasingly challenging projects to enhance problem-solving and coding efficiency.
OBJECT-ORIENTED PROGRAMMING IN C++
• Gain a solid understanding of object-oriented programming concepts such as classes, inheritance, polymorphism, and encapsulation.
DATA STRUCTURES & ALGORITHMS
• Understand how to design and implement efficient algorithms.
• Learn to solve complex problems and optimize program performance.
SYSTEM ADMINISTRATION
• Learn the essentials of managing and maintaining computer systems, including user management, system configurations, process handling, and automation.
NETWORKS AND SECURITY
• Develop a strong foundation in networking concepts, communication protocols, and securing systems against vulnerabilities.
GRAPHICAL PROGRAMMING
• Work with graphics libraries to create interactive 2D and 3D projects, including games or visualization tools.
FULL-STACK AND WEB DEVELOPMENT
• Build dynamic web applications by mastering front-end frameworks and back-end technologies.
• Create complete, interactive web solutions.
COLLABORATIVE PROBLEM-SOLVING
• Learn to approach challenges as part of a team, emphasizing clear communication, and achieve project goals effectively.
IMPERATIVE
PROGRAMMING IN C
PROGRAMMING IN C
• Develop a strong foundation in procedural programming.
• Build increasingly challenging projects to enhance problem-solving and coding efficiency.
OBJECT-ORIENTED PROGRAMMING IN C++
• Gain a solid understanding of object-oriented programming concepts such as classes, inheritance, polymorphism, and encapsulation.
DATA STRUCTURES
& ALGORITHMS
& ALGORITHMS
• Understand how to design and implement efficient algorithms.
• Learn to solve complex problems and optimize program performance.
SYSTEM ADMINISTRATION
• Learn the essentials of managing and maintaining computer systems, including user management, system configurations, process handling, and automation.
NETWORKS AND SECURITY
• Develop a strong foundation in networking concepts, communication protocols, and securing systems against vulnerabilities.
GRAPHICAL
PROGRAMMING
PROGRAMMING
• Work with graphics libraries to create interactive 2D and 3D projects, including games or visualization tools.
FULL-STACK
& WEB DEVELOPMENT
& WEB DEVELOPMENT
• Build dynamic web applications by mastering front-end frameworks and back-end technologies.
• Create complete, interactive web solutions.
COLLABORATIVE
PROBLEM-SOLVING
PROBLEM-SOLVING
• Learn to approach challenges as part of a team, emphasizing clear communication, and achieve project goals effectively.
Projects
All projects are written in C programming language

‘Fract-ol’ Project
A simple programm to calculate and draw fractals
Student: Alexandra Roux
FUNDING YOUR STUDIES
42 Berlin’s program is tuition-free. To support your living expenses during the full-time Core Curriculum, eligible students may use the Bildungsgutschein, a government education voucher granted by the Federal Employment Agency (Agentur für Arbeit) or Jobcenter.
This voucher typically covers the Core phase duration of 12–18 months. Learn more.
