Skip to content

컴퓨터 공학 (Computer Sciences)

컴퓨터 과학 상세 분야



데이터베이스 (Databases)



인공지능 (Artificial intelligence)



컴퓨터 그래픽 (Computer graphics)



사용자 인터페이스 (User interfaces)



컴퓨터공학 (Computer engineering)
(하드웨어 연구에 관련된 분야가 포함된다)



정보기술 (Information technology)
(컴퓨터 사용에 관련된 분야가 포함된다)



소프트웨어 (Software)



하드웨어 (Hardware)

컴퓨터 과학(computer science)은 정보의 이론적 기반, 계산과 그 계산을 수행, 컴퓨터 시스템에서의 응용 프로그램을 연구하는 학문으로서, 수학의 한 분야로 출발하여 독자적인 영역을 구축하였다. 전산학(電算學), 전산과학(電算 科學)이라는 용어도 사용하고 있다.

Categories

하위 분류

다른 분야와의 관계와 논란

컴퓨터 과학은 오늘날 많은 사람들이 사용하는 컴퓨터라는 기계에 대한 학문으로 한정되지 않는다. 일반적으로 컴퓨터 시스템을 디자인하고 보급하는 것은 컴퓨터 과학의 범주내에 포함되지 않는 것으로 알려져있다. 예를 들면 컴퓨터 하드웨어를 연구하는 분야는 컴퓨터 공학 (Computer Engineering)으로 불리고, 컴퓨터의 보급과 사용에 관한 연구는 정보 기술 (Information Technology) 또는 정보 시스템의 분야에 속한다.

많은 과학 분야와 비슷하게 컴퓨터 과학도 수학과 가장 밀접한 관계를 가지고 있을뿐만 아니라, 수학에 기초를 둔 과학의 한 분야이다. 컴퓨터 과학의 기초에 큰 영향을 미친 수학이 조지 불의 불 대수이다. 불 대수는 이진법을 기반으로 한 대수학으로, 그 외에 체론과 환론 또한 중요한 영향을 미쳤다. 초기의 컴퓨터 과학은 쿠르트 괴델과 앨런 튜링 등의 수학자들이 큰 영향을 끼쳤고, 수리논리학, 범주 이론, 도메인 이론, 대수학과 같은 수학 분유들은 컴퓨터 과학과 함께 발전하고 있다.

컴퓨터 과학과 소프트웨어 공학의 관계에 대해서는 논란이 많다. 컴퓨터 과학과 소프트웨어 공학이란 용어들이 애매하게 정의가 되어있기 때문이다. 소프트웨어 공학은 컴퓨터 과학의 한 분야에 불과하다고 말하는 사람들이 있는 반면, 그렇지 않다고 하는 사람들도 있다.

로드맵

🎓 Path to a free self-taught education in Computer Science!

  • OSSU 커리큘럼은 전 세계 유수 대학의 온라인 자료를 통해 컴퓨터 과학의 완전한 교육 과정을 무료로 제공함
  • 입문, 핵심, 고급, 파이널 프로젝트로 대학 학사 수준의 컴퓨터 과학 커리큘럼 구조를 재현함
  • 모든 강의와 과제는 무료 또는 대부분 무료이나, 일부 평가 과제에 비용이 발생할 수도 있음
  • Discord 커뮤니티 등 활발한 글로벌 학습자 지원 네트워크와 자료 업데이트가 지속적으로 운영됨
  • 학습자는 독립적 또는 그룹별, 본인 상황에 맞게 유연하게 진도 조정 및 선택이 가능함

OSSU란 무엇이며 왜 중요한가

OSSU(Open Source Society University)는 누구나 비용 없이 컴퓨터 과학 정규 학위 수준의 교육을 스스로 받을 수 있도록 설계된 오픈 소스 커리큘럼임. 하버드, MIT, 프린스턴 등 세계 최고 대학의 공개 강의 및 자료를 활용하며, 일회성 지식 전달이 아닌 균형 잡힌 이론·실습·응용 기반의 학습 경험 제공이 목표임.

  • 모든 학습 자료는 온라인에서 공개된 고품질의 무료 리소스를 선별함
  • CS2013 표준과 같이, 국제 컴퓨터 공학 기본 학사과정 기준을 철저히 반영함
  • 스스로 동기 부여와 지속적인 학습 습관을 갖고, 전 세계 학습 커뮤니티에서 도움을 얻을 수 있는 사람을 주요 대상으로 함

