컴퓨터공학

컴퓨터 공학 #2 컴퓨터 공학과 뭐 배우나요?

연봉1000억 2024. 1. 22. 21:16
컴퓨터 공학과에서는 뭘 배울까?
컴퓨터 공학과에서는 무엇을 배우는지 알아야 공부를 하고 검색을 할 수 있다. 또한 미래에 취업이나 혹시나 모르는 사업기회를 잡기 위해서 컴퓨터 관련 학과의 졸업 증명서가 필요하다.
이번 글에서는 컴퓨터 공학이 도대체 뭐고 어떤 것들이 있는지 찾아볼까 한다. 

 

1-1 컴퓨터 공학을 배우는 시기

 

컴퓨터 공학은 일반적으로 초등학교, 중학교, 고등학교 때 배우지는 않고 대학교 학사과정을 통해 배우게 된다. 왜냐하면 컴퓨터 공학에서는 프로그램을 만들기 위해 코딩을 배우는 데 중점이 있는 것이 아니라 컴퓨터의 정보 통신 이론을 이해하고 구현하기 위한 목적이 더 우선되는데 이 난이도가 일반적인 초,중,고 학생들이 쉽게 할 수 있는 것이 아니기 때문이다.

 

1-2 컴퓨터 공학과를 가기 위해 먼저 공부해야 하는 과목들

 

당연한 이야기지만 컴퓨터 공학을 공부하기 위해 필요한 과목들이 있다. 영어와 수학, 과학이 필요하다. 영어를 공부하는 이유는 인터넷 기술을 처음으로 만들고 운영하여 기반을 만든 곳이 미국이며 당연히 정보통신체계는 영어로 되어 있다. 마찬가지로 수많은 어플리케이션과 거대한 글로벌 서비스 회사들은 미국 회사인 경우가 많다.

 

그래서 한국어로 되어 있는 개발 문서들이 있지만 대부분 영어로 되어 있다. 한국어로 번역된 책들이나 자동 번역기를 통해 읽어볼 순 있지만 명확한 이해나 이후에 설명을 하기 위해선 영어 능력이 필요하다. 일단 회화보다는 읽고 듣는 능력이 더 중요하지만 이후에 다른 취업 시장을 노리기 위해선 회화 능력도 갖춰야 한다.

 

수학과 과학의 경우 학사 졸업생들이 하는 일들에서 크게 쓰이는 일이 없다고 하지만 선형대수학, 이산수학을 배워야 이후에 AI, 알고리즘을 이해할 때 도움이 됩니다. 또한 그래픽에 관련된 프로그램의 경우 기하학이 필수입니다. 드론과 같은 로봇틱스의 경우 각종 공학 수학들이 뒷받침이 됩니다.

 

로봇과 소프트웨어, 그리고 수많은 반도체 부품들, 전자 회로 뿐만 아니라 자동차에 들어가는 수많은 전자 장비들.. 금융 소프트웨어의 경우 각종 경제 지식들 또한 필요합니다. 그래서 컴퓨터 공학은 거대한 IT 시장의 기초이며 수많은 분야들이 접목되었을 때 가치를 창출하게 됩니다.

 

결국 컴퓨터 공학은 기초 공부라고 하는 사람도 있습니다. 컴퓨터 공학은 결국 정보 산업이며 정보는 수많은 분야를 다룰 수 있기 때문입니다. 결국 나중에 특정 분야의 전문가로 활약하는 것을 꿈꾸게 됩니다. 점점 분야가 좁아진다고 표현하는데 그 덕분에 더 더욱 전문성을 가지게 됩니다.

 

참고로 보면 좋은 사이트 

https://www.career.go.kr/cnet/front/base/major/FunivMajorView.do?SEQ=569

 

[커리어넷] 학과정보 : 컴퓨터공학과

500여개 이상의 다양한 직업에 대한 유용한 정보

www.career.go.kr

 

1-3  한국 취업 시장이 어렵다는데 걱정 됩니다.

최근 어느 한 SI 중소기업 신입 개발자 채용에 500명이 몰렸던 일이 화제가 되었습니다. 지금 공부를 시작하는 사람들에게는 내가 나중에 취업 시장에 나갔을 때 취업 시장이 당연히 좋으면 좋겠지만 몇년 사이에 어떤 일들이 생겨서 취업 시장이 어떻게 될지는 아무도 모르는 것이기 때문에 본인의 의지대로 선택하시는 게 중요하다고 말하고 싶네요..

 

