본문 바로가기
CS 공부/기본 지식

CS 지식 공부 순서

by 학습하는 청년 2024. 12. 25.

최종 수정 : 25.1.5

CS 공부는 지름길이 없다. 기본서가 되는 책을 사서 여러 번 정독하고 계속 꼬리를 물어가는 형태로 질문하면서 학습하고 반복해야 한다. 비전공자인만큼 CS를 자발적으로 공부해야 한다. 단단한 CS 지식은 많은 면접들의 기본이 될 뿐만 아니라 빠르게 변화하눈 IT 산업 흐름 속에서도 흔들리지 않게 만들어주는 기둥 역할을 할 것이다.

 

CS는 앞으로 개발자로서 길을 걷는 좋은 발판이 되어준다. '기본기'라고 할 수 있기에 풍부하고 정확한 CS지식을 갖추는 것은 좋은 개발자가 되는 척도이다. 기업에서도 이 기본기를 가장 중요하게 보고 면접에서도 반드시 질문으로 나온다.

<필수로 익혀야 하는 과목>
5대 과목 : 자료구조, 알고리즘, 운영체제, 데이터베이스, 네트워크


CS 공부 순서

A. 점점 깊이 들어가는 방식

실용적이고 실습 중심적인 접근 방식이라 빠르게 프로그래밍을 시작할 수 있다.

순서 목차 내용
1 프로그래밍 기초 ● 하나의 프로그래밍 언어 선택
● 변수, 자료형, 조건문, 반복문과 같은 기본 문법
함수와 객체지향 프로그래밍의 개념
프로그래밍은 모든 CS 지식을 실제로 구현하고 실험해볼 수 있는 도구이다.
복잡한 개념들을 직접 코드로 만들어보면서 더 깊이 이해할 수 있다.
자료구조, 알고리즘 등을 실제로 구현해볼 수 있다.
2 자료구조와 알고리즘 기본 자료구조: 배열, 연결리스트, 스택, 큐, 해시테이블
트리와 그래프 구조
정렬과 검색 알고리즘
시간 / 공간 복잡도 분석
효율적인 프로그램을 만들기 위한 기본 틀을 제공한다.
문제 해결 능력을 기르는데 도움이 된다.
다른 높은 수준의 개념들을 이해하는데 필수적이다.
3 컴퓨터 구조 ● 컴퓨터의 기본 구성요소
● CPU 작동 원리
● 메모리 구조
● 운영체제 기호
● 프로그램이 실제로 어떻게 실행되는지 이해할 수 있다.
● 성능 최적화나 디버깅을 할 때 더 깊은 이해가 가능하다.
● 운영체제나 네트워크를 배우기 위한 기초가 된다.
4 네트워크 ● TCP / IP 프로토콜
● HTTP / HTTPS
● API의 이해
● 네트워크 보안 기초
● 컴퓨터 구조와 운영체제의 지식을 기반으로 더 잘 이해할 수 있다.
● 프로토콜, 패킷, 라우팅 등의 개념이 하드웨어와 운영체제의 이해를 필요로 한다.
● 네트워크 프로그래밍을 하려면 기본적인 프로그래밍 실력이 필요하다.
5 데이터베이스 ● SQL 기초
● 데이터베이스 설계
● CRUD 작업
● 정규화
● 데이터 모델링을 위해서는 자료구조의 이해가 필요하다.
● 쿼리 최적화를 이해하려면 알고리즘 지식이 도움된다.
● 실제 서비스 개발에서 필수적으로 사용되는 실용적인 지식이다.
 

 

B. BottomUp 방식

더 체계적이고 학문적인 접근 방식으로 컴퓨터 과학의 기초부터 차근차근 쌓아올릴 수 있다.

순서 과목 이유
1 컴퓨터 과학 기본 지식 ● 컴퓨터가 무엇이고 어떤 원리로 작동하는지에 대한 기본적인 이해가 필요하다.
● 이후 배우는 모든 심화 과정의 기초가 되는 개념들을 먼저 이해해야 한다.
● 이진수, 논리 회로, 프로그래밍 기초와 같은 핵심 개념들이 이후 학습의 토대가 된다.
2 컴퓨터 구조 ● 컴퓨터의 물리적 구성 요소들이 어떻게 동작하는지 이해해야 한다.
● CPU, 메모리, 캐시 등의 하드웨어 동작 원리는 이후 배우는 모든 소프트웨어의 기반이 된다.
● 컴퓨터의 성능과 한계를 이해하면 더 효율적인 프로그램을 만들 수 있다.
3 운영체제 ● 컴퓨터 구조를 알아야 운영체제가 하드웨어를 어떻게 관리하는지 이해할 수 있다.
● 프로세스 관리, 메모리 관리, 파일 시스템과 같은 핵심 개념들은 상위 레벨 프로그래밍의 기초가 된다.
● 멀티태스킹, 동기화, 교착상태 등의 개념은 네트워크와 데이터베이스 학습에 필수적이다.
4 자료구조 ● 운영체제에서 배운 메모리 관리 개념을 바탕으로 데이터를 효율적으로 저장하고 관리하는 방법을 이해할 수 있다.
● 알고리즘과 함께 프로그래밍의 효율성을 높이는 핵심 요소이다.
● 네트워크와 데이터베이스에서 데이터를 다루는 방식을 이해하는데 기초가 된다.
5 네트워크 ● 운영체제의 프로세스 간 통신 개념이 네트워크 통신의 기초가 된다.
● 자료구조 지식은 패킷의 구조와 라우팅 알고리즘을 이해하는데 필요하다.
● 분산 시스템의 개념은 데이터베이스를 이해하는데 중요하다.
6 데이터베이스 ● 이전에 배운 모든 개념들이 통합적으로 사용된다.
● 데이터의 저장, 검색, 관리에 필요한 모든 하위 개념들의 이해가 선행되어야 한다.
● 실제 시스템 구축에 있어 가장 상위 레벨의 지식을 다루게 된다.

'CS 공부 > 기본 지식' 카테고리의 다른 글

컴퓨터 과학에 대하여  (0) 2024.12.25

댓글