문과 새내기를 위한 컴퓨터공학 복수전공 이야기

by 익명
|
새내기정보
|
조회 17463
|
None
2018/01/29 01:47
2018/01/29 01:47

0. 안녕하세요. 저는 문과대 본전공으로 컴퓨터공학을 복수전공하는 학생이고요, 이 글은 지난 11월 익게2에 올렸던 글을 새내기용으로 수정한 글입니다. 저는 복수전공을 준비하고 진행하면서 어디서도 도움을 받지 못했지만 새로 복수전공을 고민하시는 분들께는 조금이라도 도움을 드리고 싶어서 써봅니다.

1. 고등학교를 문과로 나왔다고 쫄지 마세요. 컴공 새내기들이 여러분보다 유리한 건 수학 조금 더 배운 거 밖에 없습니다. 그 친구들이 과탐을 뭘 했든 컴퓨터공학이랑은 별 관련 없는 내용들이고요. 매 학기 수업만 열심히 들으면 못 따라갈 것 하나도 없어요. 여러분은 본전공생들과는 다르게 일반물리도 안 들어도 되고, 일반물리실험도 안 해도 되고, 수학 과목도 안 들어도 돼요. 그 시간에 그 친구들보다 코딩하는데 시간을 더 투자하고 나중에 컴공 고급 과목을 하나라도 더 들으면 되는 거예요.

2. 학위 따서 졸업하려면 무슨 과목을 들어야 되는지를 우선 확인해야겠죠? 졸업 요건은 본인 학번의 요람을 참고하면 되는데, 아직 18학번은 요람이 안 나왔습니다. 보통은 2월 초 수강신청 전에 학교 홈페이지 학사공지란에 올라옵니다. 요람은 학사 행정, 학칙, 과목 정보 등 학교와 관련된 많은 정보가 정리된 책인데, 매년 조금씩 개정됩니다. 컴퓨터공학과의 경우 올해 큰 변화는 없을 것 같기 때문에 우선은 학교 홈페이지 - 학사·학생지원 - 대학요람 메뉴에서 2017년 요람을 pdf 파일로 받아서 보아도 좋겠습니다. (링크: http://sogang.ac.kr/bachelor/bulletin/sogang2017.pdf)
여기서 꿀팁: 요람에서 컴퓨터공학과 페이지를 찾는 가장 쉬운 방법은 ctrl+f로 검색창 띄워서 '컴퓨터공학과는'을 검색하는 것입니다. '컴퓨터공학과'라고 검색하면 '다음' 버튼 수십 번은 눌러야 합니다.

17년 요람을 기준으로 한 컴퓨터공학 복전 요건은 다음과 같습니다.
중핵: 본전공에 따름
전공예비: 3학점(고급응용C프로그래밍 또는 기초C언어)
전공필수: 18학점 (이산구조, 컴퓨터공학설계및실험1, 디지털회로개론, 컴퓨터공학실험2, 자료구조, 운영체제)
전공선택: 21학점 (전공예비 및 필수 과목 제외 21학점)
참고) '고급응용C프로그래밍'은 고급 과목도 아니고, 응용 과목도 아닌 그냥 C언어 입문 수업입니다. 과목명에 겁먹지 말고 그냥 가서 들으면 됩니다 ㅎㅎ

3. 컴퓨터공학과에는 과목별로 선후수관계가 있어서 선수과목을 안 들으면 후수과목이 신청이 안 되는 일이 있습니다. 또, 대부분의 과목이 1학기 또는 2학기에 한 번만 열리기 때문에, 들어야 할 때를 놓치면 1년을 기다려야 하는 경우가 생깁니다.
선후수 체계와 학기별 개설 과목은 아래 그림을 참고하면 됩니다. 2016년 자료인데 아직 딱히 바뀐 건 없는 거 같아. 여기서 "C프로그래밍"은 우리 복전생들은 못 듣고 고급응용C프로그래밍(STS2008)으로 대체하는 과목이니까 무시하고 2학년 과목부터 보면 돼요. (기초공학설계도 본전공생만 듣는 과목입니다.) 이산구조는 몰라도 다음 과목 듣는데 큰 문제 없는 과목이니까 1학년 2학기에 못 들었다고 곤란해할 필요는 없지만, 들어두면 적성을 확인하는데 도움은 될 거예요. 이 그림과 앞서 파악해둔 졸업 요건을 잘 따져보면서 앞으로 내가 몇 학기째에 무슨 과목을 들어야 무사히 졸업을 할 수 있겠구나, 먼저 설계해보는게 좋을 겁니다.
실선은 선수과목을 안들으면 후수과목의 수강신청이 안 되는 경우고, 점선은 미리 듣기를 권장하는 경우입니다. 권장을 다 지킬 필요는 없지만, 수강신청하는데 참고는 될 거예요.