이러한 고민은 사실 대학교를 진학하고 반수를 하는 학생들에게도 나타납니다. 지금 내가 반수를 해서 더 좋은 대학을 갈지 , 아니면 전과를 하거나 이미 다니고 있던 대학에서 다른 대학으로 편입하는 학생들이 흔히 하는 고민입니다. 물론 편입을 하거나 반수를 해서 무조건 성공한다는 보장도 없습니다.

 

그렇지만 확실하게 한 가지 말할 수 있는 것은 "자신이 선택한 분야에서 최고가 되려는 노력을 계속해서 해야 한다는 것"입니다. 또한 이전 글에서 언급한 컴퓨터 공학 공부를 해야 하는 이유와 일맥상통합니다. 이러한 걱정은 학습 동기가 약하기 때문에 생기는 고민입니다.

 

2. 컴퓨터 공학과 순위

수많은 대학 기관에서 컴퓨터 공학을 가르친다.  그렇다면 세계 최고의 대학과 한국 최고의 대학은 무슨 차이가 있으며 컴퓨터 공학을 가르치는 좋은 강사진들은 어떤 사람들이고 어떻게 좋은 수업을 제공하는지 알아볼 필요가 있다. 하지만 질 좋은 교육환경은 누구에게나 제공되는 것이 아닌데 어떻게 이 차이를 극복할 수 있을 것인가?

 

이러한 질문은 매우 중요한 교육 마케팅 수단이 되기도 한다. 아래의 표들은 모두 교육기관을 평가하는 업체에서 진행한 것일 뿐이다. 최상위권의 대학의 교육의 질을 명확하게 구분하는 것은 최고의 학자들을 비교하는 것이기 때문에 매우 어려운 일이지만 그들조차 인정하는 업적이 그 대학에 있다면 그 분야만큼은 세계 최고이지 않을까.     

2-1 국내 대학 컴공과 (취업률 기준)

수많은 컴퓨터 공학과를 운영하는 대학들의 순위.. 재밌는 사실은 컴공과를 나온다고 해도 취업률이 낮은 곳이 있다는 것이다.여기서 알 수 있는 사실은 컴공과 졸업장만 있다고 해서 취업이 되는 것은 아니라는 것이다.

2-2 국내 대학 컴공과 및 세계 대학 컴공과 순위 (타임즈 고등교육 기준) 

하지만 이러한 대학 평가는 지표에 따라서 수요자들의 입맛에 따라 취사선택할 수 있다는 단점이 있다.

 

카이스트/서울대/연세대/고려대/성균관대 최상위권 대학들
굉장히 신기하게도 옥스퍼드 대학교가 1위이다. 물론 대부분은 미국 대학들이 차지하고 있다.

 

옥스퍼드 대학교가 왜 세계 1위의 컴퓨터 공학 대학인지 좀 궁금해졌는데 2차 세계 대전 속에서 독일군의 암호를 풀어 영국군 및 연합군의 승리에 기여하는 정보를 제공한 앨런튜링의 학교가 바로 영국의 옥스퍼드 대학교이다. 박사 과정을 수료했으며 누구나 인정하는 업적을 남긴 천재 컴퓨터 과학자이자 암호학자이다. 

 

우·러 전쟁, 대만·중국 갈등, 예맨·하마스 중동 전쟁이 터지고 있는 현대 사회에서 앨런 튜링의 업적은 더 더욱 조명받을 필요가 있다. 또한 매우 흥미롭게도 6.25 전쟁의 중요한 정보를 제공한 소련 간첩 케인브리지 5인조 중 한명인 도널드 매클린이라는 인물이 있고 애니그마 해독 프로젝트에 참여한 존 케인크로스가 간첩이라는 것을 튜링이 알게 된 것도 재밌는 연결점이다.

 

한국, 일본, 미국, 중국, 러시아, 북한과의 관계가 얽혀있는 동아시아에서 아래의 기사는 재미있는 관점을 제시한다.

컴퓨터 공학을 공부해서 정보를 이용해 전쟁을 막거나 최소화 하는 쪽. 정보를 이용해 전쟁을 만들거나 이로 인해 이익을 보는 쪽.  

 

