Back to : snu-courses
Contents

수학과는 선수과목이 꽤 복잡한데 복전생이 듣자니 전공이랑 시간표가 겹치는게 있었어서 일부 선수과목을 좀 독학했습니다. 그것도 여기에 대략 적어넣었습니다.

1학년 과목

수학 및 연습 1, 고급수학 및 연습 2

  • 2018년 1, 2학기 (1, 2학기차) 에 수강했습니다.
  • 미적분학 (Calculus) 와 벡터 미적분학 (Vector Calculus) 를 배웁니다.
  • 김홍종 교수님의 미적분학 (1, 2) 책을 배우는데, Stewart 등 미적분학 책보다는 살짝 빡셉니다.
  • 이 책은 각 챕터별로 부록 section이 하나씩 있는데, 고급- 과 일반- 의 차이는 이 부록을 나가느냐 안 나가느냐의 차이입니다.
  • 부록에 실수체계의 구성, 변분법 등 굉장히 재밌는 내용들이 많습니다.
  • 서울대는 입학고사 성적으로 반배정을 하고, 수및연 1에서 A+을 받으면 고급수학 및 연습 2로 바꿀 수 있습니다. 저는 이걸로 바꿔서 고수에서는 A0를 받았었습니다.
  • 별개로, 저는 처음에 면적분과 부피적분, 그린 정리 등을 굉장히 이해하지 못했었습니다. 이런 개념들을 이때 이해하지 못했다는 생각 자체를 잘 못했는데, 나중에 보니 좀 상태가 안 좋다는걸 복소 때 알았습니다.

2학년 과목

해석개론 및 연습 1

  • 2019년 1학기 (3학기차) 에 수강했습니다.
  • 본격적인 수리과학부 전공 과목입니다. 서울대에서는 원래 김성기-김도한-계승혁 교수님 저의 해석개론 (소위 김김계라 부릅니다) 을 쓰지만, 저는 영어강의를 들어서 해당사항은 없었습니다.
  • 미분가능성, 연속성, 리만적분 등 고등학교 미적분때부터 대충 배우면서 넘어간 개념들을 체계적으로 배웁니다.
  • 저는 개인적으로, 수학에 관심이 많다면 여기까지 들어보는건 정말 좋다고 생각합니다. 고등학교 미적분을 배우다보면 생기는 의문들, 대학 캘큘을 배우다보면 생길수있는 의문들이 여기까지 하면 정리가 되기 때문입니다.
  • 해개연 1을 들을때는 전공 수학을 공부하는 방법이 익숙하지 않아서…라기 보다는, 수학과 과목은 그냥 증명 흐름만 대략 알면 될것이라고 생각하고 연습문제를 전혀 풀어보지 않는 등 공부 방법을 잘 몰랐었습니다. 어떤 과목 (해석개론) 은 증명을 직접 써보고 손으로 공부해야 한다는걸 깨우쳐주는 계기가 되었습니다. 학점은 B+ 받았습니다.
  • 학점과는 별개로 수학을 더 배우고 싶다는 생각이 든 과목입니다.

선형대수학 1

  • 2019년 1학기 (3학기차) 에 수강했습니다.
  • 해석개론과 함께 수학과 전공 진입 과목입니다. 컴공과에게는 사실 꼭 필요한 과목인데, 공학수학에서 어느정도 커버를 하기는 하지만 시간의 문제로 충분하지 않기에 공대 (컴공과) 학생들도 수강하면 많은 도움이 되는것 같습니다.
  • 저는 영어강의를 들어서 선대1은 선대군으로 배우지 않았고 (Friedberg의 선형대수 책으로 진도를 나갔습니다), 교수님께서 학생들 다수가 공대임을 의식하신것인지 수학과스럽게 수업을 나가지는 않아서 편하게 들을 수 있었습니다.
  • 행렬 계산으로 시작해서, 행렬과 선형 사상의 관계, Dimension theorem, Rank 등을 배웁니다.
  • 학점은 A+ 받았습니다.

선형대수학 2

  • 2019년 2학기 (4학기차) 에 수강했습니다.
  • 이 수업은 한국어 수업으로 들었습니다. 유명한 이인석 교수님 저의 “선형대수와 군” 으로 나갑니다. (aka 선대군)
  • Quotient space 같은걸 좀 배우고 나서, $O(n)$ 등 linear group, Bilinear form, Perp theorem 등 핵심적인 선형대수의 아이디어들을 배웁니다. Dual space 부분에서 고통받았습니다.
  • 이때 전공을 너무 많이 들어서 약간 overwhelm된 면이 조금 있습니다. 여기에 더해서 실수와 공부 부족으로 중간고사를 완전히 날려먹으면서 B+를 받았습니다. 중간고사 보고 드랍할지 고민을 정말 많이 했는데, 반 들었는데 드랍하기는 좀 아까웠던 기억이 있습니다.

