[수학공부] 하나하나 깊게 vs 빠르고 넓게

71284390423712492347129의 이미지

안녕하세요. 이제 중3되는 학생입니다. 얼마 전까지 수포자였는데 요즈음 수학에 관심이 생겨서 수학을 공부하려고 하는데요. 수학에 대해서 우리나라 수능 커리큘럼에만 국한되어서 사고하던 제가 운이 좋게도 Khan Academy라는 사이트를 발견했습니다. 미국 재단에서 개발하는 사이트라고 하는데, 제가 주워들은 걸로는 대학 2학년 정도 수준까지 무료 수학/과학/경제학 강의를 들을 수 있는 것 같습니다. (지금 방학이라 잉여 시간이 많아서 그 시간을 때울 겸 ㅋㅋ) 수학을 공부하는 데, 우리나라 수학처럼 하나하나의 개념을 아주 깊게 파고 들어가서 기초를 차근차근 쌓는 식 (예를 들어 정석 10번보기..?)이랑 서양식 수학처럼 개념과 원리를 중요시하고 문제가 쉬운 방식으로 공부를 해서 빠르게 진도를 나가는 (우리나라 고등학교 수학 하고 있을 시간에 대학교 수준의 수학까지 그냥 진도를 나가는 방식?) 중에 어느 게 더 좋은 방법인지 여쭤보고 싶습니다. 아, 물론 학교에서 배우는 수학은 또 따로 열심히 하고 있습니다 ㅎㅎ

kcnjo의 이미지

먼저 무엇때문에, 또 얼마만큼 수학을 공부하려 하는지 궁금하네요. '증명을 하는게 좋아서 공부하려 하는 것'인지 아니면 '프로그래밍에 필요해서 하려는 것'인지 같은 목적과, "어디어디에 무슨 분야의 수학이 필요하다고 해서 그것을 할 수 있을 정도로 하고 싶다." 같은 구체적인 목표를 적어주시면 좋겠습니다.
교과 공부를 하는 입장에서는 그냥 뭉뚱그려 수학이라 느끼실테지만 수학이라는 학문은 어마어마하게 커서 수학자가 되도 자기 전공분야 관련 아니면 모르거든요.(사실 몰라야'합'니다.) 그 수준이 아니더라도 예를 들자면 수학과에서 쓰이는 수학은 대부분 공학하는 데에는 필요없습니다. 그러니 '대학교 수준'이라는 실체가 없는 말은 쓰지 말아주세요.

하나하나 깊게냐 빠르고 넓게냐의 문제는 의미가 없는게, 빠르고 넓게 해도 나중에 후달리는 부분을 깨닫고 다시 보는 짓을 몇 번 하게되서 결국 두 방식 다 동일한 양의 공부를 하게 됩니다. 연습문제 다 푸는 정도로 나가는게 가장 적당한 것 같습니다. 그런데 알아두셔야 할 것은 한국 수학이 개념을 아주 깊게 판다고 하며 예시를 정석으로 드셨는데 아무리 판다고 해봤자 고교수학은 IQ테스트 느낌 이상도 이하도 아닙니다. 이건 IMO 같은 것도 마찬가진데 아무리 어려워도 결국 퍼즐풀이예요. IMO 수상자가 수학을 잘하는건 IMO를 했기때문이 아니라 준비과정에서 지능과 끈기가 길러져서 그런겁니다. 그리고 이 둘 중에는 끈기가 훨씬 결정적입니다. 아 물론 수학을 진지하게 할게 아니라 공학적 도구로만 쓰실거면 그리 깊이 들어가지 않으니 도움이 될 것 같습니다만 이 경우도 정석 같은 입시수학책을 10번 보기에는 시간이 아깝습니다.

그리고 Khan Academy라는 사이트를 들어가서 확인해봤는데 그다지 추천할만 하지는 않네요. 입문용으로는 혹시 쓸모가 있을까 생각해봐도 너무 부족한 것 같습니다. 제가 고등학교때 입시때문에 수업 날로하고 했어도 고급수학 시간에 저정도 수준까지는 다 하고(교과서 무시하고 진도나가서 그렇겠지만) 시험까지 봤거든요. 어차피 그렇게 해봐야 새로 공부 다시 해야합니다. 정석 이야기가 적혀있는걸 봐선 고1과정 정도는 어느정도 하신 것 같은데 그러면 차라리 스튜어트 미적분학부터 하나 장만하는게 훨씬 이롭습니다. 이 책만으로는 부족한 느낌이 적잖이 있지만 이 책은 기본적인 역함수 정의 수준부터 나와있기때문에 고1과정정도 했으면 아무런 지장이 없고 책이 두꺼워서 책 한권으로 고등과정과 미적분학 어느정도를 커버가능합니다.

