[프로그래머의 뇌] 3. 프로그래밍 문법 빠르게 배우기

윤남주·2022년 2월 20일
0
post-thumbnail

왜 어떤 지식은 계속 기억하지만, 어떤 지식은 잃어버리는가?


1. 문법을 기억해야하는 이유

  1. 미리 알고 있는 지식이 코드를 효율적으로 읽고 이해하는 데 큰 영향을 미치기 때문.
    기억한 문법이 많을수록 코드를 더 빨리 분리/기억/처리 할 수 있음.

  2. 우리 두뇌가 작업을 하다 업무 중단이 되면 생각보다 더 나쁜 결과가 생기기 때문.
    생산성에 악영향, 다시 업무로 돌아가는 데에 시간이 오래걸림, 원래 정보를 잊어버림.


2. 문법을 빠르게 배우는 방법 : Flashcards

🃏 앞면 : 개념
🃏 뒷면 : 개념에 해당하는 코드

프로그래밍 언어의 문법을 외우는 것은 인간 언어보다는 적은 노력이 들어간다

플래시카드 작성 타이밍

  • 새 프로그래밍 언어, 프레임워크, 라이브러리를 배울 때
  • 어떤 개념에 대해 검색할 때

✨ 별로 중요하지 않거나 거의 사용되지 않는 문법은 그때마다 검색해도 괜찮음

플래시카드 제거 타이밍

해당 개념을 이제 잘 안다고 생각될 때 제거해야함

카드에 정답 / 오답 횟수를 적어놓고
→ 정답이 연속적으로 있으면 빼놓기
→ 혹시 나중에 또 잊혀지면 다시 넣기


3. 어떻게 하면 잊지 않을 수 있을까?

LTM의 단점

추가 연습을 거치지 않고서는 오랫동안 기억할 수 없다
그리고 영원히 기억되는 것도 아니다.

아예 다시 학습하지 않으면
1️⃣ 1시간 이내에 전체 내용 중 50%를 망각
2️⃣ 이틀 이후에 전체 내용 중 75%를 망각

LTM의 작동 원리

🧠 두뇌의 부호화
기억이 뉴런에 의해 형성될 때 두뇌에서 일어나는 변화

🕸 네트워크 구조

  • 하드 드라이브 : 계층 구조 (폴더와 하위 폴더)
  • 두뇌 : 네트워크 구조 (하나의 사실은 다른 많은 사실들과 연결되어 있다)
    → 기억은 서로 연관성, 관계성을 가지고 저장된다

잊지 않을 방법 : 간격을 두고 반복하기

오랫동안 학습하면, 더 오래 기억한다.
정기적으로 꾸준히 연습해야, 반복할 때마다 기억이 강화되어 영구적으로 LTM에 남아있는다.

더 많은 시간을 들여 학습하기 ❌
더 오랜 간격을 두고 학습하기 ⭕️

→ 3달 동안 부트캠프에서 배운 모든 지식은 그 이후로 간격을 두고 반복해 학습해야 잊어버리지 않는다!


4. 기억을 강화하기

  1. 인출 retrieval 연습 : 적극적으로 일부러 기억해보려고 애쓰기
  2. 정교화 elaboration : 기존 기억에 새로운 지식을 적극적으로 연결시키기

정보를 기억하는 2가지 형태

1️⃣ 저장 강도
무언가를 LTM에 얼마나 잘 저장하고 있는가
더 많이 학습할 수록 그 내용을 잊어버리는 것이 거의 불가능해질 때까지 기억이 강화됨

2️⃣ 인출 강도
무언가를 LTM에서 얼마나 쉽게 기억해낼 수 있는가
잘 알고 있다고 확신하던 것이 입에서만 맴돌 때 → 높은 저장 강도, 낮은 인출 강도
(기억해내고 나면 어떻게 이걸 못기억했는지 믿어지지 않음)

🚨 시간이 지나면 인출 강도는 낮아짐...

보기만 해서는 안된다!!

프로그래밍 언어의 문법을 기억하는 문제는 저장 강도 << 인출 강도
이미 알고 있다고 생각하지만 이를 제대로 꺼내질 못해서 일어나는 문제가 많음...

매번 문법을 찾아보아서 해결하는 자세
→ 너무 일상적으로 반복되다 보면, 우리 뇌는 문법을 기억할 필요가 없다고 느낌
→ 인출 강도는 계속해서 약한 상태로 남아있게 됨 (능동적으로 기억하려 하지 않기 때문에)

✨ 구글 검색 전에 일단은 써보려는 시도를 하는 것이 계속 기억과 인출 강도를 강화시킬 수 있는 길!


능동적 사고로 기억력 강화

정교화
정보에 대해 능동적으로 생각하고 그것을 반추해보는 것

스키마, 스키마타
: 사고나 생각이 서로 관련되어 조직된 방식.
새로운 정보 → 스키마 → LTM

나름의 의미가 있는 정보들, 기존의 지식과 연결할 수 있는 정보들일수록 더 좋은 스키마가 쉽게 형성되어 저장도 쉬워진다


솔직히 .slice 메소드까지 매번 찾아보는 나로서 반성을 하게 된 챕터...
모든 사람들이 외울 필요 없다고 그냥 찾아보면 된다 했지만, 사실 정말 좋은 프로그래머가 되기 위해선 외우는 노력이 필요했던 것이다.
앞으로는 구글에 쳐보기 전에 내가 써보려는 노력을 하자.

근데 나는 그래도 인출 강도는 별로지만, 딱 보면 무슨 얘기인지는 잘 이해하는걸 보면 저장 강도는 그나마 괜찮나보다...

profile
Dig a little deeper

0개의 댓글