정수론

  • 2021년 1학기 (7학기차) 에 수강했습니다.
  • 다만 교수님께서 원래 Cryptography를 연구하시고, Pollard-Rho 알고리즘의 발전에 지대한 공헌을 하신 등 Computational Number Theory에 가까운 분이시기 때문에 저한테는 정말 재밌는 수업이었습니다.
  • 수업중 Algorithmic한 부분들 - 예를들어 Lenstra의 소인수분해 등 - 에 대한 언급이 많았고, 격자이론이나 동형암호에 대한 특강 등 컴퓨터공학 전공인 저한테는 정말 배울게 많았습니다.
  • PS하면서 배운 정수론을 좀더 정확히 이해할 수 있었습니다. 초반에 빠르게 일반적인 정수론의 주제들 (중국인의 나머지 정리, 페르마 소정리, 오일러 피 함수, 르장드르 기호, 이차 잉여, 디리클레 합성곱 등) 을 달린 후, 후반에는 타원곡선, 무리수의 유리근사, 소수정리 등의 재밌는 주제들을 다룹니다.
  • Niven 책 연습문제가 워낙 많고 퀄리티가 좋기로 유명해서 재밌어보이는것만 풀면서도 꽤 많이 배웠습니다.
  • 학기 후기때는 학점 포기하고 들어야 한다고 했는데, 저거 쓰면서는 약간 미지에 대한 공포에 잡혀 있었던게 아닌가 싶습니다. 올림피아드 출신 친구들이 중간고사 때까지는 정말 잘 하지만, 그 후로는 어차피 다같이 처음 보는 내용입니다. 오히려 저는 PS와 알고리즘에 관심이 많아서 뒷부분 내용들을 재밌게 들었던지라 A+을 받을 수 있었습니다.

3학년 과목

위상수학개론 1

  • 2020년 1학기 (5학기차) 에 수강했습니다.
  • 모두가 그렇듯 도넛과 커피잔이 위상동형인걸 생각하고 수업을 들으러 갔지만, 세달동안 수많은 정의들을 배웁니다. 마지막에 조금 surface의 분류에 대해 나가면서 클라인 병 등을 머릿속으로 접어보고 뚝배기와 돌이 위상동형임을 깨달을 기회가 주어집니다. 저희는 특이하게 Munkres가 아닌 Kahn 책으로 배우는데, 책이 정말 컴팩트하고 notation이 신기합니다. Product로 $\prod$ 대신 $\times$ 였나? 아무튼…
  • 이 과목은 정의가 너무 많고, 언어를 배우는 기분으로 접근해야 해서 꽤 힘들었습니다. 저는 온라인 수업이 이때부터 시작되었기 때문에 중간중간 멈출 수 있어 조금은 편했던 듯 한데, 실시간 강의였으면 중간에 정신이 혼미했을것 같습니다.
  • 증명 호흡이 긴 과목을 처음 들어 봤는데, Urysohn Lemma 증명처럼 호흡이 긴 증명을 쪼개고 쪼개면서 아이디어를 하나씩 잡아나가는 법을 익힐 수 있었던 것 같습니다.
  • 이때는 수학공부를 그럭저럭 열심히 해서 A+을 받았습니다.

현대대수학 1

  • 2020년 1학기 (5학기차) 에 수강했습니다.
  • 위상수학개론과 함께, 정의를 쭉 배우는 과목입니다. 학부 현대대수의 모든 아이디어는 현대대수학 2에 몰려 있다던데, 이건 아직 안 들어서 모르겠습니다. 군 환 체 등 정의, 정의, 정의, 성질 몇개, 다시 정의.
  • Fraleigh의 현대대수학 책을 쓰는데, 책 자체가 좀 친절한 편이고 특히 Kahn처럼 컴팩트한 책을 보다가 이걸 보면 정말 옆에 붙어서 가르쳐주는 느낌의 책이기 때문에 조금은 편했습니다.
  • 학점은 A0 받았습니다.