나머지는 댓글 달아주시면 그때 답변하겠습니다.

71284390423712492347129의 이미지

저는 수학문제를 풀고 증명하는 것 자체를 좋아합니다. 그리고 제가 보고싶은 CS 강의가 몇 개가 있는데 그 중에서 쉬운 편에 속하는 하버드에서 제공하는 'CS50: Introduction to Computer Science'라는 강의를 틀어서 봤는데 첫강의부터 막혀버려서 (대학생들 수준에 맞춰져있기때문에 당연하겠지만) 그 다음부터는 덮어놓고 안 보고 있는 중인데요., 물론 대학가서 공부해도 충분히 상관없지만 기초 강의쯤은 그냥 쉽게 이해할 수 있는 정도의 배경지식이 있었으면 합니다.

대학교 수준이라는 말을 사용한 것은 (일단 제가 뭘 잘 몰라서 그렇기도 하고) 그냥 Linear Algebra가 우리나라 고등학교에서는 안가르친다는 말을 어디서 줏어들어서 그렇습니다. 다른 과목들도 포괄적으로 말씀드렸기 때문이기도 하구요.

제가 너무 극단적인 예시를 든 것 같습니다. (지금으로선) 정석을 10번 보겠다는 게 아니라 그냥 극단적인 상반되는 예시를 들면 그렇다고 말씀드린 겁니다. (그리고 책을 본다면 꼭 정석이 아닌 다른 책들도 많이 있는데 이 글을 쓸 때 마침 생각나는 책이 그거라서 너무 책 한 권에 국한되어서 말씀드린 것 같습니다. 한국 고등학교 교과과정에 맞춰진 책이라고 말하고 싶었습니다.)

"제가 고등학교때 입시때문에 수업 날로하고 했어도 고급수학 시간에 저정도 수준까지는 다 하고(교과서 무시하고 진도나가서 그렇겠지만) 시험까지 봤거든요." 부터 이해가 잘 안갑니다.

스튜어트 미적분학 추천해주신 책 보겠습니다. 구글에 검색해보니 pdf가 나와있네요.

감사합니다.

kcnjo의 이미지

기초강의쯤은 그냥 쉽게 이해할 수 있을정도라는건 개론 언저리를 말하는 것 같은데 그런거면 스튜어트 이전에 고등학교 수준만 해도 충분하고도 남습니다. 그 책 떼는데에도 한참 걸릴테니 아마 그정도만 하고 학교공부에 충실하라고 말을 해야될 것 같은데, 이건 제가 중고등학생때 무시하고 계속 공부했으니 차마 하진 못하겠네요. 그게 가능하다고 생각되면 답은 하나입니다. 그렇게 하세요. 따라서 지금부터 적는 내용은 그게 불가능했다는 가정 하에 적는 것이니 가능하다면 안읽으셔도 됩니다.