만약 1학년부터 복전을 준비한다면 미리 들어야될 과목이 크게 많지는 않은데, 1학년 중으로 고급응용C프로그래밍을 들어두기만 하면 될 거예요. 그 뒤로는 위 표의 컴퓨터공학과 커리큘럼 그대로 따라갈 수 있을 겁니다. 나머지 시간은 중핵과 본전공 과목 위주로 채우고 듣고 싶은 교양 한 두개쯤 곁들이면 좋은 시간표가 될 거라고 생각해요ㅎㅎ
제가 권장하고 싶은 건 1학년 1학기에 미적분학1, 2학기에 미적분학2를 듣는 것인데 필수 과목은 아니기 때문에 꼭 들어야된다고 말하기는 조심스럽네요. (이 경우 부수적인 이득으로, 미적분학1을 들으면 혹시 컴공을 포기하고 경제/경영 복전을 하게 되는 경우 필수과목인 경제수리기초를 듣지 않아도 되는 걸로 알고 있습니다.) 이 부분에 대해서는 덧글로 다른 분들 의견도 들어보고 싶네요.

4. 컴공과에서 하는 프로그래밍의 절대 다수는 C언어로 하기 때문에 C언어를 능숙하게 다루는 것이 매우매우 중요합니다. 본격적으로 컴퓨터공학과 수업을 듣기 전에 미리 C언어에 어느 정도 자신감이 붙을 정도로 예습을 하면 도움이 정말정말 많이 될 거예요.
학교 수업으로 C언어 한 학기 들어봤자 실제로 직접 고민하고 코딩 실습할 기회는 많지 않은데다가, 미리 공부하지 않고 바로 들으러 가면 한 학기 그냥 날리기만 하고 복전 포기하는 경우도 있어요.
C언어를 익히는 방법은 여러가지가 있겠지만 제가 추천하는 한 가지 방법은 이렇습니다.
- 먼저 유튜브로 기초를 익힙니다. 보통은 책 보고 많이 하는데 내가 유튜브를 추천하는 이유는 이런 장점이 있어서예요.
  첫째, 유튜버가 코딩하는 화면을 보면서 실시간으로 따라칠 수 있습니다. 눈으로만 보지 말고 직접 따라 치는 것이 중요합니다. 타이핑하면서 따라가기 벅차면 재생속도 조절도 가능하고, 일시정지도 가능하고.
  둘째, 개인적으로 책 보고 공부하는 것보다 영상 보고 배우는 게 좀 더 이해가 빠른 거 같더라고요. 수능특강이랑 교과서 다 잘 만들어져 있는데 굳이 인강까지 찾아보는 그런 느낌..?
  셋째, 클립 하나하나의 길이가 정해져있으니까 대충 시간이 얼마나 걸릴지 감이 잡히는게 좋아요. 책으로 보면 3페이지 넘어가는데 몇 분쯤 걸릴지가 매번 다르지만 유튜브는 10분짜리 영상 보는데 10분이면 되잖아요?

- 제가 추천하는 몇 가지 채널들입니다. 이 중에서 하나만 골라서 끝까지 보면 학교 C언어 수업에서 커버하는 프로그래밍은 대부분 해결돼요. 그냥 틀어놓지만 말고 유튜버가 화면에서 코딩하는 걸 실시간으로 그대로 따라치면서 보세요. 실행버튼 누르기 전에 이건 어떻게 나올 것 같다 잠깐 생각해보고, 예상대로 안 나오면 잠시 일시정지 시켜놓고 뭘 잘못 생각한 건지를 다시 고민해보고 다음으로 넘어갑시다.

