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

  • April 15 (Wednesday) – 21대 국회의원 선거

  • April 20 (Monday) – Dynamic Programming – II

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

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

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

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

    • HW-5 (Due Date: June 21, 2020)
  • June 10 (Wednesday) – Branch-and-Bound – III

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

  • June 17 (Wednesday) – 마지막 강의: Hash Algorithm

  • June 22 (Monday) – 온라일 기말 고사 – 오전 11시

    • **무감독 서술형 주관식 시험 (오전 11시 ~ 오후 1시) – 아래아 한글 설치 필수, 답안지 이메일 제출 **

2. Course Information

  • Lecturer: Youn-Hee Han (Rm. 423, Tel: 560-1486, yhhan@koreatech.ac.kr)
  • Classes: Monday (11:00-13:00), Wednesday (9:00-11:00)
  • Lecture Room: 409호
  • 수업조교(TA): 최호빈 석사과정 (e-mail: chb3350@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.zip)
  • 조 구성 원칙: 동일 지도교수님 지도하의 2인 1조 (조 구성에 어려움이 있는 사람은 개별적으로 Contact)
    • 5월 3일 (일요일)까지 조를 구성하여 대표 한명이 조교(chb3350@koreatech.ac.kr)에게 이메일로 알림
    • 5월 4일 (월요일)에 조 구성 못한 학생들에 대해서는 Random 조 할당
  • 제출기한: 2020년 6월 25일 목요일 23시 59분 59초

4. Term Project 조

  • 1조 : 최정용, 정형준
  • 2조 : 임주환, 라효진
  • 3조 : 김준석, 이종국
  • 4조 : 조동수, 나해찬
  • 5조 : 오현식, 이승훈
  • 6조 : 김경윤, 유승범
  • 7조 : 석영준, 유영일
  • 8조 : 최지운, 김승환
  • 9조 : 임승찬, 최요한
  • 10조 : 박장훈, 손강명
  • 11조 : 최상원, 강신혁
  • 12조 : 조민기, 노민우, 정수현

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%)