Algorithm & Practice

Algorithm & Practice (알고리즘 및 실습 [CSE130-02/03], Spring Semester, 2022)


“Student-professor relationships are based on trust. Acts, which violate this trust, undermine the educational process. Your classmates and the professor will not tolerate violations of academic integrity”


1. Course Schedule & Lecture Notes


# Date In-class (오프라인/Zoom 실시간 강의) Online-class (E-Learning 학습) Notice
01 [2분반]
In-class: 03월 04일(목)
[3분반]
In-class: 03월 03일(수)
00. 수업 소개 & 알고리즘이란? 강의 노트 1.알고리즘의 정의와 필요성 (46:08)
- 학습인정기한: 2022. 03. 11
- 출석인정날짜: 2022. 03. 04
파이썬 설치하기 (아나콘다 배포판 설치 권장)
콘다 가상환경 다루기
Pycharm 설치 및 설정
파이썬 내장 함수
02 [2분반]
In-class: 03월 07일(월)
Online-class: 03월 10일(목)
[3분반]
In-class: 03월 08일(화)
Online-class: 03월 09일(수)
[주제] 알고리즘 효율 분석 방법 기초 강의 노트
[Practice]
- search.py
- fibonacci.py
2.알고리즘의 설계와 분석의 기초 (59:19)
3.점화식과 점근적 복잡도 분석 (55:43)
- 학습인정기한: 2022. 03. 18
- 출석인정날짜: 2022. 03. 11
[Practice & Homework #1]
Due Date: 03월 21일 (월요일), 23시 59분

03 [2분반]
In-class: 03월 14일(월)
Online-class: 03월 17일(목)
[3분반]
In-class: 03월 15일(화)
Online-class: 03월 16일(수)
[주제] 알고리즘의 점근적 효율 분석 강의 노트 5.정렬 알고리즘의 개요 및 선택 정렬과 버블 정렬 (28:11)
6.삽입 정렬, 병합 정렬, 셸 정렬 (41:19)
- 학습인정기한: 2022. 03. 25
- 출석인정날짜: 2022. 03. 18
04 [2분반]
In-class: 03월 21일(월)
Online-class: 03월 24일(목)
[3분반]
In-class: 03월 22일(화)
Online-class: 03월 23일(수)
[주제] 다양한 기본 정렬 알고리즘 강의 노트 7.퀵 정렬, 힙 정렬, 트리 정렬 (51:33)
- 학습인정기한: 2022. 04. 01
- 출석인정날짜: 2022. 03. 25
병합 정렬 동영상
퀵 정렬 동영상
05 [2분반]
In-class: 03월 28일(월)
Online-class: 03월 31일(목)
[3분반]
In-class: 03월 29일(화)
Online-class: 03월 30일(수)
[주제] 합병 정렬/퀵 정렬 알고리즘 9.선택 알고리즘 (47:17)
- 학습인정기한: 2022. 04. 08
- 출석인정날짜: 2022. 04. 01
[Practice & Homework #2]
Due Date: 04월 05일 (화요일), 23시 59분
06 [2분반]
In-class: 04월 04일(월)
Online-class: 04월 07일(목)
[3분반]
In-class: 04월 05일(화)
Online-class: 04월 06일(수)
[주제] 선형 시간 선택 알고리즘 강의 노트 11.검색트리(이진검색트리, 레드블랙트리) (44:54)
12.검색트리(외부검색트리) (18:20)
- 학습인정기한: 2022. 04. 15
- 출석인정날짜: 2022. 04. 08
다차원검색트리 (생략)
07 [2분반]
In-class: 04월 11일(월)
Online-class: 04월 14일(목)
[3분반]
In-class: 04월 12일(화)
Online-class: 04월 13일(수)
[주제] 이진검색트리 & B-트리 강의 노트
[Practice]
- binary_search_tree.py
13.해시 테이블 (35:01) 14.해시 테이블의 충돌 해결 방법 (46:57)
- 학습인정기한: 2022. 04. 22
- 출석인정날짜: 2022. 04. 15
[Practice & Homework #3]
Due Date: 04월 21일 (목요일), 23시 59분
08 [2분반]
In-class: 04월 18일(월)
Online-class: 04월 21일(목)
[3분반]
In-class: 04월 19일(화)
Online-class: 04월 20일(수)
[주제] 해시 테이블 강의 노트 15.상호 배타적 집합의 처리 (39:51)
- 학습인정기한: 2022. 04. 29
- 출석인정날짜: 2022. 04. 22
[중간고사 공지]
- 일시: 2022년 4월 22일(금) 오후 7시~9시
- 장소: 2분반 - 408호, 3분반 - 409호
09 [2분반]
In-class: 04월 25일(월)
Online-class: 04월 28일(목)
[3분반]
In-class: 04월 26일(화)
Online-class: 04월 27일(수)
[주제] 상호 배타적 집합 구현 강의 노트 16.동적 프로그래밍의 원리 (37:13)
- 학습인정기한: 2022. 05. 06
- 출석인정날짜: 2022. 04. 29
[참고자료] Amortized Analysis (상각분석 or 분할상환분석)
10 [2분반]
In-class: 05월 02일(월)
Online-class: 05월 05일(목)
[3분반]
In-class: 05월 03일(화)
Online-class: 05월 04일(수)
[주제] 동적 프로그래밍 - I 강의 노트 17.동적 프로그래밍의 활용 (43:45)
- 학습인정기한: 2022. 05. 13
- 출석인정날짜: 2022. 05. 06
11 [2분반]
In-class: 05월 09일(월)
Online-class: 05월 12일(목)
[3분반]
In-class: 05월 10일(화)
Online-class: 05월 11일(수)
[주제] 동적 프로그래밍 - II 18.그래프 알고리즘의 원리 (47:41)
19.그래프 알고리즘(신장트리, 위상 정렬) (37:37)
- 학습인정기한: 2022. 05. 20
- 출석인정날짜: 2022. 05. 13
12 [2분반]
In-class: 05월 16일(월)
Online-class: 05월 19일(목)
[3분반]
In-class: 05월 17일(화)
Online-class: 05월 18일(수)
[주제] 그래프 알고리즘 - I 강의 노트 20.그래프 알고리즘(최단경로, 강연결요소) (56:03)
- 학습인정기한: 2022. 05. 27
- 출석인정날짜: 2022. 05. 20
[Practice & Homework #4]
Due Date: 06월 03일 (금요일), 23시 59분
13 [2분반]
In-class: 05월 23일(월)
Online-class: 05월 26일(목)
[3분반]
In-class: 05월 24일(화)
Online-class: 05월 25일(수)
[주제] 그래프 알고리즘 - II
[Practice]
- shortest_path.py
[주제] 그리디 알고리즘 강의 노트
26.상태 공간 트리의 탐색 (62:29)
- 학습인정기한: 2022. 06. 17
- 출석인정날짜: 2022. 06. 10
14 [2분반]
In-class: 05월 30일(월)
Online-class: 06월 02일(목)
[3분반]
In-class: 05월 31일(화)
Online-class: 06월 01일(수)
[주제] 상태 공간 트리의 탐색 강의 노트 26.상태 공간 트리의 탐색 (62:29)
- 학습인정기한: 2022. 06. 17
- 출석인정날짜: 2022. 06. 10
[Practice & Homework #5]
Due Date: 06월 15일 (수요일), 23시 59분
15 [2분반]
In-class: 06월 09일(목)
Online-class: 06월 09일(목)
[3분반]
In-class: 06월 07일(화)
Online-class: 06월 08일(수)
[주제] P문제/NP문제/NP-완비 문제 강의 노트 23.P와 NP문제 (44:36)
24.NP-완비 문제 (44:22)
- 학습인정기한: 2022. 06. 10
- 출석인정날짜: 2022. 06. 03
[기말고사 공지]
- 일시: 2022년 6월 13일(월) 오후 7시 ~ 9시 30분
- 장소: 2분반 - 408호, 3분반 - 409호
 

2. Course Information


  • Lecturer: 한연희 교수 (Rm. 2공학관 423호, Email: yhhan@koreatech.ac.kr)
  • Classes:
    • 2분반: 월요일 (16:00 ~ 17:50, 월08A ~ 09B), 목요일 (16:00 ~ 17:50, 목08A ~ 09B)
    • 3분반: 화요일 (14:00 ~ 15:50, 화06A ~ 07B), 수요일 (14:00 ~ 15:50, 수06A ~ 07B),
  • Lecture Room: 409호
  • 수업조교(TA):
    • 2분반: 석영준 석사과정 (Email: dsb04163@koreatech.ac.kr)
    • 3분반: 최요한 석사과정 (Email: yoweif@koreatech.ac.kr)
  • Prerequisites: 자료 구조 (필수), 자바프로그래밍 or 스크립트프로그래밍
  • 퀴즈: http://el.koreatech.ac.kr 시험 메뉴 (매주 필수 2 문제 이상)
  • 질의 응답: http://el.koreatech.ac.kr 질의응답 메뉴 활용 (이메일 질문은 받지 않음)
  • 숙제 제출: http://el.koreatech.ac.kr 과제 메뉴 (4~5번 과제 출제 예정)


3. References


# 온라인 강의 교재

  • 알고리즘, 한국기술교육대학교 온라인 평생교육원 e-KoreaTech

# 오프라인/Zoom 실시간 강의 교재 (구매 필수)

  • 주교재: 쉽게 배우는 알고리즘 (개정판), 문병로 지음, 한빛아카데미

4. 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.
  • - Homework: much intensive homework will be set. Any cheating (or copying) will result in grade ‘F’.
  • - Exam: there will be midterm exam and final exam for the evaluation of the knowledge learned from the class.

5. Evaluation


  • Attendance (10%), Quiz (10%), Homework (20%), Midterm exam (30%), Final exam (30%)
Laboratory Partners