‘과유불급’이라는 고사성어가 있다. 아무리 좋은 것도 지나치면 없는 것만 못하다는 뜻이다. 수학도 마찬가지다. 사고력을 높이기 위해 어렵고 복잡한 문제를 계속 풀게 하면 오히려 수학을 싫어할 수 있다. 해결책은 없을까? 수학 교육에 ‘코딩’을 끌어들이면 된다는 한국수학교육학회 회장 이상구 교수를 만나 이야기를 들어봤다.
Q ‘수포자’는 왜 생긴다고 생각하세요?
어떤 공부든 오랫동안 하게 하려면 동기부여가 중요합니다. 왜 배워야 하는지, 배워서 무엇을 할 수 있는지를 분명하게 알려줘야 배우는 과정이 어려워도 포기하지 않죠. 수학도 마찬가지입니다. 복잡한 수식과 문제만 강요하면 학생들이 계산만 한참 하다가 포기하고 계산보다 중요한 ‘개념’은 기억하지 못합니다. 수식보다는 흥미로운 시각 자료를 공유하고 실생활 문제를 다루는 경험을 해야합니다. 불필요한 계산은 줄이고요. ‘코딩’을 이용하면 가능하죠.
Q 수학과 코딩, 어떻게 함께 배우죠?
우리나라에서는 수학, 공학에서 나오는 문제를 코딩할 수 있도록 코딩 언어 강좌를 수십개 만들어 가르치려고 하는데, 세계 명문대학교에서는 그렇게 하지 않아요. 수학을 가르치며 동시에 파이썬, R 같은 언어를 경험할 수 있도록 하죠.
저도 강의할 때 기본적인 코드만 보여주고 나머지는 학생들끼리 서로 토론하면서 자연스럽게 익히도록 합니다. 강의 내용과 코딩으로 해결할 수 있는 문제를 홈페이지에 올리면 학생들이 게시판에서 열심히 토론해서 문제를 해결하죠. 답을 찾은 사람, 아이디어를 제시한 사람 모두에게 토론 참여 점수를 줍니다. 학생들이 문제 해결에 참여한 내용을 정리해 제출하면 성적에 반영하죠. 낯선 교육 방식이지만, 지난 학기에는 두 달 사이에 약 2000개 글이 올라올 정도로 반응이 좋고 강의 만족도도 높습니다.
Q 부작용은 없을까요?
무조건 코딩에 의존하라는 게 아닙니다. 수학 개념을 완벽하게 익힌 뒤에 ‘활용’하는 거죠. 예를 들어 ‘적분’은 함수의 그래프가 x축과 이루는 넓이를 구하는 개념이잖아요. 함수를 적분할 때 ‘구분구적법’이라는 복잡한 과정을 거쳐야 하는데, 원리를 이해했다면 간단한 함수만 구분구적법을 이용해 넓이를 구하고, 다른 함수는 코딩을 이용해 구하면 되지요. 문제 푸는 기술은 컴퓨터에 맡기자는 거예요. 이렇게 절약한 시간을 수학 개념을 이해하는데 쓰면 효율적이겠죠?
Q 마지막으로 학생들에게 조언을 부탁드립니다.
수학 개념과 원리를 이해했다면 어렵고 복잡한 문제는 코딩을 이용해 스스로 해결해서 수학에 대한 자신감을 느껴보세요. 평면에서 함수의 그래프를 그리는 방법을 알면 코딩으로 영화 CG 같은 입체도형도 가뿐하게 그릴 수 있어요. 3D 프린터를 이용해 원하는 모양을 만들어 볼 수도 있죠. 1월부터 주니어 폴리매스에 코딩 수학 문제를 소개합니다. 문제 풀이에 참여해 수학과 코딩 둘 다 잡으세요!