하늘보다높이빛보다멀리 [1187082] · MS 2022 (수정됨) · 쪽지

2023-12-06 10:49:40
조회수 16,854

정보) 컴퓨터공학과는 뭐하는 곳인가?

게시글 주소: https://susiapply.orbi.kr/00065595898

일단 저는 졸업 2학기 놔두고 자퇴한 사람이고요

https://orbi.kr/00065336905/



1. 컴퓨터공학과?


여긴 코딩을 가르쳐주는 곳은 아니고 컴퓨터 수리(fix) 배우는 곳은 더더욱 아닙니다. Computer(계산하는 기계)에서 알 수 있듯이 그냥 유사 수학과입니다. 수학과처럼 해석학이나 뭐 이런 걸 배우는 건 아니지만 수학을 베이스로 하는 전공 과목이 많습니다.


사실 컴퓨터공학과보다는 컴퓨터과학과(Computer Science)라고 보는 게 맞는데요. 대부분의 학교가 영문명을 CSE(Computer Science & Engineering)로 쓰는 걸 봐선 그냥 섞어 쓰는 것 같습니다. 컴퓨터공학/과학은 컴퓨터라는 하드웨어와 그를 구동하는 소프트웨어에 대해 배우는 학문입니다.

(학교마다 무엇을 위주로 배우는지는 살짝씩 차이가 있습니다.)




2. 뭘 배우냐?


제가 다녔던 곳을 예로 들면

1학년 - 기본 코딩 수업 + 교양

2학년 - 전공 기초

3학년 - 전공 심화

4학년 - 프로젝트(=팀플) or 대학원 수업 미리 듣기

대충 요 정도 되네요. 다른 공대랑 다를 게 없긴 하죠.


저희는 이름부터 '소프트웨어'여서 아무래도 CS 위주로 과목이 짜여있지만 

하드웨어 관련한 수업이 열리는 학교도 있긴 할 것 같습니다.


저 그림에서도 알 수 있듯이 프로그래밍/코딩을 가르쳐주는 수업은 1학년 때가 끝입니다. 그마저도 C, C++, Python, Java 정도?

사실 학교 수업을 듣는 데는 위 4개 + JavaScript만 알아둬도 충분하긴 합니다. (SQL은 쉬우니까..)


만약에 듣는 수업에서 안 배운 언어를 쓴다? 근데 안 알려준다? 

그럼 그냥 꼼짝 없이 자습입니다. 알아서 구글링 해야 해요.

강의 시간에는 이론 배우기도 바쁘거든요. 그런 것까지 알려줄 시간이 없어요.

코딩은 그냥 도구에요. 수능 수학을 풀려면 미적분을 알아야 하듯이.


저 빨간색 과목들(전공핵심)에 대해서 간단히 소개하면


자료구조 : 데이터를 담는 그릇, 자료구조에 대해 배웁니다. 앞으로 들을 모든 수업의 기본이 됩니다.


문제해결 -> 알고리즘 : 거의 같은 과목입니다. 문제를 해결하기 위한 알고리즘과 그 구현 방법을 배웁니다. 백준 같은 사이트에서 문제를 푸는 걸 Problem Solving이라고 합니다. 직역하면? 문제해결이죠. 그냥 그거 떠올리시면 됩니다. 과제도 백준 문제처럼 나옵니다.


시스템프로그램 : 컴퓨터가 숫자, 코드를 어떻게 처리하는 지를 배웁니다. 

10진수를 어떻게 010101010로 저장하는지, 어셈블리어가 무엇인지, 컴퓨터는 조건문/반복문을 내부적으로 어떻게 처리하는지 등..


컴퓨터구조 : 위의 시스템프로그램의 확장판입니다.

저기서 더 나가서 CPU 내부에는 어떤 장치가 있는지, CPU는 어떻게 코드를 처리하는지, 캐시와 레지스터는 어떻게 동작하는지 등..


운영체제 : 예, 그 운영체제 맞습니다.

컴퓨터공학 학부 과정에서 제일 어려운 과목입니다. 

앞의 두 과목은 이 과목을 듣기 위한 빌드업일 뿐입니다.

한 학기 동안 운영체제의 각 부분을 구현하게 됩니다. 못 하면 학점은 저 멀리

컴퓨터는 여러가지 일을 어떻게 동시에 처리하는지, RAM이 하는 역할은 무엇인지, 파일 관리는 어떻게 하는지 등의 우리가 컴퓨터로 하는 행위가 어떻게 작동되는지 배우게 됩니다.


프로그래밍언어 :  우리가 코딩할 때 쓰는 프로그래밍 언어에 대해 배웁니다.

Python, Java 등의 코딩을 알려준다는 말이 아니고 

컴퓨터는 우리가 타이핑하는 이 언어를 어떻게 컴파일러를 통해 해석하는지, 

