디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

컴퓨터공학과 신입생들을 위한 조언

알파실 2007.01.11 13:32:37
조회 2781 추천 4 댓글 17

게시판에 보니 컴퓨터공학과에 합격하신 07학번 새내기 분들이 종종 보입니다. 일단 동국대학교 컴퓨터공학과에 입학하신 것을 선배로서 환영하며, 주제넘은 조언을 몇 가지 해볼까 합니다.

일단, 컴퓨터공학과는 컴퓨터를 "사용"하는 법을 배우는 학과가 아닙니다. 입학해서 워드치는거나 배우겠거니 하는 생각이었으면 3월 2일부터 전과를 준비하셔야 합니다. 실제로 많은 대부분의 학생들이 "컴퓨터공학과" 가 대체 무엇을 배우는 곳인지 모르는 상태로 입학합니다. 그리고 나중에 3~4학년쯤 되서 후회하는 경우도 많고요.

컴퓨터공학과는, 쉽게 이야기하자면 "프로그래밍" 을 배우는 학과입니다. 아래한글 같은 프로그램을 만들건, 게임을 만들건, 웹사이트를 만들건, 그 프로그래밍을 배웁니다. 하지만 실제적으로 그것을 만드는 방법을 배우지는 않습니다. 그것을 위한 기본적인 지식을 공부하는 학과입니다.


그렇다면 그것을 위해 미리 공부해 둬야 할 만한 것이라면 뭐가 있을까요? 프로그래밍에서 가장 중요한 것은 "논리적인 사고" 입니다. 제 짧은 지식으로는, 컴퓨터 프로그램이란 논리적인 사고와 행위의 집합입니다. "만약 A가 B이고 B가 C라면 A는 C이다" 와 같은 거죠. 어디서 많이 본 거죠? 수학의 논리학에서 자주 보게 됩니다. 수학은 중요합니다.

물론, 컴퓨터공학과의 전공과정 중에 수학이 실제적으로 쓰이는 일은 별로 없습니다. 2학년 이후로 4학년때까지 전공과목 시간에 수학문제 풀 일은 거의 없습니다. 그러나 컴퓨터공학의 전신은 전산학(전자계산학)이고, 전산학의 전신은 수학입니다. 컴퓨터공학에서 기초중의 기초라 할 수 있는 알고리즘은 100% 수학이라고 볼 수 있습니다. 물론 일반적으로 생각하는 수학과는 다릅니다. 미분, 적분, 삼각함수, 이런거 전공시간에 눈씻고 찾아봐도 엔간해선 안나옵니다. 하지만 수학이 학문에 "녹아" 있습니다. 어제 제가 문제를 풀었던 과정을 하나 예로 들어 볼까요.

"n개의 정수가 random 함수로 발생된 집단을 X라 할 때, X를 2개의 집단 A와 B로 나누어서 A에 속한 원소들의 합 a와 B에 속한 원소들의 합 b를 구한다. 이때 a와 b의 차이가 주어진 기준값 T보다 작게 X를 나눌 수 있는지를 결정하는 알고리즘을 작성하시오."

알고리즘 과목의 실습문제입니다. 얼핏 보면 무슨 말인지도 모르겠지만, 집단 X는 전체집합이며, 그것을 둘로 나눈 집단이기 때문에 A는 X의 부분집합, B는 A의 여집합입니다. 결국 이 문제는 어떤 집합의 모든 부분집합을 구하는 문제입니다. 그러면 여기서 한발짝 더 나가면, 원소가 n개인 집합의 부분집합의 개수는 2^n 개입니다. 왜 2^n 일까요? 부분집합은 각 원소가 존재하느냐(1)/존재하지 않느냐(0)의 2가지 상태를 가지기 때문이라고 생각할 수 있습니다. 그러면 모든 원소에 대해 1/0 의 상태를 변경하는 조합을 시도하면 부분집합들을 구할 수 있습니다.