커리큘럼 구조 및 특징

  • 입문(Introduction to CS) : 컴퓨터 과학 및 프로그래밍 기본 개념과 재미를 체험해 볼 수 있음. Python 프로그래밍, 계산 이론, 기초 자료구조 및 알고리듬 등 포함함
  • 핵심(Core CS) : 3년 차 대학 커리큘럼에 해당하는 부분으로, 프로그래밍(함수형, 객체지향, 소프트웨어 설계), 수학(이산수학, 통계, 확률, 미적분), 시스템(컴퓨터 구조, OS, 네트워킹), 이론(알고리듬, NP문제 등), 보안, 응용, 윤리 등을 필수로 담고 있음
  • 고급(Advanced CS) : 최종 학년 과정에 해당함. 심화 프로그래밍, 시스템, 이론, 정보보안, 고급수학 중 관심 분야를 선택할 수 있음
  • 파이널 프로젝트: 배운 지식을 활용해 실제 프로젝트를 수행하며, 글로벌 동료 학습자와 결과를 공유하고 검증함. 실무 역량 인증 및 취업 포트폴리오로 활용 가능함

커리큘럼 세부 목록

  • 사전 요구 조건
    • 핵심 CS는 고등학교 수준의 수학(대수, 기하, 미적분 전 단계) 필수
    • 고급 CS는 핵심 과정을 모두 마쳐야 선택 가능
    • Advanced systems 과목은 고등학교 수준의 기초 물리학 지식이 요구됨
  • 입문 CS(Introduction to CS)
    • 컴퓨터 과학 첫걸음. 기본적인 연산, 명령형 프로그래밍, 자료구조, 알고리듬 등 소개
    • 필수 강의: 'Introduction to Computer Science and Programming using Python' (14주)
  • 핵심 CS(Core CS)
    • 프로그래밍
      • 함수형/객체지향/테스트/패턴/타이핑/언어 다양성 등 폭넓은 실습
      • Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture 등
    • 수학
      • 이산수학, 수학적 증명, 기초 통계, O표기법, 확률, 미적분 포함
    • 개발 도구 및 환경
      • 터미널, 쉘 스크립팅, vim, 커맨드라인, 버전관리(git) 등 실무 필수 도구
    • 시스템
      • 하드웨어~운영체제~네트워크까지 컴퓨터 작동원리 전반적 이해
      • 예시: Nand to Tetris 프로젝트, OS Three Easy Pieces, Networking 등
    • 이론
      • 알고리듬 분석, 분할정복, 그래프, 동적계획법, NP문제 등 포함
    • 보안
      • 정보보안 기초, 안전한 코딩, 취약점 분석, 네트워크/암호 등 선택 과목 포함
    • 응용
      • 데이터베이스, 머신러닝, 컴퓨터 그래픽스, 소프트웨어공학 등 실전 활용 영역까지 폭넓게 다룸
    • 윤리
      • 기술의 사회적 맥락, 전문성, 지적재산권, 데이터 프라이버시 등 기술자 필수 윤리성 강조
  • 고급 CS(Advanced CS)
    • 진로/관심 분야별 선택. 병렬 프로그래밍, 컴파일러, 해스켈/프롤로그 등 언어, 소프트웨어 디버깅/테스팅
    • 컴퓨터 구조, 수치해석/논리/확률, 계산이론, 정보보안, 시스템 구축 등 폭넓은 선택지
  • 파이널 프로젝트(Final Project)
    • 실전형 프로젝트 선택 및 설계·구현·공유
    • 옵션 예시: 풀스택 서비스, 로보틱스, 데이터마이닝, 빅데이터, IoT, 클라우드 컴퓨팅, 데이터사이언스, 게임 개발 등
    • 스스로 또는 추천 코스 활용 가능
  • 학습 완료 이후
    • CS 분야 학사학위와 동등한 지식 체득 인증
    • 취업 준비, 심화 독서(List 제공), 오프라인 개발자 모임 등 연계 추천
    • 신기술 탐색(Elixir/Rust/Idris 언어 등) 독려

Favorite site