CS 로드맵
광활한 CS 의 황야에서 뒤에 찍힌 발자국을 위안삼아 전진한다.
이 문서는 뭔가요?
이 Vault 에서 처음 작성하는 문서. 컴퓨터 공학 공부를 진행하면서, 위키 형식으로 기록을 남기며 공부하려 만들게 되었다. 사실 난 전에도 obsidian 을 사용해서 기록을 남기긴 했는데, 구조를 예쁘게 관리하면서 쓰지 못한 감이 있다. 터놓고 말하면 이번에 바닥부터 새로 작성하면서, 좀 더 아름답고 간결한 위키 형식 지식 보관소를 만드려고 한다.
2024년 6월 4일 새벽에 obsidian 을 설치하고 git repository 를 만들며 새롭게 시작했다. 사실 회사에서 CS 공부에 대한 권유를 받아서, 2024년 5월 20일 부터 Coursera 강의를 듣고 있었는데, 제대로 정리하면서 공부해야겠다는 생각이 있었다. 그래서 어느정도 공부 로드맵을 정리해두려고 한다.
CS 로드맵
여러 세부 분야들이 있겠으나 일단은 큼직하고 일반적인 (컴퓨터 공학과에 들어와서 처음 배우는) 과목들을 선정했다.
-
- 이 둘은 공부할 때 겹치는 부분도 많아 떨어뜨릴 수 없는 과목이다.
-
컴퓨터 구조 (Computer Architecture)
- 유한상태기계, 튜링머신 등 컴퓨터에 대한 이론적인 지식들을 포함한다.
-
운영체제
- Linux 와 친해지는 것과 이론적 배경을 중심으로 한다.
-
데이터베이스
- 데이터베이스 구현에 중점을 둔다.
-
네트워크
- OSI layer 에서 tcp/ip 이상에 중점을 둔다. Router, Packet dump, socket 공부한다.
일정
시작 전 대략적으로 정해 둔 일정은 아래와 같다.
- 자료구조 & 알고리즘 : 4주
- 늦었지만 어찌어찌 끝내긴 했다. (0527-0805)
- 컴퓨터 구조 : 3주
- 호기롭게 시작했지만 심적 여유가 부족해 멈춰져 있는 상태다… (0915)
- 운영체제 : 3주
- 데이터베이스 : 4주
- 네트워크 : 3주
총합 17주 (4달 정도)
3주차인데, 자료구조 & 알고리즘 진도가 너무 느리다. 아무래도 내가 너무 느긋하게 공부하고 있는 것 같다. 솔직히 대학생 때 처럼 여유만만하게 공부할 수 없는 상황이라서, 진도를 나가기 위해 좀 노력해야 할 것 같다.
자료
Coursera 강의, 유튜브 강의, 책등을 이용해 학습하고 있다. 자세한건 각 분야 문서를 확인할 것.
여담
- 3주차에 느낀건데 내 페이스대로 하다간 2배 빠른 진도는 커녕 절반 속도도 맞추기 힘들다. 생각보다 여유없이 진행해야 성취할 수 있겠다.