Yunseok's Dev Blog

배운 것을 적는 블로그입니다.

프로그래머의 뇌 서평

코드를 읽는 것은 힘들다. 왜냐하면 단기 기억 공간과 장기 기억 공간 그리고 작업 기억 공간을 활용하는 복잡한 인지 과정이 있기 때문이다.

지식이 부족해서, 정보가 부족해서, 처리 능력이 부족은 코드를 읽는 것들 더 힘들게 한다. 따라서 우리는 장기 기억 공간에 지식을 쌓아놔야, 단기 기억 공간의 정보 부족 문제를 해결하기 위해 chunking 하는 연습을 하고, 처리 능력을 향상시킬 수 있도록 인지 부하를 줄여야 한다. 그러한 것들을 어떻게 할 수 있는지 다룬다.

인상깊었던 것

코드를 빨리 읽을 때 두뇌에서 무슨 일이 일어나는지 알면 코드를 얼마나 잘 이해하고 있는지 스스로 확인해 보기가 더 쉽다. - 15p

코드를 읽을 때 두뇌에서 어떤 일이 일어나는지 알고 있으면, 내가 코드가 읽히지 않을 때 왜 읽히지 않는지 빠르게 피드백을 얻을 수 있고, 그래서 무엇을 해야 하는가를 빠르게 결정할 수 있게 된다.

저장된 정보를 쉽게 인출할 수 있어야 한다. 우리 삶의 많은 것이 그렇듯이 인출을 더 쉽게 하기 위해서는 많이 연습해야 한다. - 46p

정보를 넣는 것도 중요하지만, 인출하는 것도 중요하다. 인출 위주의 학습법을 적용해야 하는 이유다.

익숙하지 않은 코드를 읽을 때 인지 부하가 높아진다. - 71p 어디서부터 읽기 시작해야 할지 알아야 한다는 것이다. - 82p

익숙하지 않은 코드가 인지 부하가 높은 이유는 코드 작성자의 목적이 무엇인지 알 수 없기 때문이다. 그래서 코드의 초점을 먼저 찾는 것이 우선이다.

사고방식을 확장하기 공통점과 차이점에 의식적으로 주의를 기울이면 새로운 언어를 배우는 일이 쉬워질 것이다. - 126p

뭔가 알 것 같은 것을 배울 때 능동적으로 학습하는 게 어려운데, 내가 알고 있는 것과, 모르는 것, 차이점과 공통점을 비교해가며 학습하면, 잘못된 학습을 하는 것도 막아줄 뿐만 아니라 더 능동적으로 학습할 수 있다.

배운 것

  • 코드를 읽을 때 인지 과정에 대해서 배웠다.
  • 언제 인지 부하가 생기는지 이해하고, 인지 부하를 줄이는 방법을 배웠다.
  • 복잡한 코드를 읽을 때 의존 그래프를 그리는 방법을 그리는 방법을 배웠다.

할 수 있게 된 것

  • 새로운 언어를 배울 때 내가 현재 알고 있는 것과 비교하면서, 차이점, 공통점을 생각하면서 더 능동적으로 배울 수 있게 되었다.
  • 새로운 코드를 볼 때 혹은 예제 코드를 볼 떄 의존 그래프를 그리며 봐서 더 쉽게 파악할 수 있다.
  • 인지 부하가 생겼을 때 왜 인지 부하가 생기는지 정의할 수 있다.

더 해볼 것

  • 암기가 필요한 것에 대해서 플래시 카드를 사용해 보자
  • 복잡한 문제에 대해서 모델을 만드는 연습을 더 해보자
  • 배운 것을 인출 시도를 더 많이 해보자
  • 강의를 설계할 때 수강생의 인지 부하 요인을 더 고민해 보자

Sources