Upstage AI Lab 6기

컴퓨터 공학 개론 후기

jyun34 2024. 12. 11. 07:55

이번엔 김용담 강사님의 컴퓨터 공학 개론 후기이다.

김용담 강사님의 경우 패스트캠퍼스에 데이터분석이나 딥러닝 강의를 올려두신 분이고 이전에 내일배움카드를 이용해서 그 강의를 들은 적 있다.

이전에도 느꼈었는데 이번 컴퓨터 공학 개론에서도 수업 내용이 상당히 심오하고 탐구적이었다.

솔직히 말해서 나는 전공자에 가깝기도 하고 코딩테스트 때문에 자료구조도 공부했기 때문에 대부분 알고있는 내용이라 이번 시간은 집중이 안되고 상당히 지루했다. 비전공자 수업에 안 맞게 너무 딥하게 느껴지기도 하고. 

 

강의 내용은 자료구조, 컴퓨터 구조, 운영체제로 이뤄져있었다. 생각보다 자료는 많지 않은데 자료량과 맞지 않는 강사님의 입담으로 진행된 강의였다. 원래는 비전공자를 위해 최소화해서 갖고온 것 같은데 아는게 많다보니 전공자 출신들이 궁금해하면 다 답변해주면서 시간이 많이 갔다.

 

그리고 상식적으로 알아야하는 깨알 꿀팁: Quick Search는 O(nlogn)의 시간 복잡도를 가지지만 최악엔 O(n^2)의 시간복잡도를 가진다. 면접에 나오는 질문이라고 한다.

강의 시간에 직접 구현한 Binary Search

 

 

나는 개인적으로 이런 딥한 강의보다, OT 후기 때 언급했었던 네카라쿠베 코딩테스트 강의를 파기로 했다.

포괄적으로 보자면 여기에 자료구조 공부가 들어있기도 하고, 취업준비를 위해 모인 부트캠프라면 이게 더 맞다고 생각한다.

이 강의는 전반적으로 개념과 예시를 엄청 자세하게(...너무 길어서 건너뛰기도 많이 했다.) 설명해주고, 코딩 공부를 할 때 좋은 사이트 '백준'에서 실습하는 식으로 진행됐다.

기초 문제부터 콕콕 집어주는 느낌이라 까먹은 개념을 다잡는데 도움이 크게 됐다.

다만 아쉬웠던건 '백준'이라는 사이트가 가진 문제점을 설명 안 해준달까, 뭐, 구글에 간단하게 검색하니 나오긴 했지만.

 

내가 생각하기엔 백준 사이트는 시간복잡도에 관한 기준이 좀 빡빡한 것 같았다.

예를 들어, 파이썬의 코드 input()은 최적화가 되어있지 않은 입력이라 시간을 꽤 잡아먹는 편이다. 그래서 무조건 sys.stdin.readline()으로 바꿔야했다. 안 그러면 채점을 안 해주는 문제가 너무 많았다.

dfs 문제를 풀 때도 함수 호출을 너무 많이 하게되면 채점을 안 해준다. sys.setrecursionlimit(10**6) 같은 코드를 써야 해결된다.

 

그리고 패스트캠퍼스 온라인 강의장 안에 컴퓨터 구조나 운영체제같은 대학교에서 배우는 과목들도 다 있었다.

사실 컴퓨터 구조 같은 과목은 현장에서 쓸 사람이 별로 없다.

이게 사실상 반도체 설계, cpu 설계 이런 하드웨어적인 성향이 강한 사람이 아니고서야 딱히 그렇게까지 막 필수로 알아야하는 지식은 아니라고 생각한다. 실제로 초반에 강사가 그렇게 말을 한다.(넘길 사람은 넘기라는 뜻) 

하지만 컴퓨터에 대한 기본지식이 많긴 해서 상식 탑재용으로 듣기 좋다고 생각한다.

김용담 강사님도 이번 강의를 맛보기용이라고 하셨으니 어느 정도 사실이라 본다.

 

이거 말고도 데이터베이스, 네트워크도 있지만 이 둘은 시간관계상 패스하고 짧은 시간동안 데이터베이스 지식이 왜 필요한지를 설명해주셨다.

이전 통계학에서 배웠던 벡터. 이것은 머신러닝을 할 때 엄청 중요한 역할을 하는데, 대강 듣기로는 데이터 간의 벡터거리 관련해서 알아야하기 때문에 데이터베이스가 중요하다고 한다. 

내가 알기로는 K-cluster가 그런 종류였던 것 같기도 하다.