3. 강의목표
Algorithms are procedures or methods that solve problems arising across the full range of computing applications. Algorithmic problems from those areas, however, are rarely mathematically well-formed and they often come with application-specific details, most of which are extraneous. The goal of this course is to understand how to formulate problems, and from this, how to design correct and efficient algorithms for the resulting problems. The course starts with an introduction to algorithms. We then study five essential algorithm design techniques: divide-and-conquer algorithms, greedy algorithms, dynamic programming, linear programming, and graph algorithms. We will also spend a few weeks on computational intractability as well as advanced algorithms (e.g., approximation, streaming, and continuous algorithms).
4. 강의선수/수강필수사항
CSED101: Programming and Problem Solving
CSED233: Data Structures
5. 성적평가
Attendance: 0% (fail if you miss >=8 classes)
Homework: 10% (~6 written assignments; having discussion with friends, AI, etc. is allowed)
Midterm Exam: 45%
Final Exam: 45%
7. 참고문헌 및 자료
Algorithms / Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani / McGraw-Hill / ISBN 9780071259750
Algorithms / Jeff Erickson / PDF version available at http://algorithms.wtf / ISBN 9781792644832
Algorithm Design / Jon Kleinberg, Éva Tardos / Addison Wesley / ISBN 9780321295354
8. 강의진도계획
Week 1: Computational Efficiency
Week 2-3: Divide-and-Conquer Algorithms
Week 4-5: Graph Algorithms
Week 6: No Class (Chuseok)
Week 7: Greedy Algorithms
Week 8: Midterm Exam
-------------------------------
Week 9-10: Dynamic Programming
Week 11-12: Linear Programming
Week 13: NP-Complete Problems
Week 14-15: Advanced Topics (Approximation, Streaming, Continuous Algorithms)
Week 16: Final Exam
11. 장애학생에 대한 학습지원 사항
- 수강 관련: 문자 통역(청각), 교과목 보조(발달), 노트필기(전 유형) 등
- 시험 관련: 시험시간 연장(필요시 전 유형), 시험지 확대 복사(시각) 등
- 기타 추가 요청사항 발생 시 장애학생지원센터(279-2434)로 요청