<수정 중 -- 살을 붙이는 중입니다>
공대 학부 과정 중에서 수학을 가장 덜 공부하는 곳은? 컴퓨터공학과가 아닐까 생각합니다. 전산학과도 크게 다르지 않은 것 같고요. 그게 업계와 학계의 간극이 크기 때문이라고 봅니다. 당연히 대학은 그 사이에서 어중간한 교육을 하게 되고요. 실제 업계에서 일하는 프로그래머 치고 자신이 대학에서 배운 수학을 써먹을 기회가 평생 몇 번이나 될까요. 반면 학계에서는 수학을 종종 쓰곤 합니다. 전공에 따라 다르긴 하지만 학계에 있는 사람들보다는 미적분, 통계, 행렬 등을 많이 쓰게 되죠. IEEE에 나온 논문인데, 북미지역 개발자에 대해 방대한 서베이를 한 결과, 대학에서 수강한 과목 중 현재 업계에서 일을 하는 데 도움이 되는 과목을 뽑아보라고 했더니, 수학(특히 대학 수학의 꽃이라고 불리는 미적분학)은 높은 순위를 달지 못했습니다.
정말 수학이 별 도움이 안되는 걸까요? (이 대목에서 저는 Numb3rs의 찰리 엡스 교수가 나타나서 흥분하며 절대 그렇지 않다는 말을 쏟아내는 장면을 상상합니다)
저는 이 글에서 수학은 프로그래머에게 도움이 될 뿐 아니라, 가장 가치있는 투자 중 하나이며, 또 도움이 되게 수학을 공부하는 방법, 그런 종류의 추천 서적이 있다는 이야기를 해보려고 합니다.
특정 컴퓨터 관련 지식이 얼마나 갈까? 만약 폰노이만식 컴퓨터가 종말을 고한다면? 오래 살아남는 것은 수학이다. 수학만큼 확실한 투자는 없다.
하지만 제대로 된 대상에 투자해야 한다. 미적분학은 모든 이공계 대학에서 교양처럼 가르친다. 정말 이것이 그렇게 중요한가? 컴퓨터 프로그래머에게 가장 가치있는 수학 분과는? 이산수학이다. 이것만큼 이득이 큰 것이 없다. 특히 이산수학은 수학적 사고력(Mathematical Reasoning)을 키워준다. 전산교육계에서도 전산학도에게 "수학"을 가르치는 것보다 "수학적 사고"를 가르치는 것이 중요하다는 바람이 불고 있다. (Dijkstra, Gries 등등의 수원도 언급)
하지만 그냥 이산수학 공부하면 다 되나? 그렇지 않다. 잘 배워야 한다. 이산수학을 어떻게 가르치냐에 따라 그 사람의 향후 프로그래밍 실력에 큰 차이가 생긴다는 연구 논문이 있다. 여러분도 이 방법을 활용하면 내공을 높힐 수 있다.
그렇다면 이산수학 이외의 것들은 다 필요 없나? 아니다. 중요하다. 하지만 어떤 것들이 존재하는지, 그 메뉴판을 익히는 것이 더 유용할지도 모른다. 나중에 필요하면 주문해 먹으면 되니까. 이런 방법을 사용할 때 유용한 것이 위키피디아이다. 매스 아틀라스도 있다. 또 수학 사전도 있다. 개인적으로는 하퍼콜린스 것을 추천한다. 휴대가 용이하고 평이하다. 시간 날 때마다 명칭은 들어봤으나 뭔지 잘 모르는 것들을 뽑아서 사전을 찾아본다. 화장실에서도 좋다.
이런식으로 상황적(situated) 수학적 사고를 핵심으로 하고, 여러 분과는 가볍게 훑으면서 공부하면 재미있게, 또 수월하게, 또 효과적으로 수학을 배울 수 있다. 수학은 꼭 어렵게 배워야만 하는가.
상황적 수학적 사고란 무엇인가.
자기 딸이 있는 중학교에서 대수학(algebra)을 가르치지 않아서, 하바드에서 수학철학을 공부했던 아버지가 직접 선생으로 나섰다. 매우 획기적인 방법으로. 일명 Algebra Project. 그 아버지는 학생들을 실제 세계로 데리고 나왔다. 보스턴 주변을 함께 다니면서 수학의 실용적 사례가 될만한 경험을 찾아다녔다. 예를 들면 지하철을 타면서 대수학의 개념을 익혔다.
학생 왈, "when you take a trip on the subway and learn about algebra what you're really doing is developing a new way of thinking. Instead of just trying to memorize these strange equations, you're busy relating the math to your own experiences. All of a sudden, you find math spilling over into other areas of your life."
성과는? 예전에는 주(state) 수학 시험에 한 반 전원이 탈락하는 것이 흔했지만, 딱 2년 후에는 55%가 합격하게 되었다. Algebra Project에 참여한 학생의 92%는 상위 수준의 수학 코스로 올라갔는데, 그 프로그램에 참여하지 않은 학생들은 그 비율의 절반 수준에 그친다.
수학에 문외한인 분들을 위해 추천하는 책, 활동, 영화 등. "박사가 사랑한 수식", "Numb3rs"(한 편 보고 인터넷의 보조자료로 문제 풀고 공부하기), 아인슈타인이 극찬한 수학 교양서적, 수학사 서적 등등등
(프로그래머를 위한) 이산수학 추천 서적들. 대략 4종 정도만 소개하고... 특히 퍼즐을 통해 배우는 이산수학 책이랑 Haskell로 배우는 이산수학 책 등.
(2탄 예고. 물리학 쉽게 공부하기)
--김창준