본문 바로가기

CS

Chapter3. 프로그래밍 문법 빠르게 배우기

3.1 문법을 기억하기 위한 팁

- 프로그래밍 언어의 문법을 모르더라도 인터넷에서 검색하면 되기 때문에, 문법에 대한 지식이 중요하지 않다고 생각한다.

- 모르는 것이 있을 경우 검색이 좋은 해결책이 못하는 이유는 2가지가 존재한다.

  ① chapter2 내용과 같이, 관련 내용을 미리 지식으로 알고 있어야 코드를 효율적이게 읽고 이해할 수 있다.

  ② 두뇌가 작업을 하다 업무중단을 받게 되면, 우리가 생각한 것보다 훨씬 더 좋지 못한 결과를 초래하기 때문이다.

3.1.1 업무 중단이 미치는 나쁜 영향

- 정보 검색을 위해 브라우저를 열면, 현재 작업과 무관하게 이메일이나 뉴스..등이 보고 싶기 마련이다.

- 코딩을 작성하는 중, 중단이 되면 업무로 돌아가는데 약 15분 정도가 걸리며, 바로 돌아가는 경우는 10%로 정도밖에 되지 않는다.

   (노스캐롤라이나 주립 대학교의 크리스 파닌 교수의 연구 결과)

- 업무가 중단되면, 그동안 원래 하려고 했던 중요한 정보를 잊어버린다.

  (이로 인해, 원래 하려던 업무를 다시 살펴봐야하는 문제가 존재한다.)

3.2 플래시카드 사용해 문법 배우기

- 무엇이든 신속하게 학습할 수 있는 좋은 방법 중 하나가 '플래시 카드'를 사용하는 것이다.

- '플래시 카드'는 카드나 포스트잇을 이용하여, 앞면에는 그것을 자칭하는 단어나 질문을 적고 뒷면에는 그에 대한 답을 적는다.

   (앞면을 읽고 나서, 그에 해당하는 답을 맞추는 방식이다.)

3.2.1 언제 플래시카드를 사용해야 하는가

- 프로그래밍 언어의 문법을 배우기 위해, 플래시카드를 자주 사용해 연습하는 것은 현명한 방법이다.

- cerego, anki, Quizlet..등의 플래시카드를 이용한 앱이 존재하며, 앱을 사용하면 엽습해야할 시간을 알려주는 장점이 존재한다.

- 플래시 카드로 학습을 하면 검색 시간도 절약하고, 주의를 흐트러뜨리지 않으며, 코드를 더 잘 청킹할 수 있다.

3.2.2 플래시카드의 확장

- 플래시 카드를 작성하기 좋은 때는 아래와 같다.

  ① 프로그래밍 언어, 프레임워크, 라이브러리 등의 새로운 개념을 접할 때

  ② 어떤 개념에 대해 검색할 때 (검색한다는 것은 아직 그 내용을 알지 못한다는 것이다.)

- 물론! 어떤 내용을 플래시카드로 만들지는 스스로 판단할 수 있어야 한다.

   (중요하지 않거나 거의 사용되지 않는 문법은 검색해도 전혀 문제가 되지 않는다.) 

3.2.3 플래시카드 개수 줄이기

- 각 플래시카드에 정답 및 오답 횟수를 기록하고, 연속으로 정답을 맞히면 카드를 빼놓아도 된다. (앱 사용시, 자동으로 설정될 것이다.)

3.3 어떻게 하면 잊어버리지 않을 수 있을까?

- LTM의 큰 문제점은 추가로 학습하지 않고서는 내용을 오랫동안 기억할 수 없다. (영원히 저장되는 것은 아니다.)

- LTM에 저장된 지식은 1시간 이내에 50%정도를 잊고, 2일 후에는 25%만 남는다.

3.3.1 기억을 잃어버리는 이유

- 기억이 뉴런에 의해 형성될 때 두뇌에서 일어나는 변화를 '부호화'라고 한다.

- 우리의 두뇌에서 기억은 다른 기억과 사실에 연결되는 연관된 네트워크 형태이다.

- 기억이 서로 연관성과 관계성을 가지고 저장된다.

3.3.2 간격을 두고 반복하기

- 오랫동안 학습한 만큼 더 오래 기억한다. 

