E,AHRSS

컴퓨터공학과

last modified: 2015-05-19 06:13:17 Contributors

Contents

1. 학과에 대한 설명
2. 프로그래머와는 다르다! 프로그래머와는!
3. 파생학과
4. 컴공과에 대한 착각
4.1. 컴퓨터 수리를 잘한다.
4.2. 컴퓨터에 대해 모르는 것이 없다
4.3. 수학을 잘한다.
4.4. 게임을 만들 수 있다
4.5. 해킹을 할 수 있다.
4.6. 전자장비를 잘 다룬다
4.7. 게임을 잘한다 혹은 게임하려고 컴퓨터공학과 왔다
4.8. 한글 및 파워포인트나 워드프로세서등에 능통하다.

1. 학과에 대한 설명

절대로 컴퓨터수리공학이 아니다!! 당연히 게임학과도 아니다!! [1]

컴퓨터공학을 공부하는 학과. 컴퓨터과학과, 전산학과, 컴퓨터 소프트웨어과 등으로도 불린다.

80년대~90년대 초까지는 전자계산학과 또는 전산학과 등으로 불렸으나[2] 요즘은 거의 모든 대학이 컴퓨터OO과 등의 이름으로 쓴다. 이름이 바뀔 당시 컴퓨터라는 것이 단순 전자계산기의 수준을 넘어 대중화되기 시작했기 때문이기도 하지만, 컴퓨터'공학'과라고 이름을 바꿈으로써 공학계열 등록금을 받을 수 있기 때문(...)이라고 한다.[3] 참고로 전문대학에서는 컴퓨터공학과, 컴퓨터과학과라는 이름을 쓰지 못한다. 이유는 전문대는 실용적인 직업교육을 하는 곳이기 때문. 보통 컴퓨터정보과, 컴퓨터 정보처리과, 컴퓨터소프트웨어과 등으로 명칭한다.

입학생 중 컴퓨터공학과만 바라보고 입학한 학생이 꼭 한두명씩은 존재한다. 이들은 학교 내에서 능력자, 괴수 등으로 불리며 프로그래밍 못하는 양민들의 선망의 대상. 보통 초등학교 입학 이전부터 컴퓨터에 관심을 갖고 자기 스스로 공부하여 대학교에서 꽃을 피운다. 그러나 그 능력자가 우유부단한 성격이라면 곧 과제 셔틀이 될 수 있으니 주의(...). 보통 컴공과에서 기초적으로 배우는 베이직이나 C언어 등은 이미 다 알고있기 때문에 이들에겐 누워서 떡먹기.

이쪽에 취미가 있는 학생이라면 굉장히 수월하게 커리큘럼을 이수할 수 있지만, 그것도 1, 2학년 과정까지의 이야기이다. 상위 과정으로 올라갈수록 직접 키보드를 두드리면서 코딩하는 과목은 적어지기 때문. 그나마 있는 과목도 설계 과목이나 네트워크 과목 등 코딩 실력 자체로 평가하는 과목이 아닌 경우가 대다수이고, 아예 컴파일러 작성 등 과제가 독학으로 커버할 수 없는 영역에까지 이르게 되면 누구나 평등하게 머리를 쥐어짜게 된다.(...) [4] 따라서 프로그래밍에 재능이 있는 학생이라도 대학 생활 내내 좋은 성적을 유지하려면 상당한 노력이 필요하다.[5] 프로그래머 항목을 보면 알겠지만, 좋은 코더가 좋은 프로그래머가 되는 것은 아니다. 분발하자.(?)

한국 대학의 공과대학 중에서는 대부분의 학교에서 재료공학과 함께 전화기 다음 가는 경쟁률을 보여준다.[6] 특히 전자공학과는 아주 밀접하고도 가까운 공학. 배우는 것에 차이는 있지만 서로가 뗄 수 없는 관계인지라.. 그래서 전자/컴퓨터를 둘다 전공하거나 부전공을 하는 사람이 많다. 아예 과가 묶여있는 학교도 많고 건물을 같이 쓰는 경우도 많다[7].

