Algorithms and Practice (Spring Semester, 2016 – CPA341)
“Studentteacher relationships are based on trust. Acts, which violate this trust, undermine the educational process. Your classmates and the instructor will not tolerate violations of academic integrity”
1. Course Schedule & Lecture Notes

March 07 – Algorithms: Efficiency, Analysis, and Order – I

March 9 – Algorithms: Efficiency, Analysis, and Order – II

March 14 – Algorithms: Efficiency, Analysis, and Order – III

March 16 – Algorithms: Efficiency, Analysis, and Order – IV

March 21 – DivideandConquer – I

March 23 – DivideandConquer – II

March 28 – DivideandConquer – III

March 30 – DivideandConquer – IV

April 04 – DivideandConquer – V

April 06 – Dynamic Programming – I

April 11 – Dynamic Programming – II
 April 20 – Dynamic Programming – IV

May 04 – The Greedy Approach – III

May 09 – The Greedy Approach – IV

May 11 – The Greedy Approach – V

May 16 – The Greedy Approach – VI, Backtracking – I

May 18 – Backtracking – II

May 23 – Backtracking – III

June 01 – BranchandBound – III

June 06 – [현충일]

June 8 – Hash & kMeans

June 13 – Theory of P & NP (P.367~P.392)

June 15 – Term Project Presentation

June 20 – Final Exam.
2. Course Information
 Lecturer: YounHee Han (Rm. B303, Tel: 5601486, yhhan@kut.ac.kr)
 Classes: Monday (09:0011:00), Wednesday (11:0013:00)
 Lecture Room: Monday – / Wednesday
 TA: 김태형 (email: matthew409@koreatech.ac.kr)
 Course Board(숙제 제출 사이트): http://el.koreatech.ac.kr
 Prerequisites: 자료구조, 이산수학
 Course Description: This course is about the design, analysis and use of algorithms. We will study a number of common algorithm design techniques. We will apply each technique to several problems so that we can see how to use the technique in a variety of problems and come to understand how to apply it in new situations. We will also solve some problems using several of the design techniques so that we can compare the different techniques and have a basis for selecting one over another. The algorithms that we use as examples are interesting and useful in their own right. The algorithms not only illustrate methods of design and analysis, but also solve common problems that arise in a variety of applications.
3. Term Project Guide
 주제: Pixel 게임 알고리즘 구현 및 리그전
 Pixel Project 설명: PixelTermProject.ppt
 참고사이트: Click!
 Pixel Project Source Code: Pixel.zip
 조 구성 원칙: 동일 지도교수님 지도하의 2인 1조 (조 구성에 어려움이 있는 사람은 개별적으로 Contact)
 4월 10일 (일요일) 까지 조를 구성하여 대표 한명이 조교(kth409@hotmail.com)에게 이메일로 알림
 제출기한: 2016년 6월 11일 토요일
4. Term Project 조
 1조 : 김선주, 노주영
 2조 : 최준혁, 조영현
 3조 : 임도은, 김현국
 4조 : 이소형, 최유진
 5조 : 김경환, 이동석
 6조 : 이우용, 정구헌
 7조 : 김상균, 김남형
 8조 : 주해용, 차재영
 9조 : 손지원, 박준영
 10조 : 안찬웅, 김민영
 11조 : 김광이, 장석준
 12조 : 임수민, 조든솔
 13조 : 김정헌, 박종훈
 14조 : 김재현, 이준구
 15조 : 이정민, 김동우
 16조 : 강산, 김승태
 17조 : 김윤철, 박재준
 18조 : 박정아, 신지혜
5. Reference
 주교재: 도경구 역, Foundations of Algorithms Using Java Pseudocode, 사이텍미디어 (원저자: Richard Neapolitan and Kumarss Naimipour) Click
 원서: Neapolitan, R. and Naimipour, K. (2004) Foundations of Algorithms using Java Pseudocode, Jones and Bartlett Publishers, Sudbury, Mass
6. Logistics
 Attendance – one class absence will result in the deduction of two points out of 100 points. Five absences will not result in ten points deduction, but “failure” (i.e., grade ‘F’) in this course.
 Exam – there will be midterm exam and final exam for the evaluation of the knowledge learned from the class.
 Homework – much intensive homework will be set. Any cheating (or copying) will result in grade ‘F’.
7. Evaluation
 Attendance (10%), Private Report(15%), Midterm exam (30%), Final exam (30%), Term Project (15%)