"Software Is Eating the World."
소프트웨어의 발전에 대해 이야기하면 대표적으로 나오는 마크 안더르센의 유명한 문구입니다.
저 문구가 나온지 10년이 지났지만, 아직도 저 문구는 유효하며 훨씬 더 중요해져가고 있습니다.
좋은 소프트웨어를 만들기 위해서는 좋은 소프트웨어 엔지니어가 되어야 하며, 프로그래밍 지식과 컴퓨터 과학 지식이 필요합니다.
물론 컴퓨터 과학 전공생이면 자연스레 학교에서 컴퓨터 과학 지식을 배우지만, 독학 엔지니어나 부트캠프 졸업생이라면 컴퓨터 과학을 배울 수 있는 기회가 부족합니다.
저자 또한 컴퓨터 과학 지식의 중요성을 깨닫고 SW 사관학교 정글을 통해 기본적인 컴퓨터 과학 지식 + 양질의 프로그래밍 경험을 했지만, 해당 커리큘럼 상으로는 부족한 컴퓨터 과학 지식을 채우지 못했습니다.
(아무리 좋은 커리큘럼이라도 모든 내용을 담을 순 없기에) 스스로 커리큘럼을 추가하려 노력했고, 같이 참여한 교육생들과 CS 독학 (추가) 커리큘럼을 만들었습니다.
이 커리큘럼의 내용은 teachYourselfCS에 기초를 두고 있으며, 커리큘럼의 포맷은 Knowre Web Development Curriculum에서 영감을 받았습니다.
- Chapter 1 - OS & Computer System
- Chapter 2 - Networking
- Chapter 3 - Computer Architecture
- Chapter 4 - Database
- Chapter 5 - Missing Semester
- 이 과정은 세계적인 학교들의 강의를 듣고 자신만의 방법으로 정리하는 과정입니다. 이 커리큘럼이 학습에 대한 길잡이 역할을 해주긴 하지만 결국 학습은 스스로 해야 합니다.
- 이 커리큘럼을 통해 얻은 지식들은 신입 소프트웨어 엔지니어 면접에 쓰일 수도 있고, 현업에서 실제 소프트웨어 개발을 할 때 쓰일 수도 있습니다. 해당 커리큘럼을 통해 얻은 키워드들을 잊지 않는다면 틀림없이 몇 년 후에 매력적인 엔지니어로 성장할 수 있을 것입니다.
- teachYourselfCS에 기초를 두고 있지만, 그 과정의 모든 것들을 다루진 않습니다. 과목을 추가하고 싶다면, 스스로 학습과 정리를 통해 포맷에 맞춰 이 커리큘럼에 추가해주시면 감사하겠습니다.
- 여러분들이 이 추가 커리큘럼을 통해 더 많은 것들을 배울 수 있었으면 좋겠습니다.
- 이 커리큘럼은 컴퓨터 과학에 대해 공부해보고싶은 분이라면 모두 사용 가능한 커리큘럼입니다.
- 혼자 공부해도 좋고, 그룹으로 같이 공부해도 좋습니다. 이 과정에서 소개한 개념이나 링크 이외에도 웹의 방대한 자료를 참조하면 좋을 것입니다.
- Chapter 1부터 순서대로 각각의 주제들에 관해 학습하시면 되지만, 숫자가 꼭 순서를 의미하진 않습니다. 관심이 가는 챕터부터 공부해도 무방합니다.
- 이 repo를 fork하여 자신의 저장소를 만들고, 그 저장소에 공부한 내용을 정리해보세요.
- Chapter는 다음과 같이 구성되어 있습니다.
- Introduction: 소개 글입니다.
- Topics: 이번 챕터에서 다루는 소주제에 대해 나타냅니다.
- Resources: 챕터에 대한 강의 링크입니다.
- Checklist: Topic들을 제대로 공부했는지를 자문자답 할 수 있는 문항들로 이루어져 있습니다.
- Advanced: 더 공부하고 싶은 분들을 위한 아티클 링크들입니다.
- 이 커리큘럼은 MIT 라이센스를 따릅니다. 원하는대로 쓰시고 개작하실 수 있습니다. 다만 이 커리큘럼의 내용이 마음에 드셨을 경우, 만약 원하신다면
[JungleYourselfCS](https://github.com/seanlion/jungleYourselfCS)
에서 영감을 받았다 라는 언급을 해 주시면 감사하겠습니다.