2. 프로그래머와는 다르다! 프로그래머와는!

흔히 프로그래밍을 배우는 학과라고 생각하지만, 그것은 마치 경제학과가 펀드매니저를 양성하는 학과라거나, 법학과사법시험 합격 요령을 배우는 곳이라고 생각하는 것과 같다. 컴퓨터공학과는 컴퓨터 공학이라는 독립적인 학문을 배우는 학과라는 것을 명심하자. 게다가 컴퓨터 과학은 애초에 단순히 컴퓨터라는 기기에 대한 학문으로 한정되지 않는다. 컴퓨터 과학에서 컴퓨터란 천문학에서 망원경 이상의 것이 아니다.

이를 일컫어 Hal Abelson은 컴퓨터 과학(Computer science)이라는 이름이 이 분야를 소개하기에 나쁜 이름이라고 한 바 있다. 컴퓨터 과학은 사실 과학이 아니며 [8] 컴퓨터랑 그렇게 많이 관련 있는 것도 아니라나(..). 마치 물리학자가속기에 대한 학문도 아니고 생물학현미경과 페트리 접시(..)에 대한 학문이 아닌 것과 마찬가지인 셈.

실제 프로그래밍을 배우는 과목은 몇 개 안 되고, 대부분은 도대체 이걸 배워서 어디에 써먹을까 싶은 수학적, 이론적인 과목 혹은 진짜 수학 과목들이다. 코딩을 위한 테크닉 같은 건 알아서 배워야 한다. 그러므로 혹시 이쪽으로 뜻이 있는 학생이 있다면 입학 후 과내 스터디 동아리 활동을 적극 추천한다.

물론, 아무래도 프로그래밍이 커리큘럼에 포함되는 이상 일반인보다는 잘할 확률이 높긴 하지만 다 잘하는건 아니다. 어느 학과든 대체 이 인간이 이 학과를 왜 왔는지, 뭐하러 다니고 있는지 알 수 없는 인간이 있으며 컴공과도 예외는 아니다. 전문대학의 전자회로분야 공과계열이 기계를 다루는 법이 배울 때, 전자공학은 전자회로의 본질을 탐구하고, 물리학과 경제학, 심지어 컴퓨터공학 마저도 수학을 어떻게 써먹을 지 배울 때, 수학은 수학 시스템의 본질을 배우는 것처럼, 수많은 프로그래머들이 코딩을 해가며 배울 때, 컴퓨터공학은 컴퓨터와 시스템, 소프트웨어의 본질을 탐구하는 학문이다.

실제로 하드웨어쪽과 관련이 깊은 프로그래밍은 전자과 학생이 더 잘하는 경우도 많고, 산업공학과도 학과 특성상 프로그래밍을 아주 빡세게 배우기 때문에 이쪽도 실력이 만만치 않다.

즉, 컴퓨터 공학자 ≠ 프로그래머, 코더.

고로, 컴퓨터공학 전공자들 입장에서 프로그래머/코더는 그냥 프로그래밍을 좀 배운 사람이라 인식하고, 컴퓨터 공학을 좀 깊이 전공해서 일하는 사람은 "Computer/Software Engineer" 라고 칭한다. 물론 주위 시선에선 전자공학을 용접하는 사람으로 보듯이 걍 코딩덕후든, 아마추어든, 전문대학에서 프로그램을 배운 프로그래머든, 컴퓨터 공학자든 뭉뚱그려 프로그래머로 보일 뿐... 안습

3. 파생학과