이런 식입니다. 집합은 중학교 1학년 때 배우죠. 그러나 저 문제에서 수학의 집합을 떠올리고, 그것으로 풀어낼 생각을 해내는 것은 쉽지 않습니다. 그래서 직관과 논리적 사고가 중요합니다. 일반적으로 수학과/물리학과/전자공학과/전기공학과 등에서 필요한 수학과는 다르죠. 필요없다는 것은 아닙니다. 다만, 필요한 것이 다를 뿐입니다.

물리 역시 마찬가지입니다. 오히려 컴퓨터공학과에서는 수학보다 더 쓸 일이 없습니다. 다만 수학이건 물리건, 기초는 중요합니다. 만약 집합이 뭔지도 모른다면 위의 문제를 풀 수 있었을까요? F=ma 라는 공식을 모른다면 게임 프로그래밍은 물건너가는 겁니다. 대표적으로 물리, 특히 역학이 필요한 분야가 게임입니다. 게임은 하나의 가상현실 세계이고, 그 안에도 당연히 중력이 작용합니다. 그런데 뉴턴의 운동법칙도 모른다면(고1때 공통과학에서 배우죠) 이러한 가상현실 세계를 만들 수 있을까요? 그래서 기초는 알아야 합니다.


오히려 수학/물리 보다도 컴퓨터공학과에서 가장 중요한 학문은 영어입니다. 컴퓨터와 영어는 뗄레야 뗄 수 없는 관계입니다. 전산학이라는 학문도, 컴퓨터라는 도구도 서양권에서 시작되었습니다. 당연히 기초가 되는 교재나 문서 역시 영어입니다. 물론 번역본도 있죠. 하지만 불행하게도 국내 전산학 서적은, 특히나 대학교에서 교재로 사용되는 서적은 번역이 부실한 경우가 많습니다. 부실하다 못해 엉망진창일 때도 있습니다. 이럴 땐 차라리 원서를 보는게 이해가 빠르죠.

더군다나 전산분야의 새로운 신기술들은 전부 미국에서 시작됩니다. 일반적으로 미국에서 시작되고, 몇몇 "선구자" 들에 의해 한국으로 건너옵니다. 본격적으로 그 기술이 건너오기 시작하는 건 한참 뒤 입니다. 여기서 중간에 일본을 한번 거치기라도(실제로 일본을 많이 거칩니다) 하면 더 늦어집니다. 국내에 해당 기술에 대한 번역서가 나오는 건 최소한 그 기술이 나온 지 6개월에서, 보통 1년, 길면 그 이상 걸립니다. 작년 봄 경에 Ruby on Rails이라는 것에 대해 세미나를 준비한 적이 있습니다. 그때 이미 나온지 반년이 훨씬 넘은 기술이었습니다만 국내에는 아는 사람이 소수였습니다. 그리고 그에 대한 한글 서적이 나온 건 불과 한달 전입니다.

새로운 기술을 접하려면 영어에 익숙해져야 합니다. 영어를 잘 할 필요는 없습니다. 전공서적이라는 것은 기술서적이기 때문에, 한 문장 중에서 절반은 늘 쓰는 단어들입니다. 대충 단어만 알아도 뜻은 다 알아듣습니다. 리스닝/스피킹..이런거 일단은 신경꺼도 됩니다. 그냥 대충 보고서 뜻만 파악할 수 있으면 됩니다.


그리고 영어보다 더 중요한 게 하나 있습니다. 프로그래밍 언어입니다. 프로그래밍 언어의 종류는 제가 이름을 들어본 것들만 열거하더라도 정말 많습니다. C, C++, Java, Perl/Python/PHP, Ruby, VB, ASP, Haskel, Lisp... 이걸 다 알아야 할 필요는 없습니다. 한국어/일본어/중국어/영어 가 글자가 틀리고 문법이 틀리지만 "언어" 라는 기본 틀에서 벗어나지 않는 것처럼, 프로그래밍 언어 역시 문법과 특성이 다르지만 "프로그래밍 언어" 라는 기본 틀에서 벗어나지 않습니다. 저 중 한가지라도 익혀 두면 다른 것을 익히는 건 일사천리입니다.

