목차5개 항목
출처와 참고
OSSU의 공개 컴퓨터과학 커리큘럼과 관련 자료를 주제별로 재구성한 노트다.
심화 과정의 위치
Advanced CS는 Core CS를 마친 뒤 진로와 목표에 맞는 과목을 선택하는 단계다. 모든 심화 강좌를 의무적으로 듣는 과정은 아니다.
| 심화 영역 | 깊게 파는 질문 |
|---|---|
| 병렬 프로그래밍 | 독립 계산을 동시에 수행할 때 공유 상태와 경합을 어떻게 통제할까 |
| 컴파일러 | 소스 코드가 파싱·중간 표현·최적화·기계 코드로 어떻게 변환될까 |
| 논리·함수형 언어 | 계산을 값·규칙·증명에 가깝게 기술할 수 있을까 |
| 테스트·디버깅 | 실패 원인을 체계적으로 격리하고 검증할 수 있을까 |
| 컴퓨터 구조 | 회로·명령어·캐시·파이프라인이 성능에 어떤 제약을 만들까 |
심화 프로그래밍
Advanced programming
| 강좌 | 기간 | 주당 학습량 | 선수 지식·참고 |
|---|---|---|---|
| Parallel Programming | 4 weeks | 6-8 hours/week | Scala programming |
| Compilers | 9 weeks | 6-8 hours/week | none |
| Introduction to Haskell | 14 weeks | - | - |
| Learn Prolog Now! (alternative)* | 12 weeks | - | - |
| Software Debugging | 8 weeks | 6 hours/week | Python, object-oriented programming |
| Software Testing | 4 weeks | 6 hours/week | Python, programming experience |
심화 시스템
Advanced systems
| 강좌 | 기간 | 주당 학습량 | 선수 지식·참고 |
|---|---|---|---|
| Computation Structures 1: Digital Circuits alternative 1 alternative 2 | 10 weeks | 6 hours/week | Nand2Tetris II; Alternate links contain all 3 courses. |
| Computation Structures 2: Computer Architecture | 10 weeks | 6 hours/week | Computation Structures 1; - |
| Computation Structures 3: Computer Organization | 10 weeks | 6 hours/week | Computation Structures 2; - |
관련 노트: 프로그래밍 패러다임, 프로그램 실행, 동시성