누구말을 들어보면 "컴공/전산에서는 수학이 그다지 필요가 없다",

또 다른 누군가의 말을 들어보면 "컴공/전산에서 수학이 많이 필요하다"

상당히 혼란이 올 것이다.


내가 해 주고 싶은 말은 '둘다 맞다' 이다. 이게 뭔 소리냐? 모순 아니냐? 귀류법 싸지를 생각이냐고?

사실 이 상황을 제대로 이해하려면, 컴공/전산 필드의 학부교육 및 대학원 이상 과정에서 벌어지고 있는 상황을 이해할 필요가 있다.


컴공/전산 필드의 학부과정은 영미권 표현을 빌어 쓰자면 Computer Science (계산기 과학)다.

아주 러프하게 말하자면, 당장 너의 눈앞의 컴퓨터(계산기)를 추상화 시킨 어떤 객체, 그러니까 도구 그 자체에 대한 것을 다루는 학문이다.

전공기초 및 세부과목을 살펴보자면

- 알고리즘/자료구조

- 컴퓨터 아키텍처

- 운영체제

- 컴파일러

- 네트워크

- 데이터베이스

등이 있다. 물론, 알고리즘이나 자료구조, 네트워크, 데이터베이스 등의 밑바탕에는 굉장히 심플한 수학이론이 깔려있긴 하지만,

솔직히 학부과정 들어올 정도 사람이면 굳이 '수학'이라는 잣대 안 들이대어도 상식수준에서 이해할 만한 심플한 것들 뿐이다.


그런데, 컴공/전산 필드의 대학원에서 주로 하는 연구는 상황이 많이 다르다.

대학원에서 주로 하고있는 내용에 대해 또 영미권 표현을 빌어쓰자면 Computational Science (계산 과학)이다.

계산과학이라고 해도 굉장히 다양한 분야가 있는데, 대충 보면 아래와 같은 것들이 있다:

- 패턴인식, 기계학습, 컴퓨터 비전

- 컴퓨터 그래픽스, 계산기하학

- 음향 및 음성 인식, 합성

- 수치해석, 시뮬레이션

- 암호이론

- 자연언어 처리

- 양자컴퓨터 및 알고리즘

그러니까, 앞서말한 컴퓨터를 어디까지나 도구로 사용해서, 특정한 현상/데이터 등을 수학적인 객체로 만들어서 연구하는 것 들이 거의 전부다.

이런 세부과목으로 가면 당연히 수학이 중요해 질 수 밖에 없다. 물론 이론 그 자체는 수학과 식으로 하는건 아니고 약간 겉햝기 비슷하게 하긴 한다만...

그리고 이들 각각분야에서 필요한 수학들도 상당히 다르다. 가령 암호이론 같은데에 연속계 수학 공부한 것이 크게 도움이 안 될거다.

(앞으로 뭐 그런 새로운게 튀어나온다면 또 모르겠다만)


뭐 지금 당장 밖에서 보자면 그노므 DL 네트워크 몇층이니 구조 여기저기 바꿔서 장난질 하는 부류의 것이 연구랍시고 눈에 많이 띄긴 할건데,

깊이 들어가면 꼭 그 따위 연구만 있는 게 아니고 새로운 이론기반을 만든다던가 하는 연구들도 있고 분야안에서도 그런 것들을 더 중요하게 생각들 한다.


한편, 앞서말한 계산기과학의 내용들을 연구하는 교수들도 여전히 있긴 하지만,

(어폐가 있지만) 그런 것들은 이제 이론으로서는 minor incremental 에 가까운 것만 남아있을 뿐인지라,

학계에서는 거의 영감들이나 이런 거 하고 있고, 또 그런 사람들이 퇴관하고 나간 자리를 메꿀 신규교원들 찾을 정도일 뿐의 수요만 있을 뿐이다.


그러니까 3줄 결론

- 컴공/전산에서 필요한 수학에 대해 인식의 갭이 생기는 건, 학부와 대학원에서 하는 게 다르기 때문이다.

- 학부 취업만 할거면 수학이 크게 중요하지는 않다. 하지만 대학원 이상의 연구를 하고자 하면 수학이 더욱 중요해진다.

- 대학원 이상에서 필요한 세부수학이 매우 달라지니, 무작정 공부하는 것 보다는 목표를 잡아서 하는걸 추천한다.