조금 찾아봤다면 아시겠지만, 미적분학과 선형대수는 이공계에서 필수적입니다. 마치 사칙연산 같은 느낌입니다. CS에 미적분학은 그다지 필요하지 않다는 편견이 있던데, 절대로 그렇지 않습니다. 예컨대 generating function은 조합론의 기본 중에 기본이거든요. 컴퓨터 그래픽스나 최적화 쪽으로 가면 말할 필요도 없이 미적분학은 중요합니다. 스튜어트를 하셨다면 김홍종 미적분학 정도를 추천합니다. 이외에도 'Vector Calculus, Linear Algebra, and Differential Forms: A Unified Approach'라는 악랄한 책이 있긴하나 이건 다변수가 정말로 필요하다고 느낄 때만 보세요. 아니면 왠만해서는 필요 없습니다.
그런 미적분학보다도 훨씬 더 중요한 것이 선형대수입니다. 선형대수는 수학의 알파이자 오메가입니다. 그리고 그 이전까지에 배운 다른 수학들과는 느낌이 많이 다를겁니다. 이전까지는 '계산'에만 집중했다면 여기서부터는 '구조'를 다루게 됩니다. 다루고 있는 대상이 어떤 구조를 가지고 있는지 다이어그램을 그리고, 각 화살표만 증명하면 광명이 찾아와 모든 것이 선명하게 보여 고민했던 것들이 굳이 종이 낭비를 하면서 증명을 할 필요가 없어지는 경험을 하게 됩니다. 책은 정석대로 호프만 쿤제를 보시던지, 국내 서적으로는 이인석 교수님이 쓴 '선형대수와 군'이라는 명저가 있습니다. CE를 하실거라면 랭 정도만 보셔도 되긴한데 CS에 관심이 있고, 더군다나 이론 쪽을 좋아하신다니 추천드립니다.
그 다음은 아마 이산구조론일 겁니다. 이렇게 써서 조금 헷갈리긴 하는데 이산수학과 사실상 동일하지만 관점이 좀 더 이론적입니다. 그렇기에 책마다 조금 차이가 있는데 악랄한 책은 타입이론에 Curry-Howard correspondence까지 다루는 경우도 있다고 하던데, 책 추천 같은건 전 이 내용을 이산수학이라는 묶음으로 배워본 적이 없어서 모르겠습니다.

이정도 했으면 아마도 제대로 했다는 가정하에 이미 고등학교는 졸업한 상황일겁니다.
그러면 적당히 봐가면서 Jech같은 집합론 책 보시던지 조합론&그래프이론 볼 때 선형대수 빡시게 하셨으니 매트로이드를 다룰 수 있을겁니다. 그걸 공부하시던지 프랠라이, 헝거포드 같은 대수학 책을 보고 이인석 교수님 대수학(선대와 군을 다시 보게 시킵니다.)을 보던지 알아서 결정할 문제입니다.

그러면 대충 수학 내용은 여기까지 하고, 본격적인 수학 공부가 아니라도 함수형 프로그래밍을 접해보시는 것도 좋은 경험이 될 것 같습니다. 이왕 공부용이니 스칼라나 ML 같은 것들 말고 순수한 언어인 하스켈을 추천합니다. 하스켈이라는 언어를 공부하는 것 자체로도 많은 부분 수학 및 CS공부가 되거든요. 그런만큼 처음 접하실 때 많이 어려우시긴 할겁니다.

그러면 여기까지...

p.s ) 이해가 잘 안간다는 부분 말인데요, 그건 그 사이트에 나와있는 내용이 고등학교 때 수업시간에 다뤘던 내용까지라는 것에 놀라워서 적게 되었던 부분입니다. 특히 구체적으로는 미분방정식에 라플라스 변환까지 나와있던데 이게 고등학교 시절 마지막 시험 시험범위였습니다. "아 그런가 보다."하고 걸러주시면 됩니다. 일반적인 교육과정은 아니거든요. 오히려 거기에 큰 의미는 없었다고 기억해두시면 됩니다. 정말 도움이 되었던건 독학한 것뿐이었습니다.

vagabond20의 이미지

지금 보고 있는 책 저자 (스튜어트) 가 나와서 반가워서 몇자 적습니다.

정확하게 어떤 문제였는지 기억은 나지 않는데, 대학 1 학년때 미적분학 기말시험엔가 적분함수였던것 같던데, '마구' 풀다보니 결과가 말안장 (이차곡면) 모양이 나오는것을 알게되고 일종의 '희열' 을 느낀적이 있습니다. 와~ 수학 정말 재미나구나~ 했었는데, 거기까지 였던것 같습니다. (당시 80년대에는 전산학과에서 미적분, 선형대수, 미분방정식, 이산수학 정도만 배웠습니다.)

*
세월이 흘러, 요즘 제가 관심을 가지기 시작한 우주에 대해 들여다 보다 보니, 아인슈타인의 '장 방정식' 을 한번 풀어보고 싶은 마음이 들어서 (팟케스트 라디오에서) 이종필 박사가 청취자들에게 알려준 대로 다시 미적분을 복습하려고 아들녀석이 (자기는 끝냈다고) 획- 던져준, 두 분이 말씀하시는 "스튜어트 책 (3판)" 을 집어 들고 보는 중입니다.

