왜 들었나

언어 창시자가 직접 가르치는 거의 유일한 강의 + 수준높은 대학의 수료증 + 함수형 언어의 심도 깊은 학습 + 이미 함수형이 JAVA, JAVASCRIPT, C++ 등에 도입되어 있고 대세

무엇을 배우나

프로그래밍 기술 중 가장 고난이도의 속하는 함수형 문법들 (예: 모나드, 스트림, 꼬리 재귀, 제네릭, 자료구조)

후기

반기의 한 개 씩 듣고 조금 쉬면서 회사 일에 집중하는 패턴으로 들었습니다. 첫 6주 코스는 2018년에 들었고 2번째 4주 코스는 올해 4-5월에 들었습니다. 처음 모나드를 이해하는데 시간을 많이 들여서 1달은 모나드만 공부했습니다.

여러 사이트를 찾아보고 마틴 오더스키 교수의 강의를 5번정도 보니깐 모나드가 대충 어떤 느낌이고 굳이 모나드가 아니라 모나딕한 코드는 평소에도 많이 접하고 있었다는 것을 깨달은 후 나머지 2주치 과제를 3일만에 끝내버렸습니다.

함수형 프로그래밍을 공부하고 싶거나 스칼라에 관심이 있으시다면 굉장히 심도 있게 배울 수 있는 강의입니다. 스칼라 프로그래밍을 직접 만든 창시자… 마틴 오더스키 교수가 직접 가르쳐줍니다. (c 창시자는 이미 죽었다지?) 그리고 조금의 투자를 통해 과제를 전부 통과하면 스위스 로잔 공대의 수료증을 받을수 있습니다.

포트폴리오, 실력, 이론 전부 한번에 잡는 강의입니다. 제가 느끼기로 스칼라를 배우기 2번째로 좋은 방법입니다. (첫번째는 프로젝트)

단점도 있습니다. 한글 자막이 처음 1코스만 존재해서 2코스부터는 영어의 고통을 받으며 공부해야합니다. 과제도 굉장히 어렵고 과제를 풀어도 문제를 잘못 이해해서(영어라서….) 시간을 날리는 경우도 많습니다. 하지만 이런 문제는 거의 모든 코세라 강의에 해당되는 문제라고 생각합니다. 만약에 듣고 싶은분이 계시다면 추천은 하지만 언어장벽을 각오해야합니다.

수료증 인증

인증 이름: Functional Programming Principles in Scala

인증 기관: Coursera

코스: 6주

내용: 재귀, 자료구조, 스칼라 문법, 함수형 문법들

https://www.coursera.org/account/accomplishments/verify/2362NVWJZZ4X

인증 이름: Functional Program Design in Scala

인증 기관: Coursera

코스: 4주

내용: 모나드, 스트림, 옵저버 패턴, 함수형언어 설계

https://www.coursera.org/account/accomplishments/verify/S9JS27SDKPDF

## 팁: 과제 쉽게 푸는법

어째 꼬리재귀는 거의 모든 과제마다 사용했다… 과제 풀다가 뭔가 느리다.. 혹은 잘 모르겠다 싶으면 재귀함수를 구현하자