https://www.joongang.co.kr/article/1686619#home 

 

간첩「매클린」 | 중앙일보

최근 외신은 소련으로 망명했던 한 영국간첩의 조용한 죽음을 전한다. 이름은 「도널드ㆍ매클린」. 전직은 영국 외무성 미주국장. 비록 이젠 신문 속에 파묻힌 이틈이나 33년전 그의 간첩행위는

www.joongang.co.kr

 

 

https://www.yna.co.kr/view/AKR20230908004100075

 

"머스크, 우크라전 개입…확전막으려 위성통신망 스타링크 껐다" | 연합뉴스

(로스앤젤레스=연합뉴스) 임미나 특파원 = 우주기업 스페이스X를 이끄는 일론 머스크가 우크라이나와 러시아의 전쟁이 핵전쟁으로 확대될 것을 우려해...

www.yna.co.kr

 

과연 일론 머스크는 정보를 이용해 전쟁을 막는 쪽일까? 이익을 보는 쪽일까? 아니면 반전으로 이중첩자일까?

 

어찌되었든

 

우리는 언제나 선택을 해야 한다.
결국 자신이 옳다고 생각하는 쪽으로 가게 될 수 밖에 없다.

 

3-1 서울대학교의 컴퓨터 공학과 교육 과목

수많은 교과들이 있는데 4년제 대학교의 교육과정을 따르고 있다.
사실 예전에 가르치지 않았던 신설된 과목도 있고 폐지되거나 수정된 과목들도 있다.

 

 

대학교에서 공부한 것을 나열한 사람의 글이 있는데 확실히 공감되는 말이 하나 있었다.

 

https://brunch.co.kr/@toughrogrammer/9s=09&fbclid=IwAR0J3CMBeniy_Kpr9isdmcguXuMoTfkGGVigoYLboI2A98hOoe-hgO7R128#comments

 

컴퓨터공학과를 다니면서 배운 것

4년가량의 시간 동안 무엇을 배웠을까 | 최근 학교에서 그동안 공부했던 것을 다시 훑어볼 일이 있었다. 공부하는 김에 각 강의에서 어떤 것들을 배웠나 정리해두면 도움이 되지 않을까 싶어서

brunch.co.kr

 

나는 대학교를 어쩔 수 없이 개인 사정으로 중간에 그만두고 공장에서 일을 하는 흔한 고졸 노동자이다. 학원이나 수많은 강의 사이트들을 돌면서 프로젝트를 프레임워크를 중심으로 공부했다. 그래서 클론 코딩을 나름 많이 했는데 하다보면 컴퓨터 공학 지식에 막혀 내가 생각한 부분들을 자유롭게 더 많은 것들을 만들 수가 없었다. 

 

예를들어 웹사이트를 만드는 방식은 과거의 방법들을 써도 상관 없다. 하지만 최신 프레임워크가 등장하고 왜 등장했는지를 알아야 왜 이렇게 만드는 것이 더 좋은지를 설명할 수 있고 더 나은 방법들을 모색할 수 있다. 그렇지만 웹의 구조를 컴퓨터 공학의 지식 없이 설명하는 것은 매우 어려운 일이다.

 

또한 자체 서버를 가지고 자체 서비스를 했을 경우 고객의 요구사항이 생겼을 때 이를 문서화해서 어떤 문제인지 정의 내리고 다른 개발자와 소통할 때 일반적인 용어들로 표현되지 않는 정의 요소를 구체적으로 설명하기 위해서 컴퓨터 공학의 지식은 필요하다.

 

쉽게 말해서 엔지니어와 소통하거나 부려먹기 위해서는
엔지니어들이 알아 먹는 용어를 알아야 굴릴 수 있다는 것이다.
또한 소련 간첩같은 엔지니어가 혹시 존재할 수도 있기 때문에 그들의 말을 이해하는 것은 중요한 일이다.     

 

다른 국내 대학교들(연세대, 고려대 등)의 커리큘럼을 찾아보니 큰 차이는 없다. 대학원 레벨로 올라가면 조금 다르지만 일본에 있는 정보 대학원의 과들도 흥미로운 게 많다. 확실히 새로운 분야는 대학원에 있는 똑똑한 박사과정에 있는 연구원에게서 만들어지는 듯.

 

