2026년도 2학기 컴파일러설계 (CSED423-01) 강의계획서

1. 수업정보

학수번호 CSED423 분반 01 학점 3.00
이수구분 전공선택 강좌유형 강의실 강좌 선수과목
포스테키안 핵심역량
강의시간 월, 수 / 14:00 ~ 15:15 / 제2공학관 강의실 [106호] | 수 / 19:00 ~ 19:50 / 제2공학관 강의실 [106호] 성적취득 구분 G

2. 강의교수 정보

김광선 이름 김광선 학과(전공) 컴퓨터공학과
이메일 주소 gangsun@postech.ac.kr Homepage
연구실 전화 054-279-2260
Office Hours By appointment

3. 강의목표

The goal of the class is to examine the design and implementation of compilers. Students will learn about concepts including lexical and syntactic analysis, semantic analysis and type checking, runtime environments, intermediate code generation, and local and global optimizations.

4. 강의선수/수강필수사항

The class prerequisites are as specified in department regulations, but basic to intermediate understanding and proficiency in C++, data structures, and finite automata are recommended.

5. 성적평가

중간고사 기말고사 출석 과제 프로젝트 발표/토론 실험/실습 퀴즈 기타
35 35 10 20 100
비고
(Subject to change)
Programming Assignment: 20%
Written Assignment: 10%
Mid-term exam: 35%
Final exam: 35%

6. 강의교재

도서명 저자명 출판사 출판년도 ISBN
Engineering a Compiler (3rd edition) Keith D. Cooper and Linda Torczon Morgan Kaufmann 2022 978-0-12-815412-0

7. 참고문헌 및 자료

8. 강의진도계획

(Tentative schedule, subject to change)
1st week - Course introduction and overview, Lexical Analysis I
2nd week - Lexical Analysis II, Intro to Parsing
3rd week - Top-down Parsing, Bottom-Up Parsing I
4th week - Bottom-up Parsing II, Semantic Analysis I
5th week - Semantic Analysis II, Runtime Environment I
6th week - Runtime Environment II, Intermediate Representation (IR)
7th week - TAC Generation I, TAC Generation II
8th week - Midterm exam
9th week - Intro to Optimizations, Data-flow Analysis I
10th week - Data-flow Analysis II, IR Optimizations I
11th week - IR Optimizations II, III
12th week - Instruction Selection, Instruction Scheduling
13th week - Instruction Scheduling, Register Allocation
14th week - Dynamic Optimizations, More topics: Learning to Optimize
15th week - More topics: Real-world Compilers, Wrap-up
16th week - Final Exam

9. 수업운영

CS423 is a course about building a compiler. This course is designed to learn theoretical concepts and apply them in practice to programming assignments which will form a complete working compiler taken together. Each programming assignment builds upon the previous one, so students are strongly encouraged not to fall behind.

10. 학습법 소개 및 기타사항

11. 장애학생에 대한 학습지원 사항

- 수강 관련: 문자 통역(청각), 교과목 보조(발달), 노트필기(전 유형) 등

- 시험 관련: 시험시간 연장(필요시 전 유형), 시험지 확대 복사(시각) 등

- 기타 추가 요청사항 발생 시 장애학생지원센터(279-2434)로 요청