Algorithms and Practice (Spring Semester, 2020 – CPA341)


“Student-teacher 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 16 (Monday) – Introduction to Course
    • Course Guide
    • Practice
    • 대학보유 실험실 안전교육 콘텐츠 활용
      • 컴퓨터안전 및 생활안전
    • 온라인 컨텐츠 학습(1차시): 알고리즘의 정의와 필요성

  • March 18 (Wednesday) – Algorithms: Efficiency, Analysis, and Order – I

    • 온라인 컨텐츠 학습(2차시): 알고리즘 설계와 분석의 기초
    • 온라인 컨텐츠 학습(3차시): 점화식과 점근적 복잡도 분석
  • March 23 (Monday) – Algorithms: Efficiency, Analysis, and Order – II

  • March 25 (Wednesday) – Algorithms: Efficiency, Analysis, and Order – II

    • 온라인 컨텐츠 학습(6차시): 삽입 정렬, 병합 정렬, 셸 정렬
    • 온라인 컨텐츠 학습(7차시): 퀵 정렬, 힙 정렬, 트리 정렬
  • March 30 (Monday) – Divide-and-Conquer – I

  • April 1 (Wednesday) – Divide-and-Conquer – II

  • April 6 (Monday) – Divide-and-Conquer – III

    • 온라인 컨텐츠 학습(9차시): 선택 알고리즘
  • April 8 (Wednesday) – Divide-and-Conquer – IV

    • 온라인 컨텐츠 학습(10차시): 리스트, 스택, 큐
  • April 13 (Monday) – Term Project 설명, Dynamic Programming – I

  • May 6 (Wednesday) – The Greedy Approach – II

  • May 11 (Monday) – The Greedy Approach – III

  • May 13 (Wednesday) – The Greedy Approach – IV

  • May 18 (Monday) – The Greedy Approach – V

  • May 20 (Wednesday) – The Greedy Approach – VI

  • May 25 (Monday) – The Greedy Approach – VII

  • May 27 (Wednesday) – Backtracking – I

  • June 1 (Monday) – Backtracking – II

  • June 3 (Wednesday) – Branch-and-Bound – I

  • June 8 (Monday) – Branch-and-Bound – II

  • June 10 (Wednesday) – Branch-and-Bound – III

  • June 15 (Monday) – Branch-and-Bound – IV

  • June 17 (Wednesday) – Hash Algorithm

  • June 22 (Monday) – 마지막 강의: Theory of P & NP (P.367~P.392)

  • June 24 (Wednesday) – 기말고사 * 시험 장소 - 2공학관 312호, 313호



2. 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

3. 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’.

4. Evaluation

  • Attendance (10%), Private Report(15%), Midterm exam (30%), Final exam (30%), Term Project (15%)