thenewboston 채널 https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAKIXv8Yr6nhGJ9Vlcjyymq
장점: 제가 제일 추천하는 채널입니다. 설명을 상당히 쉽게 잘해요. 말이 빠르지 않고 발음이 또박또박해서 유튜브에서 자동생성해주는 영어자막 틀면 거의 100% 정확한 자막이 나와요. 영상 하나하나의 길이가 대부분 10분 이하로 짧은 것도 장점이고요. 주제별로 상당히 잘게 쪼개놓은 편이라 동영상 하나하나를 보는데 부담도 적고, 나중에 필요한 부분을 다시 찾아보기도 쉬워요. 그리고 아래 추천해주는 다른 채널들보다 후반부에서 좀 더 진도가 더 나가는 편입니다.
단점: 영어. 또 글자가 좀 작아서 모니터가 큰 편이거나 따로 볼 방법 (듀얼모니터라든지 태블릿이라든지)이 없으면 좀 불편할 수 있어요.

ProgrammingKnowledge 채널 (25강까지만 들으면 됨) https://www.youtube.com/playlist?list=PLS1QulWo1RIZlA5oGczk8kY7Eenytc33s
장점: 설명을 잘하고 글자도 큽니다.
단점: 인도식 영어 발음. 그밖에는 없다고 봐요. 근데 말이 느려서 자동생성 자막 틀어놓고 보면 문제 없다고 생각합니다. (근데 지금부터 인도 영어발음에 익숙해지면 나중에 꽤 편할 겁니다.)

SnowL TV 채널 https://www.youtube.com/playlist?list=PL1JptwGuYPUH8zuRhEiXIi0YL1IkJweSl
장점: 한국어. 글자 크기가 매우 큽니다.
단점: 목소리가 좀 졸려요ㅠ 영상 하나하나가 꽤 긴 편입니다. (30분쯤)

동빈나 채널 https://www.youtube.com/playlist?list=PLRx0vPvlEmdDNHeulKC6JM25MmZVS_3nT
장점: 한국어. 초보자 눈높이를 좀 신경쓰는 듯합니다.
단점: 녹음상태랑 발음이 가끔 거슬릴 때가 있습니다.

- 이정도 기초 튜토리얼(?)을 마치고 나면 실습은 백준 온라인 저지에서 할 수 있습니다. 문제를 풀어서 소스코드를 제출하면 자동으로 채점해주는 사이트예요. (개발자가 컴공 07 선배입니다.) 주소는 https://www.acmicpc.net 이고, 이메일 주소만 있으면 가입이 가능해요. 문제가 난이도 순으로 나와있는게 아니라서, 무슨 문제를 풀어야할 지 모르겠으면 이 사이트를 참고하세요. https://koosa.ga/problems/ 난이도 0의 앞 50문제쯤은 별다른 자료구조나 알고리즘 공부 없이 그냥 기초 C언어 문법에만 충실하면 웬만하면 구현할 수 있을 거예요. 막히면 너무 오래 씨름하지 말고 일단 다른 문제로 넘어가세요. 이 단계에서는 일단 'C언어로 컴퓨터한테 내가 원하는 일을 시키려면 어떻게 해야하는구나'를 체감하는 것이 중요해요.
여기서 재미를 느끼면 자료구조와 알고리즘을 조금씩 공부해가면서 난이도 0부터 문제를 차근차근 풀어보면 좋을 거예요. 재미를 전혀 못 느낀다면 컴공 복전을 진지하게 다시 고민해야 할지도..?


5. 그외
- 영어
프로그래머에게 가장 중요한 언어는 어쩌면 C언어보다도 영어가 아닐까 싶습니다. 수업 교재부터 시작해서 온라인에 있는 거의 모든 참고 자료는 영어로 되어있어요. 말하고 쓰는 건 필요 없으니까 제일 먼저 읽는 거, 그 다음 듣는 거에 익숙해지면 그렇지 않은 경우보다 훨씬 빠르게 배울 수 있습니다.