복소변수함수론

  • 2020년 1학기 (5학기차) 에 수강했습니다.
  • 수리과학부는 타과생용 과목이 있는데, 복소함수론 1의 타과생용 에디션입니다. 실제로 다루는 내용이 많이 다른지 여부는 잘 모르겠습니다. 얘기를 들어보면 교수님에 따라 다르지만 같은 교수님께서 강의하시면 별로 많이 다르지 않은것 같기도 합니다.
  • Gamelin의 complex analysis책을 배우는데, 한학기만에 달려야 하기 때문에 복소적분, 코시리만, 코시적분공식, 유수정리 등 코어한 내용들만 쭉쭉 나갑니다.
  • 마지막에 소수정리를 복소해석으로 증명하는 내용을 배웠는데, 굉장히 궁금했던 내용이었기때문에 정말 재밌게 들었습니다. 해석적 정수론이 대충 뭐 하는 건지 구경하는 느낌이었는데 적분이 정말 빡세더군요… ㅋㅋㅋ
  • 위상이나 현대는 더 위를 위한 빌드업 느낌이었는데, 이 과목은 그럭저럭 Self-contained된 내용이었기 때문에 저는 특히 재밌게 들었습니다. 복소적분을 할줄안다는게 제 앞으로의 공부에 어떤 도움이 되는지는 사실 잘 모르겠긴 합니다.
  • 학점은 A+ 받았습니다. 코로나버프가 살짝 있었던듯 합니다.

수치선형대수

  • 2021년 1학기 (7학기차) 에 수강했습니다. 제가 학기 끝나고 쓴 학기 후기에서 얘기했던게 있어서 그대로 가져옵니다.
  • 수리과학부 수치해석 루트의 메인 과목입니다. MATLAB 또는 Python을 이용한 프로그래밍도 해야 하고, 과제의 양이 정말 충격적으로 많았는데 그만큼 많이 배웠다고 생각합니다. 중간고사 때까지는 사실 많은 내용을 어디서 주워들은 것들이라고 생각했었는데, 중간고사를 보고 딱히 그렇지 않음을 깨달은 뒤 (…) 기말고사는 열심히 공부하고 봤습니다.
  • 간단히 요약하자면, 행렬에 대한 알고리즘을 배우는 과목입니다. numpy의 수많은 알고리즘들을 그대로 가져다 쓸수도 있겠지만, 누군가는 그런것들을 만들어야 하니까요. 예를 들어, 1000 * 1000 행렬의 eigenvalue를 어떻게 구할지, eigenvalue 전부가 아니라 몇개만 필요하다면 어떻게 구할지… $Ax = b$는 정해진 해 $x = A^{-1} b$ 가 있지만, 세상에는 감히 역행렬을 구할 시도조차 할 수 없는 사이즈의 문제들이 있습니다. 그렇기에 iteration method 등 여러 clever 한 알고리즘들을 써야 하는데, 그런 부분들을 배웁니다.
  • 후반부 내용들은 굉장히 새로웠습니다.
  • 과제를 하다 보니 매트랩도 좀 배울 수 있었습니다. 파이썬/매트랩 선택인데 저는 파이썬을 할줄 알았지만 교재가 매트랩이라 매트랩 쓰는게 정신적으로 덜 고통스럽습니다.
  • 학점은 A+ 받았습니다. 졸논 주제도 이쪽이 되지 않을까 싶습니다.

4학년 과목

최적화의 수학적 이론 및 계산

  • 2020년 2학기 (6학기차) 에 수강했습니다.
  • 중간고사 때까지는 제대로 공부를 못 했습니다. 기말고사 전에는 수학과 16학번의 지인과 함께 스터디 식으로 책에 있는 거의 모든 연습문제를 풀어봤고, 증명들 따라가 봤는데 많은 도움이 되었습니다
  • Convex optimization (Boyd 저) 은 한 5주 정도 Part 1만 나갔고, 그 후에는 교수님께서 저술하신 책으로 주로 monotone operator를 이용한 내용들을 나갔습니다. (Convex도 중요하게 쓰이기는 한다) ADMM 등 알고리즘들을 엔지니어로써 사용하기는 하더라도 그 이면의 원리나 수학적인 이론, 수렴성의 증명과 조건 등등에 대해 명확하게 이해하기가 쉽지 않은데, 그런 틀을 잡을 수 있는 과목이었다고 생각합니다. 해석학적인 베이스가 조금 더 있었다면 훨씬 재밌게, 잘 들을 수 있었을 것 같다는 아쉬움은 조금 남습니다.
  • SRG라고 해서, Operator를 기하로 옮겨서 놀라운 유클리드 기하의 원리들을 이용하여 수렴성을 증명하는 생전 처음 보는 내용을 배웠는데, 무려 이 과목을 강의하시는 교수님께서 연구해서 창안하신 내용입니다.
  • 예전에는 공부를 더 했으면 더 좋았을텐데 아쉽다는 말을 티스토리 블로그에 적었었는데, 중간고사때는 소개원실 + 시프, 기말고사는 소개원실 + 소개원실 때문에 더 하고 싶어도 할 수가 없었습니다.
  • LaTeX로 필기노트를 옮긴다면 옮길 과목 1순위입니다.
  • 학점은 A0 받았습니다. 중간고사때 공부를 좀 더 할 수 있었으면 좋았을것 같습니다. Convex Opt의 나머지 내용은 언젠가 따로 공부해봐도 재밌을것 같습니다.

