3장 프로그래밍 문법 빠르게 배우기
1. 문법을 기억하기 위한 팁
- 많은 소프트웨어 개발자는 프로그래밍 언어 문법을 모르더라도 인터넷에서 검색하면 되고, 따라서 문법에 대한 지식이 그리 중요하지 않다고 생각한다.
- 모르는 것이 있을 때, 검색이 그리 좋은 해결책이 되지 못하는 이유 두 가지
- 관련 내용을 미리 알고 있는 것은 코드를 효율적으로 읽고 이해하는데 영향을 미친다.
- 두뇌가 작업을 하다 업무 중단을 받게 되면, 우리가 생각한 것보다 훨씬 더 좋지못한 결과를 초래한다.
- 검색하러 컨텍스트 스위칭을 하면 집중력 손실본다는 의미
- 코딩을 작성하는 도중 중단외 되면 다시 그 업무로 돌아가는 데 15분 정도 걸린다.
2. 플래시카드를 사용해 문법 배우기
- 앞면에 개념을, 뒷면에 코드를 적어서 외우는 방법.
- 솔직히 별로 유용해 보이진 않는다.
3. 어떻게 하면 잊어버리지 않을 수 있을까?
- LTM에 저장된 정보는 추가로 연습하지 않으면 내용을 오랫동안 기억할 수 없다.
- LTM에 저장된 정보는 한 시간 이내에 우리가 알고 있는 것의 절반정도 잊어버리고, 이틀 후에는 배운 것의 25%만 남는다.
- 8주 간격을 두고 반복 학습을 한 경우 가장 많은 단어를 암기했다.
- 요약하자면, 오랫동안 학습한 만큼 더 오래 기억한다.
- 이것은 더 많은 시간을 학습해야 하는 것이 아니라, 더 오랜 간격을 두고 학습해야 한다는 것을 의미한다.
4. 문법을 더 오랫동안 기억하기
- 기억을 강화하는 두 가지 테크닉
- 적극적으로 무언가를 일부러 기억해보려고 애쓰는 인출 연습
- 기존 기억에 새로운 지식을 적극적으로 연결시키는 정교화
- LTM으로부터 기억을 가져오는 서로 다른 기제 두가지
- 저장 강도
- 무언가를 LTM에 얼마나 잘 저장하고 있는가를 나타낸다.
- 인출 강도
- 무언가를 얼마나 쉽게 기억할 수 있는지를 나타낸다.
- 잘 알고 있다고 확신하고 있던 무엇인가를 질문을 받으면 막상 잘 대답하지 못한 경험이 있을 것이다.
- 그 정보에 대해 저장 강도는 높지만 인출 강도는 낮다고 볼 수 있다.
- 저장 강도는 감소하지 않고 늘어나는 반면 인출 강도는 시간이 흐를수록 약해진다.
- 단지 보기만 해서는 안된다.
- 이전에 여러번 봤던 코드라고해도 단지 보기만 하는 것으로는 나중에 그 코드를 기억할 수 없다.
- LTM 어딘가에 정보가 저장되어 있지만 그것을 필요로 할 때는 정작 가져오지 못한다.
- 정보는 외우는 것은 기억을 강화한다.
- 학습을 추가로 하지 않고 정보를 기억하려고 능동적으로 노력하는 것만으로도 배운 것을 많이 기억할 수 있음.
- 그냥 수업을 들은 학생과 시험을 전제로 수업을 들은 학생은 이후 기억하는 정보양에서 차이가 있었다.
- 프로그래밍 문법의 경우 매번 필요할 때마다 찾아보니, 우리 두뇌는 문법을 기억할 필요가 없다고 느낀다.
- 따라서 프로그래밍 문법에 대한 인출 강도가 강화되지 않고 계속 약한 상태로 남아 있게 된다.
- 능동적 사고를 통한 기억력 강화
- 정보를 능동적으로 기억하려고 노력할 때 그 정보가 우리 두뇌에서 더 잘 기억된다.
- 또한 정보를 외울 때는 어느 정도의 간격과 기간을 두고 연습할 때 최상의 결과를 얻는다.
- 기억을 강화하는 또 다른 방법은 정보에 대해 능동적으로 생각하고 그것을 반추해보는 것이다.
- 정보에 대해 생각하는 과정을 정교화라고 부른다.
- 정교화는 기억하고자 하는 내용을 기존 기억과 연관지으면서 생각하는 것ㅇ
- 스키마타
- 우리 두뇌에서 기억은 다른 기억과 사실에 연결되는 연관된 네트워크의 형태라는 것을 살펴봣다.
- 사고나 생각이 서로 관련되어 조직된 방식을 스키마 또는 스키마타라고 부른다.
- 새로운 정보를 학습할 때 정보는 LTM에 저장하기 전에 먼저 스키마의 형태로 만들어진다.
- 우리의 기억이 서로 연결되어 있을 때 관련 기억을 찾는 것이 더 쉽다.
- 즉 인출 강도는 다른 기억에 연관된 기억일 때 더 높다.