당신이 막 취직한 소프트웨어 엔지니어이거나, 또는 학부생이라면 컴퓨터과학을 공부하면서 한번쯤은 막히는 경험이 있을 겁니다. 다행스럽게도, 컴퓨터과학의 지식들은 대부분 온라인 상에 공개가 돼있다는 것입니다. SelfBuildUp-SE는 전공 공부 중 막혔거나 핵심 개념을 잊어버렸을 때, 빠르고 확실하게 기초를 다시 다질 수 있는 무료 한국어 리소스를 모아둔 저장소입니다.
TeachYourselfCS-KR을 보고 영감을 받아 제작되었습니다.
- 📚 프로그래밍입문
- 💻 컴퓨터 과학 기초
- 💻 컴퓨터 과학 필수
- 🔥 학교에서 가르쳐주지 않는 것들
| 과목 | 설명 | 책 | 영상 |
|---|---|---|---|
| C언어입문 | C언어를 예제들을 통해 쉽게 입문해보세요. | 코딩 자율학습 나도코딩의 C 언어 입문 | https://youtu.be/q6fPjQAzll8 |
| C언어중급 | C언어의 특징적인 기능 위주로 더 세세하게 배웁니다. | 씹어먹는 C언어 | |
| 파이썬입문 | Python을 예제들을 통해 쉽게 입문해보세요. | 코딩 자율학습 나도코딩의 파이썬 입문 | https://youtu.be/kWiCuklohdY |
| 파이썬중급 | Python을 특징적인 기능 위주로 더 세세하게 배웁니다. | 점프 투 파이썬 | https://wikidocs.net/book/1 |
| 자바입문 | JAVA를 예제들을 통해 쉽게 입문해보세요. | 코딩 자율학습 나도코딩의 자바 입문 | https://youtu.be/kWiCuklohdY |
| 자바중급 | JAVA를 특징적인 기능 위주로 더 세세하게 배웁니다. | 자바의 정석 기초편, 점프 투 자바 | https://youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&si=IfKh-iIPbOx_oLLl |
| 과목 | 설명 | 책 | 영상 |
|---|---|---|---|
| 이산수학 | 프로그래밍의 근간이 되는 논리적 사고력을 기릅니다. 집합, 논리, 그래프 이론 등 컴퓨터 과학의 언어를 이해하고, 알고리즘의 효율성을 증명하는 수학적 기초를 다룹니다. | - | http://www.kocw.net/home/search/kemView.do?kemId=1165096 |
| 자료구조 | 데이터를 효율적으로 저장하고 관리하는 구조를 배웁니다. 스택, 큐, 트리, 해시 테이블 등 다양한 구조의 장단점을 파악하여, 상황에 맞는 최적의 도구를 선택하는 안목을 기릅니다. | - | https://inf.run/Xe8WS |
| 알고리즘 | 주어진 문제를 논리적이고 효율적으로 해결하는 절차를 학습합니다. 복잡한 문제를 분해하고, 시간 복잡도와 공간 복잡도를 고려하여 최적의 솔루션을 도출하는 엔지니어링 역량의 핵심입니다. | - | https://inf.run/nQ9Be |
| 과목 | 설명 | 책 | 영상 |
|---|---|---|---|
| 운영체제 | 프로세스 스케줄링, 메모리 관리, 동시성(Concurrency) 제어 등 한정된 자원을 효율적으로 분배하는 핵심 원리를 다룹니다. | 운영체제 제10판 | https://inf.run/5tnQi |
| 데이터베이스 | 방대한 데이터를 효율적으로 저장하고 빠르게 찾아내는 기술을 배웁니다. | 데이터베이스 개론 | http://www.kocw.net/home/cview.do?cid=9c591659f017851e](http://www.kocw.net/home/cview.do?cid=9c591659f017851e) |
| 컴퓨터네트워크 | 전 세계의 컴퓨터가 소통하는 통신 규약(Protocol)을 배웁니다. OSI 7계층, TCP/IP, HTTP/HTTPS 등 웹과 분산 시스템을 지탱하는 거대한 인프라의 작동 원리를 파악합니다. | 컴퓨터 네트워킹: 하향식 접근 | http://www.kocw.net/home/search/kemView.do?kemId=1169634 |
| 컴퓨터구조론 | CPU가 명령어를 처리하는 방식, 메모리 계층 구조(Cache), 그리고 데이터가 흐르는 하드웨어적 메커니즘을 배웁니다. | 혼자 공부하는 컴퓨터구조+운영체제 | https://youtu.be/kFWP6sFKyp0 |
| 소프트웨어공학 | 요구사항 분석, 설계 패턴, 테스팅, 유지보수 등 소프트웨어 생명주기(SDLC) 전체를 관리하는 엔지니어링적 시각을 넓힙니다. | 소프트웨어공학의 모든것 | http://www.kocw.net/home/cview.do?cid=8c1f0e3871cf803d |
그 외에 학교에서 가르치지 않는 유용한 스킬들이 있습니다.
| 과목 | 설명 | 책 | 영상 |
|---|---|---|---|
| Missing Semester | CS 교육에서 가르쳐 주지 않는 툴의 숙련도를 높일 수 있습니다. | - | https://missing-semester-kr.github.io/ |