- 수학
컴퓨터는 문자 그대로 계산(compute)을 하는 기계이고 우리가 해야 할 일은 이 계산기한테 일을 시키는 것이죠. 계산기한테 무엇을 어떻게 효율적으로 시킬지를 알려면 수학적 지식과 논리가 필요할 수밖에 없어요. 근데 또 학부 수업 듣는데 수학적 테크닉이나 계산이 아주 필요한 부분은 또 없었던 거 같아요. 필요하면 그때 그때 찾아보고 익히면 되는 정도? 수학이 좀 약하다고 해서 복전 진입 자체를 고민할 정도는 아니라고 생각해요. 대신 방학 때 OCW(국내외 대학 강의를 촬영한 인터넷 강의)나 유튜브로 미적분학이랑 선형대수학 정도는 들어두면 좋을 거예요.
자료구조와 알고리즘을 설계해서 주어진 문제 상황을 해결해 내는 건 코딩 능력보다는 수학적으로 사고하는 능력이 상당히 중요한 것 같아요. 근데 이건 뭘 의식적으로 공부한다고 해서 되는 건 아니고, 백준넷 열심히 풀어보고 교재 연습문제를 열심히 고민하다 보면 점점 늘 거예요.

- 유튜브
전공 공부하다가 막히는 웬만한 것은 유튜브에 다 있어요. 주제별로 검색해보면 다 나오더라고요. 특히 저는 Neso Academy https://www.youtube.com/channel/UCQYMhOMi_Cdj1CEAU-fv80A 채널에서 도움을 매우매우매우 많이 받았어요. 자료구조, 디지털회로개론, 운영체제 같은 기초과목 공부할 때 막히는거 있으면 인도 형님들이 다 해결해줬어요. 인도식 발음이라고 겁내지 말고 유튜브 자동생성 영어자막 켜면 99% 정확한 자막 나오니까 열심히 찾아봅시다.

- 구글링
프로그래머에게 상당히 중요한 능력이 내가 알고 싶은 걸 어디서 어떻게 찾는지를 알고, 실제로 찾아내는 능력이라고 생각해요. 공부하다가 모르는 게 있는데 책을 봐도 쉽지가 않고 유튜브도 마땅치 않으면 구글링을 합시다. 인터넷에 답이 없는 문제는 없다고 믿으세요. 구글링도 하다보면 늘더라고요.


대부분 제 경험에 의존해서 쓴 글이고, 최근 (16학번 이하) 컴공 본전공생/복전생과는 교류가 거의 없어서 요즘 돌아가는 상황과는 다른 이야기가 있을 수도 있습니다. 컴공 본전공/복전 다미들의 다양한 보충/반대 의견을 환영합니다. 
36
1
댓글 21개
|
조회 17463

익명1
01/29 11:51
냉동
open comment context menu
미적분1 1학년1학기 문과생이들으면 따라가기 벅차던데 어떻게 생각하세요 ㅜㅜ

글쓴이
01/29 11:54
냉동
open comment context menu
들어봤는데 못 따라갈 내용은 아니더라고요 비쁠 나왔습니다만 공부 좀 더 하면 에이대도 무리는 아닐 거예표

글쓴이
01/29 11:55
냉동
open comment context menu
본인이 자신이 없다 싶으면 그냥 안 듣고 따로 혼자 한번 봐도 큰 문제는 없을 겁니다

익명12
02/05 20:24
냉동
open comment context menu
이과애들도 1학년이라 던지는 애들 많고
그걸 안듣고 나중에 듣는다고 딱히 따라가기 쉬워지지는 않음

익명2
01/29 12:41
냉동
open comment context menu
꿀팁 감사합니다! 혹시 본전공은 어디셨는지요??

글쓴이
01/29 13:05
냉동
open comment context menu
음 그냥 문과대라고만 할게요!

익명3
01/29 12:55
냉동
open comment context menu
안녕하세요 비상경 새내기인데요! 경영 or 컴공 복전을 심가크하게 고민중입니다! 혹시 선배님께서는 어떻게 생각하시는지요?

글쓴이
01/29 13:08
냉동
open comment context menu
둘이 진로가 완전히 달라서 그것부터 생각을 하셔야 할 거 같아요ㅎㅎ 근데 취업을 생각하신다면 컴공이 경영보다 좀 더 수월하다는 점은 있고요.. 1학기에 컴사를 듣는 전공(올해는 사과대 지융 커뮤?)이라면 들어보고 할만하다고 생각하시면 2학기에 고급응용C프로그래밍을 들으면 좋을테고요. 교양 삼아서 경영 전공 기초인 경제학원론1 같은걸 1학년 중으로 들어도 좋겠네요.

익명3
01/29 13:10
냉동
open comment context menu
아 저는 참고로 지융학부입니다. 만약 계속 고민은 되는데 시간낭비는 하고 싶지 않다면, 1학기때 뭘 듣는게 바람직할까요? 컴사로 충분한가욤?