그래서 박사 과정을 밟으면 사업의 핵심 인력으로 채용 되고 고액연봉자가 되는 것임..

 

3-2 세계 최고의 대학 옥스퍼드 컴퓨터 공학과의 커리큘럼

https://www.ox.ac.uk/admissions/undergraduate/courses/course-listing/computer-science

 

Computer Science | University of Oxford

 

www.ox.ac.uk

옥스퍼드 4학년이 배우는 것들 매우 신기하게도 양자 소프트웨어를 배우는데 찍먹 하는 것 같다. 교육과정 자체는 큰 차이는 없는 듯.

 

나는 Q# 이라는 양자 컴퓨터 언어를 본 적이 있는데 일단 기본 개념 자체가 양자 역학을 베이스로 하고 있어서 매우 이해하기가 어렵다. 그런데 결국 이것은 예전에도 한번 다른 곳에서 말한 적이 있는데 양자 컴퓨터는 결국 연산량과 속도가 기존 컴퓨터보다 더 빠르게 되었을 때를 대비하는 사람들이 공부하거나 혹은 양자 논리를 기반으로 해결해야 하는 문제나 과제를 해결할 때 쓰이는 분야라고 한적이 있다. 

 

그래서 일반적인 직장인이 양자 컴퓨터에 관심을 가지고 이직을 한다는 것은.. 뜬 구름 잡는 미친 사람이거나 양자역학을 혼자 공부해서 무언가를 증명하기 위한 계산이 필요한 사람인 것이다. 어찌 되었든 흥미로운 사람인건 맞다.

 

4. 흔히 보는 개발자 로드맵

매우 유명한 개발자 로드맵이 있다.

 

사실 원본은 영어이며 개발자 붐이 일어나던 초창기에는 이러한 로드맵을 기반으로 광고를 하지 않았다. 그렇다는 건 강의 사이트들이 이러한 로드맵을 기반으로 강의를 만든 다는 것을 알 수 있다. 요즘 신입 개발자들이 공장 찍어내듯이 생산되고 있다는 말이 이러한 로드맵 덕분이기도 하다.

https://roadmap.sh/

 

Developer Roadmaps - roadmap.sh

Community driven roadmaps, articles and guides for developers to grow in their career.

roadmap.sh

원래는 이 로드맵을 만든 사람이 있었는데 이게 너무 유명해져서 따로 웹사이트를 만들었다...

몇년전만 해도 그냥 깃허브에 이미지만 올렸는데 이젠 웹사이트까지 만들어서 제공함. ^..^

 

일반 대학교에서 가르치는 컴퓨터 공학과 실제 현업에서 사용하는 툴(라이브러리, 프레임워크)은 분야에 따라서 매우 다르다. 수많은 언어들이 각 시스템의 목적에 맞게 발전해왔으며 특정 시스템을 개발할 때 다른 라이브러리와 프레임워크를 사용한다.

모든 프로그램은 0과 1이 시작이지만 사람들은 수많은 커뮤니티 만들고 수많은 코드들을 작성했으며 수많은 생태계를 구축하여 정보 사회를 풍부하게 만들고 있다. 당신은 자신이 정한 우선순위에 따라서 하나의 생태계를 선택해 그 업계에 있는 회사를 타겟팅을 해야 한다. 

트렌드에 따라서 특정 생태계의 가치가 올라갈 수 있다. 하지만 반대로 IT 거품은 실제로 존재했던 것이며 이러한 거품이 생기는 원인을 보면 항상 잘 모르는 사람이 이것은 돈이 된다고 말을 하고 다니며 잘 아는 사람이 다른 사람들에게 과장할 때이다.

시간이 지나도 꾸준한 가치를 입증하는 정보 시스템을 만들고 운영하는 회사를 보면 항상 상위권에 있는 거대 IT 기업들이지만 새로운 비즈니스 시장을 만들어 없었던 가치를 만들어 내는 혁명가와 비슷한 따끈 따끈한 스타트업도 존재한다.

어두운 현재 한국 IT 시장에 따끈 따끈한 스타트업이 생길 수 있을까? 만약에 그런 분야가 생긴다면 어떤 준비를 해야할까? 항상 돈을 고점에서 벌고 싶은 개발자들이 가지고 있는 욕망이다. 당신은 선택해야 한다. 당신이 옳다고 생각하는 곳으로...