쓴 김에 '꼽싸리' 끼어서 kcnjo 님께 질문 하나 드려도 될지요?
아인슈타인의 '장 방정식' 까지 이해하고 풀려면 제가 보는 스튜어트 책 만으로 충분할까요?
G(μν) + Λg(μν) = (8πG / c**4) * T(μν)

아니면 (제 생각에 스튜어트 책은 그렇게 어렵지는 않아 복습차원으로 빨리 끝낼것 같은데) 그외에 다른 수학서적을 더 공부하고 덤벼야 할지요? (처음엔 이종필 박사 말대로 고등학교 정석책을 보려다가 미국에서는 구입하기도 쉽지않아 그냥 이 책을 보는거 거든요.)

여의도자바

71284390423712492347129의 이미지

제가 지금까지 알고 있었던 '수학'과는 다른 뭔가 매우 흥미로운(?) 것들이 많은 것 같습니다 ㅎㅎ 하스켈에 대해 알아보도록 하겠습니다. 여담이지만, Khan Academy에 Linear Algebra가 있던데, 그게 고등학교 과정이었나요? 고등학교에는 안 나오는 줄 알고 있었습니다.

아 그리고, 마지막으로 정말 감사합니다 :)

 의 이미지

이공계 학생들이 대학에 진학해서 반드시 배우게 되어 있는 두 수학 과목이 미적분학(Calculus)과 선형대수(Linear algebra)이지요.
그 중에서 미적분학은 고교 미적분의 연장선상에서 출발한다고 봐도 크게 무리가 없지만,
선형대수는 이전에 학교에서 배웠던 어떤 내용과도 현저히 다를 겁니다.
그런 의미에서 선형대수를 (해석학과 함께) "처음으로 배우는 진짜 수학"이라고 부르는 사람들도 있는 모양이더군요.

선형대수의 아주 얇은 단편이 고교수학과정에 있다면 바로 벡터와 행렬인데, 벡터는 아마 현재 교육과정상 배우시게 되겠지만 행렬은 분명치 않군요. 최근에 고급수학 교과 범위로 옮겨갔다고 들었는데, 그 교과 가르치는 학교 몇 안 되지 않던가요?

...근데 고교 과정에서 가르치던 시절에도 별로 도움 안 됐어요. 그러니 설령 못 배운다고 해도 별로 아쉬워 하실 필요는 없겠습니다.

tyhan의 이미지

완전히 다른 내용일수도 있지만.
아직 중3이라고 하시니까...

우선 수학을 공부할때 논리의 비약이 생기지 않게 진행하는 연습을 하기를 권합니다.
제가 생각 하기엔 수학문제를 풀지 못하는 이유는 두가지라고 생각합니다.
1. 방향을 잘못 잡아서.
2. 논리의 비약.

1번의 문제는 배우면 해결이 됩니다. 그러나 2번의 경우는 연습을 해야 합니다.
논리의 비약이 무엇이냐면 2x=4의 방정식을 풀 경우 2x /2 = 4 /2, 를 통해 x=2 가 됩니다.
왜 양변을 2로 나누어도 문제가 없는지 이런것을 확인하는것이 습관이 되어야 합니다.
여기서 3으로 나누면 안되냐는 질문에 당연히 됩니다. 0만 아니면 어떤 실수든 가능합니다.
단지 우리가 원하는 x=? 까지 가기 위해서 여러 단계가 생길 뿐입니다.
이렇게 단계를 짧게 가는것은 배움이나 경험으로 줄일수 있습니다. 이것이 1번의 해결방법이죠.
2번이 완벽하다면 답을 찾을수 없는 문제는 있지만 답이 틀리는 없게 될것입니다.

이러한 연습은 어느곳에서나 할수 있습니다. 대학교 과정이든 고등학교 과정이든,
연습하기 좋은 것은 중학교 수학 or 해석학(수학전공 아니면 잘 보지 않는..)입니다.
지금 보기에 지루할 정도로 당연한것도 확인하고 가기 때문입니다. 같은 이유로 누가 보아도 이해할 수 있습니다.

앞에 말이 길었지만 한줄로 요약하면
수학풀이 한줄 한줄이 왜 넘어가게 되는지 의심하고 이해하는 방식으로 연습하기를 권합니다.(질문엔 답이 되지 않았지만..)