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
|
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.
11. 장애학생에 대한 학습지원 사항
- 수강 관련: 문자 통역(청각), 교과목 보조(발달), 노트필기(전 유형) 등
- 시험 관련: 시험시간 연장(필요시 전 유형), 시험지 확대 복사(시각) 등
- 기타 추가 요청사항 발생 시 장애학생지원센터(279-2434)로 요청