인간이 짠 코드가 비효율적이라면 어떻게 최적화를 해주는지, 프로그램 실행 중에 일어난 에러는 컴퓨터가 어떻게 처리하는지 등에 대해서 배웁니다.


데이터베이스 : 이름 그대로 데이터베이스에 대해 배웁니다.

여러 자료들을 어떻게 효율적으로 저장하는지에 대한 것과 데이터베이스 관리 언어인 SQL에 대해서 배웁니다.  


인공지능 -> 기계학습 : 요즘 가장 핫한 분야죠.

인공지능 과목은 인공지능이 무엇이고 어떤 것이 있는지에 대해 배우고 간단히 구현해봅니다. 기계학습에서는 이에서 더 나가서 머신러닝이 무엇인지, 지도학습과 비지도학습이 무엇인지, 오버피팅이 무엇인지, 역전파란 무엇인지, 기계학습의 알고리즘에는 어떤 것이 있는지 등에 대해 배웁니다.


------- 이하는 안 들어본 과목 -------


컴퓨터네트워크 : 컴퓨터는 서로 어떻게 통신을 주고 받는 지에 대해 배웁니다.


소프트웨어공학 : 소프트웨어를 잘 만들려면 어떻게 해야 하는 지에 대해 배웁니다.


각 학교마다 어떤 과목이 전필이고 전선인지는 살짝 차이가 있겠지만 대동소이할 것으로 예상됩니다.




3. 학과 공부 외에는?


1) 지인들과 ICPC 같은 프로그래밍 경시대회 참여

이런거 준비하다보면 코딩 테스트(취직 때 보는 시험)에 도움도 많이 되기 때문에 상도 타고 취직도 하면 일석이조!


2) 지인들과 앱, 웹사이트 개발

취직이 목표라면 포트폴리오가 중요하기 때문에 이런 활동 한 두 개는 꼭 필요해요.


3) 랩실에서 학부연구생 노예체험


컴공은 갠플 위주일것 같지만 전혀 아니고 팀플이 많은 곳이에요

그리고 이런 활동들을 하려면 본인 코딩 실력이 좋아야겠죠?

어딜 가서든 1인분은 해야 하니까요~




4. 졸업하면 뭐함?


반은 취직, 반은 대학원 가더라고요

저도 대학원 가려고 했었긴 한데




5. 학점 잘 따는 법?


일단 시험 잘 보는게 가장 중요하긴 하지만

컴퓨터공학과 특성상 과제 비중이 무지하게 높습니다.

과제 개수도 많습니다. 안 해놓으면 4-5개 우습게 쌓여요.


근데 가장 문제가 뭔지 아세요?

바로 과제가 도대체 언제 끝날지 알 수가 없다는 겁니다.

그리고 그렇게 개고생을 했는데 부분점수가 없으면 그냥 0점 맞을 수도 있고요. 왜냐면 대부분 조교님들은 채점 프로그램 돌리고 틀리면 틀렸다고 하기 때문에.. (물론 안 그런 과목도 많습니다)


과제는 내준 당일부터 시작해라’가 제가 줄 수 있는 유일한 팁입니다.




6. 가기 전에 할만한 거?


1) 코딩 찍먹 - 이유는 따로 설명하지 않겠습니다.

책 사지 마시고 그냥 https://dojang.io/ 들어가서 파이썬 코딩 도장 / C언어 코딩 도장 해보세요. 어짜피 입학하면 코딩 기초 수업 하나는 무조건 들으니까 입학 전에는 그냥 가벼운 마음으로 ㄱㄱ


2) 영어 공부 - 이건 어학 시험을 말하는 건 아니고 그냥 독해..

구글링하면 대부분 자료는 영어입니다. (StackOverflow 등..)

+ 유튜브 인도 선생님들은 신입니다. 그들은 모든 것을 알고 있습니다.




7. 이 글은 왜 쓴 거냐?


컴공 좋으니까 많이 가시라고.. 복전도 많이들 하시고.. 너는 나갔으면서

저는 사실 컴공이 싫어서 나간건 아니고 지병이 있어서 오래 타이핑하는게 힘들어서 다른 일을 알아본 거라서.. 나중에라도 학위는 꼭 따고 싶네요.


수시도 학교 정해야하고 정시도 곧 성적표도 나오고 하니까 써봤습니다.

궁금한 건 댓글 써주세요.




제가 적은 글 (클릭하면 연결)


(현재 글) 1. 컴퓨터공학과는 뭐하는 곳인가?


2. 컴퓨터공학과 과목 맛보기 - 1. 자료구조


3. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(1)


4. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(2)


5. 컴퓨터공학과 과목 맛보기 - 3. 인공지능(1)


6. 컴퓨터공학과 과목 맛보기 - 3. 인공지능(2)


7. 컴퓨터공학과 과목 맛보기 - 4. 알고리즘

rare-웬디의 영스트리트

0 XDK (+10)

  1. 10