이민수
이민수 · 나도 노는게 제일 좋다...
2022/01/24
좋은 글 잘 읽었습니다! 저는 고등학교 사회문화 시간에 2018년 지방선거와 맞춰서 제가 사는 광역단체인 경기도지사 후보들의 선거공약을 비교하는 수행평가를 한 적이 있었고, 기사 스크랩 후 비판적으로 분석하는 활동을 재밌게 했었습니다. (이 수행평가를 강하게 추진하셨던 선생님은 학부모들의 항의전화를 매우 많이 받으셨다고 합니다.) 누가 시키지도 않았는데 이렇게 정리하시다니 대단하십니다! :)

일단 말씀하신 내용에서 아시면 좋을 것 같은 내용을 딱 2개만 다뤄보도록 하겠습니다.

1) 코딩 교육은 전국민 프로그래머 만들기 교육이 아닙니다.
공교육에서 행해져야 하는 코딩 교육은 알고리즘에 초점이 맞춰져야 합니다. 단순히 C/C++, 자바, 파이썬 등을 다루는게 아니라 다시 말하면 "컴퓨터적 사고"를 어떻게 해야하는지 알고 연습해야한다는 것입니다.

예를 들어봅시다. 여기 숫자 5개가 있습니다.
3, 2, 10, 7, 11
이를 오름차순으로 정렬하는 문제는 너무나 쉬운 문제입니다. 2, 3, 7, 10, 11 이죠.

그러나, 컴퓨터는 어떻게 오름차순으로 정렬할 수 있을까요? 코딩 교육에서 다뤄야하는 분야는 여기입니다. 컴퓨터를 이용해 '사고하는 방법'을 기르는 것입니다.

가장 생각하기 쉽다고 알려진 선택 정렬은 예시로 들기 적합하지 않으니 병합 정렬을 예로 들겠습니다. 병합 정렬은 다음과 같이 정렬을 수행합니다.

먼저 이 숫자 5개를 숫자 1개를 원소로 가지는 집합으로 모두 나눕니다.

{ 3 }   { 2 }   { 10 }   { 7 }   { 11 }
그리고 2개씩 묶습니다.

1번 파트 = { { 3 }, { 2 } }
2번 파트 = { { 10 }, { 7 } }
3번 파트 = { { 11 } }

1번 파트의 ( {3}, {2} ) 두 개의 집합 중 첫 번째 원소가 더 작은 것을 선택합니다. 여기선 2가 더 작으므로 먼저 1번 파트 집합에 2가 들어갑니다.
1번 파트 = { 2 }
여기서 이미 집합 하나의 모든 원소가 들어갔으므로(더 ...
얼룩패스
지금 가입하고
얼룩소의 모든 글을 만나보세요.
이미 회원이신가요? 로그인
192
팔로워 250
팔로잉 52