42 Seoul

42서울 본과정에선 무엇을 배울까? 본과정 첫과제 "libft"

본과정 뭐하는 곳이지?

42 서울의 본과정을 오려면 라피신이라는 큰 관문을 거치고 합격해야만 올 수 있다. 본과정을 온다는 게 쉬운 일은 아닌데 비밀이 많은 42 특성상 라피신뿐만 아니라 본과정도 비밀이 많다. 그리고 특히 42 서울은 시작한 지 얼마 안 되었고, 1기 1차였던 나에겐 항상 궁금한 일이었다.

 

42의 본과정은 나라별로 조금씩 다른 상황이었는데, 42 서울 공식 홈페이지에도 두루뭉술하게 설명되어있고, 정확하게 무슨 커리큘럼을 가지고 있는지 나와있지는 않다. 그래서 많은 사람들이 궁금해하고, 뭔가 엄청난 것을 배울 것 같은 상상을 한다.


결론은 라피신의 연장선

결론부터 이야기하자면 본과정의 시작은 피신에서 했던 것과 크게 다른 것을 하지 않는다. 애초에 본과정에 와서 처음 하는 libft라는 과제가 피신 때의 복습이다. 피신을 충실하게 했다면 많은 부분을 피신때 경험했다.

본과정의 커리큘럼

드넓은 우주를 여행하는 여행자 컨셉에 맞게 본과정 커리큘럼 표는 은하계 모습이다.
컨셉에 충실한 게 42의 매력이다.

본과정은 크게 공통과정과 심화과정으로 나눌 수 있는데, 가장 바깥의 큰 원을 기준으로 안 쪽이 공통과정이고, 그 뒤가 심화과정이다. 지금까지 본과정을 하면서 예상되는 것으론 공통 과정이 끝나고 나면, 필수적으로 인턴을 해야 하기 때문에 대부분의 사람들은 공통 과정까지만 경험하고 취업으로 42를 끝낼 것으로 보인다.

 

그렇다면 공통 과정이 무엇을 배우는지가 중요한데, 공통 과정에서는 기본적으로 C를 배운다. 피신 때문에 C에 지쳤던 분들에게는 나쁜 소식일 수도 있다. 기본적으로 42와 C는 멀어질 수 없는 사이라 보면 된다. 기본기를 중요하게 생각하는 42에게는 C만한 언어가 없기 때문에! 네트워크(C를 이용하여)과 그래픽(C를 이용하여), 멀티쓰레딩(C를 이용하여)이나 컴퓨터 공학적인 문제(C를 이용하여)에 대해 접근한다.

컴퓨터 공학적인 문제에는 알고리즘이나 자료구조 같은 것도 당연히 포함되고, 식사하는 철학자 문제 같은 것도 있다!

물론 피신처럼 C만 하지는 않는다. Docker도 배운다! 도커의 기초뿐만 아니라 쿠퍼네티스와 같이 일반적으로 해보기 어려운 내용들도 있고, 어셈블리와 CPP(이것도 C라 해야하나...)를 이용해 객체지향 프로그래밍에 대해 학습하는 과정도 가지고 있다.

 

단순히 배우는 목록만 나열하면 느낌이 별로 안 오겠지만, 학교마다 과정이 다르지만(옆에 계시는 세종대분 학교 과정보니 탐나더라...) 컴퓨터 공학과를 다니고 있는 개인적인 생각으로는 학교에서 이런 걸 배웠다면 얼마나 좋았을까라는 생각이 든다. 비전공자뿐만 아니라 전공자에게도 기초를 쌓고 응용하기에 훌륭한 문제들로 커리큘럼이 구성되어있다는 느낌이었다.


본과정 첫 과제 "libft"

앞에서 얘기했던 것처럼 본과정의 첫 과제는 libft이다. libft 과제는 split, memcpy, putchar, strlcat, substr 등의 C언어 라이브러리를 직접 본인이 다시 만들어보는 과제다. 이게 끝나고 나면 printf도 다시 만들어 본다. printf의 리턴 값이 무엇인지 알 수 있게 된다! 피신을 경험해본 사람이라면 익숙한 느낌의 과제이고, 방식도 거의 동일하다.

 

피신은 단순히 합격자를 뽑기만 하는 게 아니라 나와 42가 잘 맞는지 테스트해볼 수 있는 과정이기도 하다.

'42 Seoul' 카테고리의 다른 글

42서울 라피신(La Piscine) 과정 합격 후기  (3) 2020.10.05
42서울 온라인 테스트 합격 후기  (1) 2020.09.29