- 연구 결과, 오랜 간격의 반복 학습이 짧은 간격의 반복학습보다 기억하는 비율이 더 높았다.

- 결론적으로, 잊어버리지 않기 위한 최선의 방안은 정기적으로 꾸준히 연습해야 한다.

3.4 문법을 더 오랫동안 기억하기

- 기억을 강화하는 2가지 테크닉이 존재한다.

  ① 적극적으로 무언가를 일부러 기억해보려고 애쓰는 '인출(retrieval)'

  ② 기존 기억에 새로운 지식을 적극적으로 연결시키는 '정교화(elaboration)'

- 연구에 의하면, 무언가를 능동적으로 기억하려고 하는 것이 기억을 강화하는 것으로 알려져 있다.
   (답을 완전히 알지 못하더라도, 기억하기 위해 많은 노력을 기울이면 쉽게 기억할 수 있다.)

3.4.1 정보를 기억하는 두가지 형태

- LTM으로부터 기억을 가져오는 두가지 서로 다른 기제가 존재한다.
   (로버트 비요크 심리학교 교수님과 엘리자베스 비요크가 구분하였다.)

 

1) 저장 강도

- 저장강도는 무언가를 LTM에 얼마나 잘 저장하고 있는가를 나타낸다.

- 어떤 것을 더 많이 학습할수록 그 내용을 잊어버리는 것이 거의 불가능해질 때까지 기억은 점점 더 강해진다.

2) 인출 강도

- 인출강도는 무언가를 얼마나 쉽게 기억할 수 있는지를 나타낸다.

- 잘 알고 있다고 생각했는데 막상 잘 기억이 나지 않는 경험은 저장 강도는 높지만 인출 강도는 낮다는 점을 의미한다. 

3.4.2 단지 보기만 해서는 안된다

- 문제는 지식이 LTM에 얼마나 잘 저장되어 있는지가 아니라, 그것을 얼마나 잘 발견하느냐는 인출 강도의 문제가 있다.

- LTM 어딘가에 정보가 저장되어 있지만, 그것이 필요할 때는 정작 가져오지 못하는 문제가 발생한다.

3.4.3 정보를 외우는 것은 기억을 강화한다

- 학습을 추가로 하지 않고 정보를 기억하려고 능동적으로 노력하는 것만으로도 배운 것을 많이 기억할 수 있다는 연구 결과가 존재한다.

   (학교 교사였던 필립 보스워드 발라드의 인출 연습에 대한 연구)

- 요즘은 너무 쉽게 정보를 찾는 것이 일상이 됨으로써, 우리 두뇌는 기억할 필요가 없다고 느낀다. 이 때문에 인출 강도가 강화되지 않는다.

- 정보를 검색하기 전에, 능동적이고 의도적으로 기억하려고 시도하면서 인출 강도를 강화하는 연습이 필요하다.

3.4.4 능동적 사고를 통한 기억력 강화

- 기억을 강화할 수 있는 2번째 방법은 정보에 대해 능동적으로 생각하고 그것을 반추해보는 것이다.

- 정보에 대해 생각하는 과정을 '정교화'라고 부른다.

 

1) 스키마타

- 사고나 생각이 서로 관련되어 조직된 방식을 '스키마' 또는 '스키마타'라고 한다.

- 새로운 정보를 학습할 때, 정보는 LTM에 저장되기 전에 스키마 형태로 만들어진다.

   (이미 존재하는 스키마에 잘 맞는 정보일수록 더 쉽게 기억할 수 있다.)

- 같은 상황을 경험한 두 사람이 각자의 고유한 생각, 아이디어로 인해 기억을 저장하는 방식에 영향을 받아 완전히 다르게 기억될 수 있다.

2) 정교화를 이용해 새로운 프로그래밍 개념 학습하기

- 정교화는 기억하고자 하는 내용을 기존 기억과 연관 지으면서 생각하는 것을 뜻한다.

- 정교화를 통해 LTM에 이미 저장되어 있는 스키마에 맞춰 새로운 기억이 저장된다.

- 새로운 기억을 더 잘 기억하고 싶다면 정교화를 활용하면 좋다.

 

'CS' 카테고리의 다른 글

Chapter 2. 신속한 코드 분석  (0) 2025.04.16
Chapter 1. 코딩 중 겪는 혼란에 대한 이해  (1) 2025.04.15