Computer Science 자료 목록

Error403 ㅣ 2024. 5. 5. 19:42

Computer Science, 줄여서 흔히들 CS라 부르는 그것.

 

 CS 공부는 참 뭐랄까,,, 애매한 구석이 많다, CS가 애매하다는 게 아니다. CS는 무엇보다 정확하며 흔들릴 구석도 없다. 문제는 학습자 입장에서 학습 자료를 택하는 데에 있다. 양질의 자료는 차고 넘치지만 한국어 사용자 입장에서 당연히 국문을 선호하게 되고, 선호에 따라 자료를 택하다보면 출처와 신뢰도가 분명하지 못한 자료에 손을 대게 된다. 그러다보면 정확하지 못한 자료와 신뢰성 없는 내용을 이해없이 암기하는 데에 자원 -시간, 노력, 열정 등등- 을 들이게 되며, 소위 말하는 비생산적이며 써먹을 구석도 없는데다가 심지어 운이 좋지 않은 경우에 있어서는 들인 자원을 다 포기하고 다시 공부해야하는 상황까지도 마주할 수 있다.

 

 위에서 말한 운이 좋지 못한 경우를 포함해서 이 글을 읽고 있는, 아마 꽤나 높은 확률로 CS를 공부해야하는데 어떤 자료로 공부해야할지 잘 모르겠는 사람들을 위해 내가 CS를 공부할 때 읽었던 (그리고 지금도 생각날 때나 헷갈릴 때 펼치는) 자료들을 정리해봤다. 이 목록이 도움이 되었거나, 혹은 마음에 들었다면 Discord ID @2rr0r4o3으로 친추해주시라. 기왕이면 트위터 @2rr0r4o3도 팔로우 해주시면 참으로 감사드릴 따름이다.

 

A. Language

1. C : The C Programming Language 2/E (Brian W. Kernighan , Ritchie, Demmos M. , Ritchie, Dennis)
2. C++ : The C++ Programming Language 5th (Bjarne Stroustrup)
3. Python : https://docs.python.org/3.12/ (Python official docs) 
4. Java : Learning Java, 5th Edition (Marc Loy)
5. Javascript

- Javascript The Definitive Guide 7/E (David Flanagan)

- ECMA Docs (https://tc39.es/ecma262/)
7. Rust

- https://www.rust-lang.org/learn (Rust official docs)

- The Rust Programming Language, 2nd Edition
8. Go : 

- https://go.dev/doc/ (Go official docs)

- The Go Programming Language
9. Assembly : https://cdrdv2.intel.com/v1/dl/getContent/671200 // ISA docs는 공급사 홈피 찾아보시면 다 공개되어있음
 
B. Theory

1. 알고리즘/자료구조

- Introduction to Algorithms (TH Cormen)

- Data Structures and Algorithms Made Easy (Narasimha Karumanchi)
2. 컴퓨터 구조 : Computer Architecture: A Quantitative Approach 7th (John L. Hennessy, David A. Patterson)
3. 운영체제

- Operating system concepts 10th (Abraham Silberschatz, Peter B Galvin, Greg Gagne)

- https://docs.kernel.org/ (Linux kernel official docs)

- Windows internal 7th part 1, 2
4. 논리회로 : Logic Gates, Circuits, Processors, Compilers and Computers (Jan Friso Groote)
5. 구현체 이론

- Compilers Principles, Techniques, & Tool 2nd (Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman) - https://llvm.org/docs/ (LLVM docs)
6. 네트워크
- computer networking a top-down approach 8th
- TCP/IP Illustrated, Volume 1, Second Edition
- Data Communications and Networking
- 필요할 경우 IEEE 표준문서 (근데 이건 CS 기초 잡으면서 볼 일이 없을 수도 있음)



'Archive' 카테고리의 다른 글

Linux kernel N-day vulnerability analysis  (0) 2024.01.14
Linux kernel  (0) 2024.01.14