컴퓨터공학과에서 파생된 과로는 컴퓨터미디어과, 게임학과 등이 있지만, 이 둘은 컴공과와 확연히 다르다. 두 학과 모두 교양과목과 C 언어나 이산구조 등에서 컴공과와 과목이 겹치지만, 그 이후부터는 컴퓨터미디어과는 운드포지, 리미어 등 영상 편집 프로그램 등을 통해 미디어를 제작하는 것을 배우고, 게임학과는 게임 기획이나 게임 개론등을 배우고, 이렉트 XXNA 등을 이용하여 게임을 직접 프로그래밍하는것을 배운다.

4. 컴공과에 대한 착각

다른 학과나 직종들도 그렇지만, 한 분야에 종사하면 관련된 일들은 모두 다 잘 할수 있을 것이라는 막연한 기대감을 품는 사람들이 많다. 기타리스트가 노래도 잘 할것이라는 그럴싸한(?) 편견에서부터 음악 교재 파는 사람이 음악 연주도 잘할 것이라는 아닐 것 같은데 실제로 그런 오해가 있는 경우까지 하여간 종사 직종 관련 오해는 다양하다. 컴공과도 마찬가지로 '컴퓨터를 배운다'는 점 하나 떄문에 온갖 오해에 시달리곤 한다. 이하 컴공과에 관련된 오해 일람.

4.1. 컴퓨터 수리를 잘한다.

jh컴공과.jpg
[JPG image (Unknown)]


대표적인 컴공과에 대한 착각 중 하나이다. 질문자가 컴맹일 가능성이 매우 커보인다.그냥 엿먹이려는거 같기도 하지만

위 사진의 주 내용은 블루스크린이 나와서 컴퓨터 본체를 분해한 뒤 컴공과 다니는 친구에게 물어보는 것이다. 물론 어느정도 컴퓨터 관련 지식이 있다면 컴공과를 다니지 않아도 위 사진만 보고는 절대 원인을 알 수 없으며 고칠 수 없다는 것은 누구나 다 알 것이다.(...)

이상하게도 유독 컴공과 출신은 특히 컴퓨터 수리 콜이 자주 오는 편이다. 하지만 수리도 나름대로 전문분야이다. 컴퓨터의 고장 원인에도 여러가지가 있기 때문에 컴공과라고 딱히 대단할 것은 없다. 물론, 컴퓨터에 관심이 있어서 입학한 능력자층들이 있기도 하고 컴퓨터 실력은 컴퓨터를 접하는 시간이 많으므로 문외한들 보다는 나을 수 있다. 하지만 의외로 컴퓨터 포맷조차 못하는 사람도 간혹 있다.
jh컴공과티셔츠.jpg
[JPG image (Unknown)]

No, I will not fix your computer.
해석 : 아니, 난 네 컴퓨터를 고치지 않을 거야.
이걸 까기 위한 티셔츠

4.2. 컴퓨터에 대해 모르는 것이 없다

컴퓨터의 응용 분야가 굉장히 넓어졌기 때문에 컴공과라고 해도 한계가 있다. 예를 들어, 하드웨어쪽 컴덕지식이 풍부하더라도 프로그래밍까지 능수능란하게 하라는 법은 없으며, 그 역도 성립한다. 물론, 정말 다 알고 있는 괴수들도 있지만, 그건 그 사람이 컴덕이어서 그런거지 전산학과여서 그런게 아니다.

4.3. 수학을 잘한다.

바로 그걸 시키기 위해서 컴퓨터가 있는 것입니다!
컴공과의 수학은, 아니 대학에서 배우는 현대수학은 일반인들이 생각하는 고교수학하고는 조금사실은 매우 다를 수가 있다. 수학이라기보다는 연산에 가까운 수학1, 2, 미분적분을 직접 배우기보다는, 한차원 위에서 그것들이 이루어지는 시스템에 관한 연구가 주로 이루어진다. 현대수학에서 그것들이 돌아가는 시스템의 논리적인 구조를 배운다면, 컴퓨터 과학에서는 그것들이 돌아가는 시스템의 알고리즘 측면을 배운다고 보면 될것이다.