글쓴이
01/29 13:17
냉동
open comment context menu
네 본문에도 썼듯이 1학년 때 미리 들어야 될 과목은 C언어 말고는 크게 없어서, 1학기에 컴사를 들어보고 2학기에 C언어를 듣든지 말든지 해도 될 거예요. 좀 더 도전적으로 살고 싶다면 미적분학1을 들어도 되겠고요. 이건 컴공을 하든 경영을 하든 도움이 되는 과목이니까요.

익명4
01/29 13:21
냉동
open comment context menu
컴공 복전을 생각하고 있는데 컴사는 2학기때 열리고 대다수의 컴공 전공이나 예비 과목 아님 중핵필수선택의 프로그래밍 강의는 다 1학년을 대상으로 하고 있지 않더라구요 ㅜㅜ 그럼 그냥 1학년 1학기는 본전공 학점을 많이 채워놓는게 좋나요?

글쓴이
01/29 13:35
냉동
open comment context menu
넴 1학년 1학기에 본전공이랑 중핵 위주로 들으시고 2학기에 컴사를 들으면 될 거예요! 컴공에 진입하겠다는 맘이 들면 겨울 계절에 C언어를 듣고 2학년부터 커리큘럼을 따라가도 되고, 2학년 1학기에 C언어를 듣고 2학기에 자료구조, 컴퓨터공학설계및실험1, 디지털회로개론을 들어도 되고요.

익명5
01/29 14:26
냉동
open comment context menu
삭제된 댓글입니다

글쓴이
01/29 14:28
냉동
open comment context menu
http://www.ssodam.com/content/362474

익명6
01/29 15:34
냉동
open comment context menu
컴공 졸업예정인 늙다리입니다!
좋은 글에 첨언한다면, 수학과목 중 선형대수학, 정수론, 집합론, 확률통계(혹은 응용수학1)는 꼭 들어두시는게 좋습니다.

상기한 수학적 바탕은 생각보다 많이 사용됩니다(특히 이론과목). 사실 computational thinking이 중요하지 코딩 자체는 별로 중요하지 않다고도 볼 수 있고(물론 기본적인 코딩실력은 당연히 갖추고 있어야합니다), 그 이후에는 위의 수학적인 지식을 활용하는 문제들이 상당히 많습니다.

예를들어 요즘 한창 핫한 deep learning분야의 경우도 확률 쪽 베이스가 약하면 단순코딩이나 오픈소스를 활용한 응용은 할 수 있어도, 그 이상의 아키텍트를 구성하긴 힘듭니다!

글쓴이
01/29 23:47
냉동
open comment context menu
좋은 얘기 같아요 글 읽는 분들 참고하세요!!!

익명8
01/29 21:39
냉동
open comment context menu
컴공을 복전하면 어떤쪽으로 취직하나요?

글쓴이
01/29 23:48
냉동
open comment context menu
구체적으로는 저도 아직 학부생이라서 모르겠지만요 ㅎㅎ 제가 복전을 한 건 본전공과 관계 없이 개발자가 하고 싶어서요

익명9
01/31 10:50
냉동
open comment context menu

익명10
01/31 12:19
냉동
open comment context menu
복전하시는 분들 개발쪽에 중점을 두시는 경우가 많은데, 알고리즘도 하셔야 합니다....! 기초 수학과 알고리즘을 가볍게 여기시는 분들이 많아 남깁니다...!

익명11
01/31 13:04
냉동
open comment context menu
안녕하세요 저는 이번에 경영학과에 입학하는 새내기입니다! 경영은 컴공복전하기가 많이 벅찬지요?ㅠㅠ 그리고 경영은 컴퓨팅사고력이 1학년 1학기가 아닌것같은데 C언어 먼저 들을까요?

글쓴이
02/02 00:37
냉동
open comment context menu
아뇨 수업 가보면 본전공이 경영인 분들도 언제나 있더라고요
C언어를 먼저 들으셔도 되고, 2학기에 컴사를 들은 뒤 겨울 계절학기에 C언어를 들으셔도 됩니다. 내년 1학기에 C언어를 들으면 그 뒤 커리큘럼을 고민을 좀 해보시긴 해야 할텐데 불가능하지는 않습니다.