학부 4학년 실변수함수론 / 대학원 실해석학

  • 두 과목을 동시에 2021년 1학기 (7학기차) 에 수강했습니다. 제가 학기 끝나고 쓴 학기 후기에서 얘기했던게 있어서 그대로 가져옵니다.
  • 이 과목을 추천한 수학과 지인을 거의 이틀에 한번씩 욕했지만, 돌이켜 생각해보면 수학과를 복전하면서 이정도 재미와 Challenge는 있어야 하지 않나 싶습니다. 원한다면 수치해석이나 CS스러운 수학과목만 내리 들을 수도 있었겠지만 그러자니 겹치는것도 많고… 대수랑 해석 중 하나를 골라서 좀 높은 레벨의 과목, 본전공생들 수준으로 들을 수 있는 과목을 들어보려고 했는데 해석이 되었네요.
  • 실해석학은 워낙 유명한 과목으로 대학원 1년차 과목임에도 학부생 수강생이 훨씬더 많고 타과생도 많습니다만 제기억에 컴공과는 저밖에 없었습니다. 주로 해석학을 배워야 하는 통계학과, (왜인지 저는 잘 모르겠지만 이론적 공부에는 필요하다고 들은거같은) 경제학과가 많았습니다.
  • Graduate / Undergraduate을 나눠서 GRA / URA로 구분하자면, GRA는 루딘의 Real and Complex Analysis의 앞부분 반정도를 커버하고, URA는 Folland의 Real Analysis를 기준으로 그중 일부를 나갑니다. 두 과목의 가장 큰 차이는 ‘세팅’ 이었다고 생각하는데, GRA는 Locally Compact Hausdorff space X를 기본 세팅으로 두는데 비해 URA의 기본 세팅은 $\R$ 또는 $\R^2$ 입니다. 예를들어 Fourier Series를 이해하기 위해 URA에서는 직접 적분을 계산하고 Dirichlet Kernel, Fejer Kernel 등등을 이용하여 내용을 진행하는데 비해, GRA에서는 Hilbert space (완비내적공간)에 대한 일반적인 성질들을 공부하고 그걸 $L^2([-\pi, \pi])$ 에 적용하는 식입니다.
  • 그렇다보니 Measure theory, Lebesgue 적분 등을 두가지 관점에서 동시에 보면서 (뚝배기가 박살나긴 했지만) 재밌게 공부할 수 있었습니다. 종합해서 해석학에 대한 이해를 높일 수 있었다고 생각합니다.
  • 다만 저처럼 수학을 찍먹할 사람이면 모를까, 수학 전 분야에 대한 이해를 좀 가져야 할 수리과학 전공생들에게 권할만한 테크인지는 잘 모르겠습니다. Redundancy가 있는건 사실이니까요. 저는 복수전공자니까 전필만 듣고나면 제가 듣고싶은거 적당히 골라듣고 챙기면서 움직여도 뭐 되지 않을까요.
  • Measure theory를 공부하게 된 계기는, 3학년 2학기 때 수강했던 최적화 이론입니다. 최적화 이론에서 Martingale 등 놀라운 이론들을 통해 수렴성을 얻는게 좀 있었는데, 도대체 수렴하면 수렴하는거지 Almost surely converge한다는건 무슨소리인가??? 에 대해 답할 수 있게 되었습니다. 최적화이론 수업 이후 조언을 구하였을 때, measure theory와 stochastic differential equation에 대한 공부가 최적화 분야의 엄밀한 이해에 도움이 될 것이라는 조언을 얻을 수 있었습니다.
  • 학점은 대학원 실해석은 A+, 학부 실변수는 A0를 받았습니다. 명확히 실해석이 더 상위 과목임에도 학점이 이렇게 된 이유는 단순히 실해석 시험이 좀더 제 스타일에 맞았기 때문입니다. ㅋㅋ!