다만, 모든 시스템이 알고리즘적으로 구현가능한것은 아니다. 아니, 수학에서 사용되는 시스템중 극소수만이(극소수라 해도 무한히 많은것은 매한가지다.) 알고리즘적으로 구현이 가능하다고 볼 수 있다. 그리고, 그것들중 쉬운것들을 보통 이산수학으로 묶어서 배운다.

같은 수학이라 하더라도 수학 체계의 원리를 파고들어가는 수학과와는 달리 어디까지나 공학이기 때문에 수학을 거의 도구로써 사용한다. 따라서 정리-증명-정리-증명의 반복인 수학과와는 달리 정리 도출 과정이 엄밀하기보다는 직관적이고 방법 및 계산 과정을 위주로 학습한다.

4.4. 게임을 만들 수 있다

이런 오해는 컴공 학생이 프로그래밍을 잘한다는 착각과 비슷하다. '야구 게임'같이 고작 타자 몇자 치는걸 게임으로 봐줄수있다면 인정. 물론 학교 정규 커리큘럼 이외의 공부를 조금만 하면 똥피하기(...)같은 슈팅게임 같은 건 쉽게 구현할 수 있고 네트워크 대전이 가능한 장기 같은 걸 콘솔 화면에서 구현하는 용자도 가끔 나타난다. 다만 우직하게 커리큘럼만 판다면 무리.애초에 취직을 포기한 게 아닌 이상 학교 강의만 듣고마는 컴공돌이는 흔치 않지만 대학에서 배우는것들은 사실 학문적인 부분이 대부분이고, 실제 쓸만한 프로그램을 만드는 실용적인 부분은 거의 독학으로 습득해야 하는경우가 많다.

4.5. 해킹을 할 수 있다.

물론 해킹 할 수 있는 사람들이 타과에 비해 많은 수는 있지만 모두 할 줄 아는 건 절대 아니고 극소수에 불과하다. 일반인이 생각하는 해킹이라면 툴만 구하고 호스트 컴퓨터에 감염만 시키면 초딩도 할 수 있다. 반대로 제대로된 해킹을 하는 것은 컴공과생에게도 매우 어렵다.[9]

4.6. 전자장비를 잘 다룬다

전자공학도에게 부탁하세요 호갱님 전자공학도도 잘 몰라요
하지만 임베디드 전공이라면 어떨까 임.베.디.드

물론 다루는 전자장비라고 해봐야 MP3핸드폰 정도인 일반인 보다는 낫겠지만, 주전공이 아닌 이상은 그렇게 잘 다루지 못한다. 보통의 컴퓨터 공학은 H/W는 커리큘럼에서 거의 없다. 제너다이오드, MOSFET 같은 전자소자의 이름도 모르고 졸업하는경우도 생긴다.

4.7. 게임을 잘한다 혹은 게임하려고 컴퓨터공학과 왔다

아무래도 일반인들이 컴퓨터를 사용하는 용도가 문서작업이나 웹서핑 아니면 게임이기 때문에 생긴 이미지인 듯. 컴퓨터 공학과와 게임실력과는 관계가 없다. 또한 컴퓨터 공학과와 게임 플레이와도 관계가 없다. 게다가 게임하거나 만들려고 온 사람보다는, 수능점수에 맞춰서 온 사람이 배는 많을것이다. 하지만 수업없는 시간대의 실습실이 게임방 화 될 확률은 높다

4.8. 한글 및 파워포인트나 워드프로세서등에 능통하다.

당신이 만약에 초ㆍ중ㆍ고등학교 때 자신의 희망 진로가 컴퓨터공학이라고 선언하였거나 교양 과목 조원에게 컴퓨터 관련 학과라는 것을 밝히면[10], 축하한다. 당신은 이제부터 조별과제 PPT담당이다.(..)