이중 가장 중요한 것이라 할 수 있는게 C입니다.  현대의 상업적으로 사용되는 모든 프로그래밍 언어의 기반이라고 할 수 있습니다. 쉽게 생각하자면 C의 기능을 확장시킨 것이 C++이고, Java는 C++의 단점을 커버하기 위해 개발된 언어라고 할 수 있으며(물론 이러한 언어들의 개발 목적이나 철학, 패러다임 등은 전혀 다릅니다만), 나머지 역시 비슷합니다. (하지만 그만큼 어렵습니다. 지금이야 단일학과로 입학하지만, 컴퓨터멀티미디어공학과/정보산업대로 통합해서 신입생을 받던 시절에는 1학년때 C강좌를 듣고 C에 질려서 대부분이 2학년 때 멀티미디어공학과나 정보통신공학과를(물론 정보통신공학과는 수학에 시달리게 되지만요) 선택했었죠.

일반적인 패턴을 보면, 대부분의 1학년이 C를 배우면서 포인터에서 좌절하고, 2학년으로 올라가면서 자료구조라는 벽에 부딪치면서 절망에 가까운 좌절을 느낍니다. 그리고 군대로 사라지죠. 복학하고 나서는 이제 다시 처음부터 시작입니다. 1학년때 배우던 C부터 다시 시작합니다. 수능끝나고 한가할 때 뭔가 하나 배워 두면 확실히 도움 많이 됩니다. C가 부담이 된다, 그러면 다른 쉬운 언어라도 접해 두세요. 대표적으로 홈페이지 만들 때 많이 쓰는 PHP같은 게(이곳 DC도 PHP로 구성되어 있습니다) 있군요. 다시 한번 강조하지만, 뭔가 하나 아무 언어나 골라잡아서 프로그래밍 언어에 대한 개념을 잡아 두면 4년내내 행복할 겁니다.

그리고 C를 미리 공부하려는 분들에게 하나 조언하자면, 백이면 백 "포인터" 에서 막힙니다. 그리고 좌절합니다. 좌절하지 마세요. 컴공 3학년에도 포인터가 뭔지 제대로 모르는 사람 많으니까요. 찬찬히 시간을 두고 차근차근 공부하다 보면 언젠가는 이해가 되는 개념입니다
.

분명히 새로 입학하신 07학번 컴공 신입생들 중에 저보다 훨씬 내공이 깊은 분들도 있을 텐데, 그런 분들은 그냥 웃어넘겨 주시길 바랍니다. 제 짧은 글이 도움이 되었길 바랍니다. 그럼 나중에 새터때 뵙길...

추천 비추천

4

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
AD 로스쿨 합격을 위한 반전, 논술에서 찾다! 사전예약▶ 운영자 24/05/29 - -
AD 해커스로스쿨 기초인강 전강좌 100% 무료! 운영자 24/02/24 - -
2441 ㅎㅎ ㄱㄱ 07.01.12 47 0
2440 수강신청가튼거 선배들이 도와주나요??? [3] 가군법대합격생 07.01.12 227 0
2438 제케르 횽아를 비롯한 합격생 횽아들.. 부탁이 좀 있는데.. [4] 법대생 07.01.12 149 0
2436 방금 논술보고 왔는데... [4] 캐막장 07.01.12 230 0
2435 횽들아 ㅋㅋ [3] 동경 07.01.12 126 0
2434 공익횽 필독. [3] 똘똘이 07.01.12 148 0
2433 별관횽 그 컴퓨터 데스크웨어 말야 [2] 똘똘이 07.01.12 90 0
2432 형들!! 나 큰일났다 [3] ㅇㄻ 07.01.12 236 0
2431 ㅎㅎㅎㅎ 우루우루형~~ [1] 전진회계 07.01.12 131 0
2430 공지!!!!!!!!! [2] 별관죽돌이 07.01.12 175 0
2429 영화영상 대기 몇번 까지 가능할까효? [1] 아이리농 07.01.12 212 0
2428 횽들아 ㅎㅇㅎㅇ [5] WiTHiN 07.01.12 145 0
2425 경영 예비떳는데 합격 가능할까요?? [5] 07.01.12 347 0
2424 나 떡밥 다시 던진다 [14] 법대생 07.01.12 393 0
2423 철도대 동국대가 인수할 것으로 예상된다.. [1] ㄹㅇㅇ 07.01.12 538 0
2422 1월 12일 출석부~ [18] 랄라 07.01.12 157 0
2421 OT때 뭐 하는거야? [7] 제케르 07.01.11 332 0
2419 뭐 이런 거지같은 경우가.. [5] 공익 07.01.11 259 0
2417 아르방 지금 겁도 없이 법대쉥 눈화 글 지운겐가? [5] 우루우루 07.01.11 182 0
2416 동국대 문예창작 어떤가요? [2] 펠릭스 07.01.11 329 0
2414 횽들 나 이제 인성이 횽이랑 농구 할수 있는거야~? 합격했어 횽들! [6] 미역.. 07.01.11 311 0
2413 비슷한 환경국가 여성의 관점 [3] 정동국 07.01.11 118 0
2412 횽아,누나들 나중에 봐요! [1] 광화문 07.01.11 104 0
2411 동국대 게임멀티미디어공학과 07분들 - _- 07.01.11 180 0
2410 정시면접에 관해 질문요! [1] 내일면접 07.01.11 87 0
2409 횽들 수시질문요 [2] ㄻㅇㄴㄹ 07.01.11 98 0
2407 법대쉥 눈화의 그심정을 이해할꺼같아. [6] 우루우루 07.01.11 303 0
2405 ㅇㄴㅁㄽ [1] 동대사과예비 07.01.11 106 0
2404 컴공 디게 많네-0- [2] 별관죽돌이 07.01.11 193 0
2403 훌천에서 퍼온 개념글.. [4] 또라이몽 07.01.11 461 0
2402 영문과 붙었습니다 질문!! [13] ㅇㅇ 07.01.11 357 0
컴퓨터공학과 신입생들을 위한 조언 [17] 알파실 07.01.11 2781 4
2400 동국대 정통과 양기주교수님 아직도 있나욤 [1] ㅈㄷㅂ 07.01.11 1823 2
2399 동국대 정보산업대 개념잡기 [3] 개념동국 07.01.11 489 0
2398 컴퓨터공학과 합격한 아해들에게 알림 [6] 메롱메론 07.01.11 313 0
2397 동국대 경영 예비떴네요 [3] 김동국 07.01.11 311 0
2396 동국대 개념잡기 [2] 개념동국 07.01.11 913 0
2395 신입생들도 훌리질은 하지마라. [6] sda 07.01.11 337 0
2394 이제 슬슬 귀여운 후배들이 들어오겠구나.... [3] ◆박군 07.01.11 328 0
2393 이번에 동대 지원한 분들께 질문.. [3] 닭의 써클 07.01.11 304 0
2392 동대사과 예비 10번 초반대인데... [1] 동대사과 예비 07.01.11 227 0
2391 동대 이번에 산자과 컷이 어느정도였나요? [1] 23 07.01.11 143 0
2390 아싸 동대경영합격! [1] 신입경영 07.01.11 327 0
2389 성적표에 백분위 좀 설명해줘 [1] 미륵 07.01.11 133 0
2388 저기요.. 동국대 붙엇는데요.... [2] 쁘아까오 07.01.11 437 0
2387 명진관, 중도 [1] ff 07.01.11 209 0
2386 1월 11일 출석부 [21] 알파실 07.01.11 212 0
2385 챗이나 달리자....ㅋ [14] 헬가 07.01.10 272 0
2382 흐아~ 붙었다. [1] 제케르 07.01.10 127 0
2381 나 동대 컴공 붙엇어~ [2] 동국대생 07.01.10 230 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2