Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions 10장/상범.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# 10장 복잡한 문제해결을 더 잘하려면

문제를 해결하는데 LTM이 수행하는 역할을 살펴보고 문제 해결 능력을 개선하는데 도움이 될 만한 전략을 배워보자

## 프로그래밍 문제를 해결할 때 LTM의 역할

문제 해결은 일반적 기술도, 인지 과정도 아니라는 것이 지금까지의 연구 결과가 일관되게 보여주는 사실이라고 함 ㄷ ㄷ;

작업 기억 공간이 잘 동작하려면 LTM, STM과 강력한 협업을 해야함

STM으로부터 문제의 상황에 대한 정보를 가져오고, LTM은 관련 배경 지식을 검색하고 찾으면 작업 기억공간으로 보냄

문제 해결을 더 잘 이해하려면 LTM을 검색하는 부분을 탐구해야한다~

### 문제 해결에 역할을 하는 두가지 유형 기억

- 절차적(암시적) 기억 : 의식하지않고 발휘하는 기술에 대한 기억 e.g. 신발끈 묶기, 자전거타기
- 선언적(명시적) 기억 : 기억할 수 있는 사실이 있고, 그걸 자신이 의식할 수 있음
- 일화적 : 일상적으로 사용되는 기억 e.g. 과거에 문제를 겪었던 일, 친구랑 놀았던 일
- 의미적 : 의미, 개념, 사실에 대한 기억 e.g. apple은 사과, 자바 클래스는 데이터와 기능의 결합

문제 해결에는 두가지 기억 모두 사용 됨

- 암시적 기억: 키보드 조작 방법, 기본적인 문법, 콘솔로그 찍기 등
- 선언적 기억: 과거에 버그를 해결했던 경험, 자바에서 루프를 구성하는 방법 등

## 자동화: 암시적 기억 생성

자동화는 어떤 기술을 여러번 연습하여 아무 생각 없이 수행할 수 있을 정도가 된 것을 의미

암시적 기억의 흥미로운 점은 암시적 기억을 충분히 훈련하면, 그것을 사용하는 데 뇌가 거의 에너지를 소모하지 않는다는 것이다 ㄷ ㄷ;

> 저는 정말 쉽거나 단순한 작업만 그런 것 같아요

어떤 기술을 자동화하여 해결할 수 있으면, 그것을 응용한 더 어려운 문제를 해결할 때 인지부하를 줄일 수 있음

## 시간 경과에 따른 암시적 기억

- 선언적 기억 : 명시적으로 그 내용을 외우려고 노력하여 형성됨. 명시적 주의가 필요함. e.g. 플래시카드에 적어놓고 기억 연습
- 암시적 기억 : 반복에 의해 생성됨. 어떻게 해야하는지 생각하지 않아도 됨

암시적 기억은 세가지 단계로 형성

- 인지 단계: 무언가 새로운 것을 배우는 단계로, 당면한 작업에 대해 명시적으로 생각하기 e.g. 리스트 내 어떤 요소의 인덱스가 뭔지 명시적으로 생각해야함
- 연상 단계: 응답 패턴이 나타날 때까지 새 정보를 적극적으로 반복했을때 형성. 해당 작업을 위한 노하우가 생성되어, 인지 단계보다 간단히 작업할 수 있음. e.g. a번째 요소는 a-1 로 계산
- 자율 단계: 작업에 대해 명시적으로 생각하지 않고 해결할 수 있음. 기술이 자동화가 된 단계로 아무런 노력없이 해당 작업 수행 가능.

인스턴스 이론: 어떤 작업에 대한 각 경우의 수를 기억에 저장하였다가, 그 작업을 다시 수행할 시 이전의 기억을 참고하여 해결할 수 있다고 함, 따라서 여러번 반복을 통해 관련 기억이 많아지면 순간적인 기억에 전적으로 의존해 자동화가 가능해진다는 이론.

> useEffect를 많이 사용하고 공부하다 보니, "이 패턴 예전에 무한 렌더 오류났던 그 케이스지", "이건 effect로 할 필요가 없지" 등 비슷한 기억들을 즉시 참조할 수 있음

프로그래밍에서는 의도적인 반복 연습을 하지 않는다 e.g. for문 작성

그러나 이러한 기술에 숙달하면 더 큰 작업을 수행할 때 인지부하가 해소 된다고 한다

따라서 의도적 연습은 필요한데, 이를 위해선 유사하지만 다른 프로그램을 많이 작성해보는 것이다. 이미 작성된 프로그램을 수정해보는 것도 좋은 방법이다~

## 코드와 해설에서 배우기

풀이된 예제: 문제 해결능력을 향상하기 위해 다른 사람이 어떻게 해결했는지 의도적으로 연구하여 얻은 해결책

우리는 일반적으로 답안지를 들여다보는 것은 좋은 학습방법이 아니라 생각하지만, 연구결과에 따르면 비슷한 문제에 대한 답안지가 주어졌을때 더 빨리 배울 수 있다고 밝혀졌다고 한다

이유는 본유적 부하에 있다고 함

본유적 부하는 두뇌가 정보를 LTM에 다시 저장하기 위해 수행하는 노력을 의미함

작업 기억 공간에서 작업을 한 후 정보를 다시 LTM에 저장할 때 본유적 부하가 걸리는데, 작업 기억 공간이 꽉 차 있으면 본유적 부하를 위한 여지가 남아있지 않아서 문제를 풀어도 그 해결책이 머리에 제대로 남아있지 않게 된다.