컴퓨터공학 전공자도 고등학교 때까지는 프로그래밍을 배우지 않은 학생들도 많고, 컴퓨터공학과가 파워포인트 잘 다루는법 배우는 학과는 아니다. 애초에 그다지 접근성이 낮지 않은 프로그램이기 때문에 크게 지식의 괴리에 따라 실력의 차이가 느껴지지도 않는다. 조금만 생각해봐도 프레젠테이션을 잘 만드는 것과 컴퓨터 잘하는 건 전혀 상관이 없다는 걸 알 수 있는데, 프레젠테이션 잘하는 사람은 컴퓨터 잘하는 사람이 아니라 디자인 잘하는 사람 내지 말빨 좋은 사람이다.
----
  • [1] 다만 흔히 말하는 컴퓨터 게임의 '게임' 말고, 경제학의 분야중 하나인 게임이론의 발전에는 컴퓨터공학의 공헌이 매우 컸다. 하지만 사람들이 흔히 말하는 게임은 그 게임이 아니기 때문에(..)
  • [2] 서울대학교는 특이하게도 전자계산학과(컴퓨터공학과)와 전산학과가 둘 다 있었는데, 전자는 공과대학, 후자는 자연과학대학 소속이었다. 2000년에 컴퓨터공학부로 통합되었다.
  • [3] 보통 대학교에서는 등록금이 문과 < 이과 < 공과 < 예체능 < 의학 순이다.
  • [4] 하지만 컴파일러 등의 과제도 종종 1인용 과제로 나오기도 한다. 어차피 기계어부터 짜는 거 아니니까 생각보다는 복잡하지 않다...
  • [5] 물론 이건 학교 커리큘럼에 한정된 이야기일 뿐이고, 기업에서 실시하는 각종 공모전닥치고 결과물이기 때문에 재능있는 학생들은 이런 부분에서 스펙을 쌓는 것이 수월하다.
  • [6] 경쟁률만 보여준다. 입결은 뭐... 컴퓨터공학과 관련 직업이 한국에서 위상이 그럭저럭이라서 그런지 허수가 많다. 컴퓨터 중독자들 사이에서 지원률만 높은 모양(?) 그러니 부심은 부리지 말자 한국에 웬만큼 제대로 된 대학에서 공과대학으로 전자/기계/화공/컴공/신소재/건축토목 등은 거의 기본으로 있다. 이 대학에는 재료공학 및 건축토목계열이 없으니 유의할 것
  • [7] 전자전기컴퓨터공학부(Electrical Engineering and Computer Science, EECS) 형태로 개설되는 경우는 많으나 실제로 복전이나 부전공으로 하는 사람은 드물다. 전자공학에서 컴퓨터공학으로 오는 건 쉬울지라도 컴퓨터공학에서 전자공학으로 넘어가는 건 어려운 게 주된 이유이다. 게다가 서로 사용하는 수학도 다르기도 하고 애당초 공학이라는 학문 자체가 당장 하나만 공부하기도 벅차다. 그래도 두 마리의 토끼를 잡고 싶다면 해봐라. 분명히 헬게이트가 열릴 것이다. 하지만 몇몇 low-level 분야의 경우 컴퓨터공학과 전자공학 두 학문을 모두 알고 있다면 (세부전공에 한해서라도) 상당한 메리트가 될 수 있다. 생각만 있다면 도전해보는 것도 경험상 나쁘지 않다. 여담으로 중앙대학교에서는 부전공이 졸업요건이 아닌 지라 컴공 → 전전 부전공을 하면 아름다운 대학 생활을 보낼 수 있다.
  • [8] 자연 현상을 관측하고 원리를 밝히는 것이 아니기 때문.
  • [9] 하지만 넓은의미로의 해킹이면 한번쯤은 해야 할 수도 있다. 예를 들어서 소스가 공개되지않은 프로그램에 기능을 추가할때 해야하는 리버싱 이라든가...
  • [10] 자신을 보는 그들의 눈빛이 한순간에 달라짐을 느낄 수 있다