프로그래머의 뇌 - 7. 생각의 버그

2023. 7. 12.·🤓 기술 학습 & 공부 기록/컴퓨터 일반

프로그래머의 뇌 (펠리너 헤르만스 지음)

 

📍목차

1장 | 코드 더 잘 읽기
1. 코딩 중 겪는 혼란에 대한 이해
2. 신속한 코드 분석
3. 프로그래밍 문법 빠르게 배우기
4. 복잡한 코드를 읽는 방법

2장 | 코드에 대해 생각하기
5. 코드를 더 깊이있게 이해하기
6. 코딩 문제해결을 더 잘하려면
7. 생각의 버그

 

📍왜 2번째 프로그래밍 언어가 1번째 보다 쉬울까?

✅전이(transfer)

이미 배운 지식이 다른 영역에서 유용하게 사용됨

 

근거리 전이 : 자바와 C# 처럼 가까운(비슷한) 영역 사이의 지식이 전이

원거리 전이 : C와 파이썬처럼 먼 영역 사이의 지식의 전이

=> 근거리 전이가 일어날 가능성이 더 높다

 

✅LTM에 저장된 프로그래밍 지식이 새로운 프로그래밍 개념을 배우는데 도움이 되는 형태 2가지

1. 학습도중전이(transfer during learning)

- LTM에 저장된 정보를 사용하여 새로운 내용을 쉽게 접함

- 작업 기억 공간에서 STM(새정보)과 LTM(이미 배운 비슷한 정보) 양쪽에서 정보 인출

예) 자바를 알고 있는 상태에서 파이썬의 메서드를 배우면 더 쉽게 이해 가능

=> 정규화 (새로운 정보를 이미 알고 있는 정보와 명시적으로 연관시킴)

 

 2. 학습 전이(transfer of learning)

- 인지 과학에서 '전이'는 대부분 이 학습 전이를 의미

예) 새로운 노트북을 사용해도 키보드를 능숙하게 사용

 

✅기존 프로그래밍 지식을 활용할 가능성을 높이는 방법

1. 숙달

- LTM에서 관련 정보를 적극 검색하여 정교화된 지식은 전이 가능성 높임

 

2. 유사성

- 새로운 지식이 기존 지식과 유사할 수록 유리

 

3. 배경

- 같은 IDE를 사용해야 더 유리

 

✅긍정적 전이
- LTM에 이미 저장된 지식이 학습 속도를 높이거나 새로운 작업을 수행하는데 도움을 주는 것

 

✅부정적 전이

- 기존 지식이 새로운 지식을 배울 때 방해가 되는 경우

예) 파이썬을 배우고 자바를 새로 배울 때, 변수 초기화 없이 선언

 

✅전이의 어려움

전이는 일어나기 어렵다 (특히 원거리 전이는 더욱 어려움)

예) 체스가 기억력 및 지능을 높여준다는 것은 과학적으로 근거 없음

 

📍오개념: 생각의 버그

코드가 잘 작동할 것이라 확신했는데 오류가 반복된다면, 코드에 대한 오개념 문제일 수 있다

✅오개념(misconception)

- 사실과 다르다

- 서로 다른 상황에서 일관되게 유지된다

- 확신에 사로잡혀 있다

 

예) 사람들이 흔히 고추의 씨앗 부분이 맵다고 알고 있지만, 전혀 그렇지 않음

이것이 오개념인 이유는

- 사실과 다르다

- 모든 종류의 고추가 이럴 것이라 추측

- 이게 사실이라고 생각해서 고추의 씨 부분을 빼고 요리

 

오개념을 교정하려면 LTM을 변경해야 하기 때문에, 많은 시간과 노력이 필요하다

 

✅프로그래밍과 관련된 대표적 오개념

1. 매개변수 전달에는 호출과 정의에 서로 다른 변수명이 필요하다

- 사실은 이와 다르며, 같은 이름을 사용하는 것이 권장된다

 

예) Python 메서드 예시

def square(number): # 정의
	return number * number

number = 12
print(square(number)) # 호출

 

✅오개념을 줄이기 위해 생각할 것

1. 자신이 틀릴 수 있다는 사실을 염두

2. 흔히 발생하는 오개념을 연구하기

3. 테스트 코드

4. 문서화

'🤓 기술 학습 & 공부 기록/컴퓨터 일반' 카테고리의 다른 글
  • <객체지향의 사실과 오해> 1.협력하는 객체들의 공동체
  • 프로그래머의 뇌 - 8. 명명을 잘하는 방법
  • 프로그래머의 뇌 - 6. 코딩 문제해결을 더 잘하려면
  • 프로그래머의 뇌 - 5. 코드를 더 깊이있게 이해하기
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (510)
      • 🎨 프론트엔드 공부 (247)
        • JS & TS (86)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
프로그래머의 뇌 - 7. 생각의 버그
상단으로

티스토리툴바