DEV Community

Cover image for Week 1 - 42 Berlin Piscine
Lara
Lara

Posted on

Week 1 - 42 Berlin Piscine

This post is the start of a blog series about my personal experience at 42 Berlin Piscine.

About the 42 School Piscine

I participated in the 42 Berlin Piscine, an intensive, month-long selection process designed to assess if 42 Berlin's peer-to-peer learning approach is a good fit for future students like me. It was an amazing, emotional adventure I won't forget and I learned more than I could have ever imagined. Not only about code!

At 42, students work independently to complete coding projects, relying on their research and problem-solving abilities. The Piscine spans four weeks, with an intensive 7-day-a-week schedule, where foundational programming concepts in C are learned through hands-on projects. There are no traditional teachers; learning is self-driven, supported by feedback tools like Moulinette and coding standards enforced by Norminette. During the weekdays, we focused on individual projects, and peer evaluations, while weekends were reserved for team-based “Rush” projects, which were both challenging and collaborative. Every Friday, we took exams to assess our progress and skills. Participation in the 42 Piscine requires a commitment! It's a marathon, not a sprint.

> 42 is a future-proof computer science training to educate the next generation of software engineers. The 42 program takes a project-based approach to progress and is designed to develop technical and people skills that match the expectations of the labor market. Source

The First Days

We arrived on Monday morning, and the room was filled with a sense of overwhelm. The school gave a brief introduction to their mission, values, and rules, and then it was time to head to the clusters—a large room full of computer stations. Once seated at your station, the true experience of the Piscine began. What do I mean by that? Well, no one told us exactly what to do next, other than to find our way to the clusters and start working on our projects. From there, we had to figure everything out on our own: starting the computer, logging into our accounts, navigating the 42 intranet, getting used to the terminal, and understanding the projects.

Best Group

The First Projects

The first few projects were about getting familiar with the campus rules and shell programming. Two of the initial projects focused on the shell: Shell00 and Shell01. I completed Shell00 but chose to skip Shell01 to prioritise other tasks. Through Shell00, I learned how to navigate the terminal, modify file permissions, and use Git for version control. Next, I started my first C00 project, where I learned to navigate and (exit 😅) the VIM code editor and gained a deeper understanding of the foundational write system call by recreating the write function from scratch. I also participated in my first peer evaluations and requested feedback from my peers. I learned about the coding standards of Norminette and conducted extensive research.

The First Exam

The first Friday came around quickly, and it was exam day, focused on C programming. I had only just started working on my first C project two days earlier. The first three exams were four hours long, running from 2 PM to 6 PM. We were briefed on the exam rules beforehand, and with everyone feeling the nerves, the 42 staff and grizzlies (42 students who volunteered to support the Piscine) were there to provide moral support and even played some motivational music to set the right mood.

When it was time, we headed to the clusters where 42 had set up a custom exam environment on Linux machines. The process to access it was:

  1. Log in with the given exam username
  2. Log in with the given exam password
  3. Open the terminal and enter the command: examshell (this launches the 42-designed exam environment in the shell )

Once inside the examshell, we logged in with our intranet username and password, received the first task, and started coding. The exam structure was such that you had to solve each task to unlock the next. If you got stuck on a task, your options were limited: keep trying different solutions, or exit the examshell and leave the clusters.

The exam tasks were randomly assigned to each student. However, everyone started at the same level. When ready to submit a task for grading by Moulinette, the process was to stage, commit, and push your files to a repository, then type grademe in the examshell. The result would be either "Success" or "Failure." If successful, the examshell would unlock the next task.

My first exam went well. I managed to solve the first three tasks, which was enough for a passing grade. I was sooo happy, I couldn't believe it.

The First Rush

Participants had to register for the rush in advance. After the exam at 6:42 PM, randomized groups were assigned. I was placed in a group of three. We connected on Slack that Friday and planned to meet on Saturday morning. We began Saturday with a quick crash course on Git branching and then dove into the task. The rush challenge was quite complex—we had to develop an algorithm that generated a program to execute a specific task in the shell (I can't reveal too much). The program needed to adhere to Norminette standards, which included rules like limiting functions to 25 lines, specific indentation practices, and coding style requirements. We worked around 9 hours on Saturday, and on Sunday, we focused on fine-tuning and ensuring the code passed the Norminette checks. By Sunday evening, the program was running smoothly, our test worked, and Norminette gave it an OK! We submitted our work, hopeful for a positive evaluation on Tuesday. By the end of the week, I felt exhausted but proud, relieved, and motivated.

How to apply for a Piscine and become a 42 Student?

  1. Register at the Admissions Platform and play the logic games (around 2,5 hours)
  2. After passing the logic game, register for an introduction talk where you get more information about the piscine.
  3. Start the Piscine.
  4. Pass the Piscine and start curriculum as 42 Students learning C, C++, and C#.

Interested to read more about my Piscine experience? To be continued soon...

👾 Original post on my own blog

Lara

Top comments (0)