2010 학년도 1학기 강의계획서 -...

7
교과목번호 교과목명 분반 학점 이론 실습 학년 수업대상전공 327438 컴퓨터알고리즘 E11 3.0 2.0 2.0 컴퓨터공학전공 컴퓨터정보공학부 4 컴퓨터공학전공 2010 학년도 1학기 2010 학년도 1학기 강의계획서 수업요일 수업시간 건물 강의실 5-6 교시 U-IT관 U310 U310 데이터베이스실습실 7-8 교시 U-IT관 U310 U310 데이터베이스실습실 담당교수 강대기 연구실 UIT207 연락처 010-7557-2944 E-MAIL [email protected] 홈페이지 http://dongseo.ac.kr/~dkkang 상담시간 월요일 10시 - 5시 저서명 출판사 발행년도 주교재 IT CookBook, 쉽게 배우는 알고리즘: 관계 중 문병로 한빛미디어(주) 2007 24,300 원어수업내용 영어 평가방법 평가요소 상대평가 (단위 %) 수시평가 중간고사 25 기말고사 35 출석 10 과제물 30 토론 학습태도 발표 봉사(튜터) 기타 수업목표 컴퓨터 알고리즘에 대해 공부한다. 좀 더 자세히 다음과 같은 것들을 다룬다. 자료구조를 이해하고, 알고리즘의 설계/분석을 수련하며, 재귀적/귀납적 사고방식을 훈련하여, 주어진 문제 해결 기법의 기초를 익힌다. 수업개요 컴퓨터 알고리즘에 대해 공부한다. 좀 더 자세히 다음과 같은 것들을 다룬다. 1. 알고리즘을 평가하기 위한 기초적인 수학 도구들을 공부한다. 2. 정렬, 선택, 자료 저장, 검색 등의 기초적인 알고리즘을 공부한다. 3. 집합, 그래프 등의 자료 구조를 기초적인 자료 구조를 공부한다. 4. 그리디 방법 및 동적 프로그래밍에 대해 공부한다. 문자열 매칭에 대해 응용해 본다. 5. 우리가 가진 컴퓨터로 계산하는 능력의 한계에 대해 공부한다. 6. 문제의 해결 방법을 찾는 것을 상태 공간 검색의 관점에서 살펴본다. 수업방법 이론과 실습을 병행한다. 이론 시간에는 알고리즘의 이론적 측면을 설명한다. 실습 시간은 주어진 예에 대해 알고리즘이 실제로 동작하는 바를 하나하나 실연해 보인다. 또한 학생으로 하여금 익힌 알고리즘을 실제로 프로그래밍해 볼 수 있도록 한다. ws12150Li01 출력날짜 : 2010-01-16 1/7

Upload: others

Post on 19-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

교과목번호 교과목명 분반 학점 이론 실습 학년 수업대상전공

327438 컴퓨터알고리즘 E11 3.0 2.0 2.0 컴퓨터공학전공

컴퓨터정보공학부

4

컴퓨터공학전공 2010 학년도 1학기

2010 학년도 1학기 강의계획서

수업요일 수업시간 건물 강의실

수 5-6 교시 U-IT관 U310 U310 데이터베이스실습실

수 7-8 교시 U-IT관 U310 U310 데이터베이스실습실

담당교수

성 명 강대기

연구실 UIT207 연락처 010-7557-2944

E-MAIL [email protected]

홈페이지 http://dongseo.ac.kr/~dkkang

상담시간 월요일 10시 - 5시

교 재 저서명 저 자 출판사 발행년도 정 가

주교재 IT CookBook, 쉽게 배우는 알고리즘: 관계 중심의 사고법문병로 한빛미디어(주) 2007 24,300

원어수업내용 영어

평가방법및

평가요소

상대평가 (단위 %)

수시평가 중간고사 25 기말고사 35 출석 10 과제물 30

토론 학습태도 발표 봉사(튜터) 기타

수업목표컴퓨터 알고리즘에 대해 공부한다. 좀 더 자세히 다음과 같은 것들을 다룬다.자료구조를 이해하고, 알고리즘의 설계/분석을 수련하며, 재귀적/귀납적 사고방식을 훈련하여, 주어진 문제 해결기법의 기초를 익힌다.

수업개요

컴퓨터 알고리즘에 대해 공부한다. 좀 더 자세히 다음과 같은 것들을 다룬다.

1. 알고리즘을 평가하기 위한 기초적인 수학 도구들을 공부한다.2. 정렬, 선택, 자료 저장, 검색 등의 기초적인 알고리즘을 공부한다.3. 집합, 그래프 등의 자료 구조를 기초적인 자료 구조를 공부한다. 4. 그리디 방법 및 동적 프로그래밍에 대해 공부한다. 문자열 매칭에 대해 응용해 본다. 5. 우리가 가진 컴퓨터로 계산하는 능력의 한계에 대해 공부한다. 6. 문제의 해결 방법을 찾는 것을 상태 공간 검색의 관점에서 살펴본다.

수업방법

이론과 실습을 병행한다.

이론 시간에는 알고리즘의 이론적 측면을 설명한다.실습 시간은 주어진 예에 대해 알고리즘이 실제로 동작하는 바를 하나하나 실연해 보인다. 또한 학생으로 하여금 익힌 알고리즘을 실제로 프로그래밍해 볼 수 있도록 한다.

ws12150Li01 출력날짜 : 2010-01-161/7

Page 2: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

시 험

다음과 같은 방법으로 평가한다.

중간 25% - 점근적 복잡도, 정렬, 선택, 검색 트리, 해쉬 테이블기말 35% - Disjoint Union, 동적 프로그래밍, 그래프 알고리즘, 문자열 매칭, NP 완비, 상태공간트리출석 10%과제 30% - 3 회

과제물

프로그래밍 50%, 알고리즘 기술 및 분석 50%

1. 점근적 복잡도, 정렬, 선택2. 검색 트리, 해쉬 테이블, Disjoint Union, 동적 프로그래밍, 그래프 알고리즘3. 문자열 매칭, NP 완비, 상태공간트리

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

1 1

1장. 알고리즘 설계와 분석의 기초01. 몇 가지 기초 사항들 1.1 알고리즘이란 1.2 알고리즘을 왜 분석하는가 1.3 알고리즘의 수행 시간 1.4 재귀(자기호출)와 귀납적 사고 1.5 알고리즘으로 어떤 문제를 푸는가

강의+토의프로젝트,컴퓨터

과제 #1프로그래밍 50%알고리즘 서술 50%

이론

1 2

1장. 알고리즘 설계와 분석의 기초02. 점근적 표기 2.1 θ-표기법 2.2 O-표기법 2.2 Ω-표기법03. 점근적 표기의 엄밀한 정의 3.1 O-표기법 3.2 Ω-표기법 3.3 θ-표기법 3.4 ο-표기법 3.5 ω-표기법

강의+토의프로젝트,컴퓨터

이론

1 3 [알고리즘 1-1] 병합정렬 강의+토의프로젝트,컴퓨터

실습

1 4 점근적 표기법에 대한 퀴즈 강의+토의프로젝트,컴퓨터

실습

2 12장. 점화식과 점근적 복잡도 분석01. 점화식의 이해

강의+토의프로젝트,컴퓨터

이론

2 2

2장. 점화식과 점근적 복잡도 분석02. 점화식의 점근적 분석 방법 2.1 반복대치 2.2 추정후 증명 2.3 마스터 정리

강의+토의프로젝트,컴퓨터

이론

2 3 1장 연습문제 강의+토의프로젝트,컴퓨터

실습

2 4 1장 연습문제 강의+토의프로젝트,컴퓨터

실습

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-162/7

Page 3: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

3 1

3장. 정렬01. 기초적인 정렬 알고리즘 1.1 선택정렬 1.2 버블정렬

강의+토의프로젝트,컴퓨터

이론

3 23장. 정렬01. 기초적인 정렬 알고리즘 1.3 삽입정렬

강의+토의프로젝트,컴퓨터

이론

3 3[알고리즘 3-1] 선택정렬[알고리즘 3-2] 버블정렬

강의+토의프로젝트,컴퓨터

실습

3 4 [알고리즘 3-3] 삽입정렬 강의+토의프로젝트,컴퓨터

실습

4 1

02. 고급 정렬 알고리즘 2.1 병합정렬 2.2 퀵정렬 2.3 힙정렬

강의+토의프로젝트,컴퓨터

이론

4 2

03. 비교정렬 시간의 하한04. 특수 정렬 알고리즘 4.1 기수정렬 4.2 계수정렬

강의+토의프로젝트,컴퓨터

이론

4 3

[알고리즘 3-4] 병합정렬[알고리즘 3-5] 퀵정렬[알고리즘 3-6] 힙만들기[알고리즘 3-7] 힙정렬

강의+토의프로젝트,컴퓨터

실습

4 4[알고리즘 3-8] 기수정렬[알고리즘 3-9] 계수정렬

강의+토의프로젝트,컴퓨터

실습

5 14장. 선택 알고리즘01. 평균 선형시간 선택 알고리즘

강의+토의프로젝트,컴퓨터

이론

5 24장. 선택 알고리즘02. 최악의 경우 선형시간 선택 알고리즘

강의+토의프로젝트,컴퓨터

이론

5 3 [알고리즘 4-1] 평균 선형시간 선택 알고리즘 강의+토의프로젝트,컴퓨터

실습

5 4 [알고리즘 4-2] 최악의 경우 선형시간 선택 알고리즘 강의+토의프로젝트,컴퓨터

실습

6 1

5장. 검색트리01. 레코드, 키의 정의 및 검색트리02. 이진검색트리 2.1 이진검색트리에서의 검색 2.2 이진검색트리에서의 삽입 2.3 이진검색트리에서의 삭제

강의+토의프로젝트,컴퓨터

과제 #2프로그래밍 50%알고리즘 서술 50%

이론

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-163/7

Page 4: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

6 2

5장. 검색트리03. 레드블랙트리 3.1 레드블랙트리에서의 삽입 3.2 레드블랙트리에서의 삭제 3.3 레드블랙트리의 작업 성능 분석

강의+토의프로젝트,컴퓨터

이론

6 3[알고리즘 5-1] 이진검색트리에서의 검색[알고리즘 5-2] 이진검색트리에서의 삽입

강의+토의프로젝트,컴퓨터

실습

6 4[알고리즘 5-2b] 이진검색트리에서의 삽입(비재귀적버전)[알고리즘 5-3] 이진검색트리에서의 삭제

강의+토의프로젝트,컴퓨터

실습

7 1

04. B-트리 4.1 B-트리에서의 검색 4.2 B-트리에서의 삽입 4.3 B-트리에서의 삭제 4.4 B-트리의 작업 성능 분석

강의+토의프로젝트,컴퓨터

이론

7 2

05. 다차원검색트리 5.1 KD-트리 5.2 KDB-트리 5.3 R-트리 5.4 그리드 파일

강의+토의프로젝트,컴퓨터

이론

7 3[스케치 5-4] B-트리에서의 삽입[스케치 5-5] B-트리에서의 삭제

강의+토의프로젝트,컴퓨터

실습

7 4[Drift] 천재 알고리즘의 재현: 스트라센 알고리즘의재고

강의+토의프로젝트,컴퓨터

실습

8 1

6장. 해시 테이블01. 해시 테이블: 검색 효율의 극단02. 해시 함수 2.1 나누기 방법 2.2 곱하기 방법

강의+토의프로젝트,컴퓨터

이론

8 2

6장. 해시 테이블03. 충돌 해결 3.1 체이닝 3.2 개방 주소 방법04. 해시 테이블에서의 검색 시간 분석

강의+토의프로젝트,컴퓨터

이론

8 3[알고리즘 6-1] 체이닝을 사용하는 해시 테이블에서의 작업

강의+토의프로젝트,컴퓨터

실습

8 4 [알고리즘 6-2] 개방주소 방법 강의+토의프로젝트,컴퓨터

실습

9 1

7장. 상호 배타적 집합의 처리01. 연결 리스트를 이용한 집합의 처리 1.1 작업의 개요 1.2 수행시간

강의+토의프로젝트,컴퓨터

이론

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-164/7

Page 5: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

9 2

7장. 상호 배타적 집합의 처리02. 트리를 이용한 집합의 처리 2.1 기본적인 원리 2.2 연산의 효율을 높이는 방법

강의+토의프로젝트,컴퓨터

이론

9 3[알고리즘 7-1] 트리를 이용한 집합의 처리에서의Make-Set, Union, Find-Set[알고리즘 7-2] 랭크를 이용한 Union과 Make-Set

강의+토의프로젝트,컴퓨터

실습

9 4[알고리즘 7-3] 경로압축을 이용한 Find-Set[Drift] 추상화와 은유

강의+토의프로젝트,컴퓨터

실습

10 18장. 동적 프로그래밍 01. 어떤 문제를 동적 프로그래밍으로 푸는가

강의+토의프로젝트,컴퓨터

이론

10 28장. 동적 프로그래밍 02. 행렬 경로 문제

강의+토의프로젝트,컴퓨터

이론

10 3[알고리즘 8-1] 피보나치 수(재귀호출)[알고리즘 8-2] 피보나치 수(동적 프로그래밍 1)[알고리즘 8-3] 피보나치 수(동적 프로그래밍 2)

강의+토의프로젝트,컴퓨터

실습

10 4[알고리즘 8-4] 행렬 경로 문제(재귀호출) [알고리즘 8-5] 행렬 경로 문제(동적 프로그래밍)

강의+토의프로젝트,컴퓨터

실습

11 103. 조약돌 놓기 문제 04. 행렬 곱셈 순서 문제

강의+토의프로젝트,컴퓨터

과제 #3프로그래밍 50%알고리즘 서술 50%

이론

11 2 05. 최장 공통 부분순서(LCS) 강의+토의프로젝트,컴퓨터

이론

11 3

[알고리즘 8-6] 조약돌 놓기 문제(재귀호출) [알고리즘 8-7] 조약돌 놓기 문제(동적 프로그래밍) [알고리즘 8-8] 행렬 곱셈 순서 문제(재귀호출) [알고리즘 8-9] 행렬 곱셈 순서 문제(동적 프로그래밍)

강의+토의프로젝트,컴퓨터

실습

11 4

[알고리즘 8-10] 최장 공통 부분순서 길이(재귀호출)

[알고리즘 8-11] 최장 공통 부분순서 길이(동적 프로그래밍)

강의+토의프로젝트,컴퓨터

실습

12 1

9장. 그래프 알고리즘01. 그래프 02. 그래프의 표현 2.1 인접행렬을 이용한 방법 2.2 인접리스트를 이용한 방법 03. 너비우선탐색(BFS)과 깊이우선탐색(DFS)

강의+토의프로젝트,컴퓨터

이론

12 2

04. 최소신장트리 4.1 프림 알고리즘 4.2 크루스칼 알고리즘 4.3 안정성 정리

강의+토의프로젝트,컴퓨터

이론

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-165/7

Page 6: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

12 3[알고리즘 9-1] BFS 알고리즘 [알고리즘 9-2] DFS 알고리즘

강의+토의프로젝트,컴퓨터

실습

12 4[알고리즘 9-3] 프림 알고리즘(버전 1) [알고리즘 9-4] 프림 알고리즘(버전 2) [알고리즘 9-5] 크루스칼 알고리즘

강의+토의프로젝트,컴퓨터

실습

13 1

05. 위상 정렬 06. 최단경로 6.1 다익스트라 알고리즘(음의 가중치를 허용하지 않는 경우) 6.2 벨만-포드 알고리즘 6.3 모든쌍 최단경로 알고리즘 6.4 싸이클이 없는 그래프의 최단경로

강의+토의프로젝트,컴퓨터

이론

13 2 07. 강연결 요소 강의+토의프로젝트,컴퓨터

이론

13 3[알고리즘 9-6] 위상정렬 알고리즘 1 [알고리즘 9-7] 위상정렬 알고리즘 2

강의+토의프로젝트,컴퓨터

실습

13 4

[알고리즘 9-8] 다익스트라 알고리즘[알고리즘 9-9] 벨만-포드 알고리즘[알고리즘 9-10] 플로이드-워샬 알고리즘[알고리즘 9-11] 싸이클이 없는 유향 그래프(DAG)에서 최단경로 구하기[알고리즘 9-12] 강연결요소 구하기

강의+토의프로젝트,컴퓨터

실습

14 110장. 문자열 매칭01. 원시적인 매칭 방법02. 오토마타를 이용한 매칭

강의+토의프로젝트,컴퓨터

이론

14 203. 라빈-카프 알고리즘04. KMP 알고리즘 05. 보이어-무어 알고리즘

강의+토의프로젝트,컴퓨터

이론

14 3

[알고리즘 10-1] 원시적인 매칭 알고리즘[알고리즘 10-2] 매칭을 체크하는 알고리즘[알고리즘 10-3] 수치화를 이용한 매칭 알고리즘[알고리즘 10-4] 라빈-카프 매칭 알고리즘

강의+토의프로젝트,컴퓨터

실습

14 4[알고리즘 10-5] KMP 알고리즘 [알고리즘 10-5] 약식 보이어-무어 알고리즘

강의+토의프로젝트,컴퓨터

실습

15 1

11장. NP-완비01. 문제의 종류02. Yes/No 문제와 최적화 문제03. NP04. 변환

강의+토의프로젝트,컴퓨터

이론

15 2

05. NP-완비06. NP-완비 문제들07. NP-하드를 최적화 문제로 확장하기08_근사해 구하기

강의+토의프로젝트,컴퓨터

이론

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-166/7

Page 7: 2010 학년도 1학기 강의계획서 - kowon.dongseo.ac.krkowon.dongseo.ac.kr/~dkkang/Algorithm2010Spring/Syllabus.pdf시 험 다음과 같은 방법으로 평가한다. 중간 25%

주순 차시 강의범위 및 내용수업방식 및 기타 참고사항

수업 방식 기자재사용내용 과제물 및 기타 구분

15 3 [Drift] 비운의 천재 알란 튜링과 정지문제 강의+토의프로젝트,컴퓨터

실습

15 4 11장 연습문제 강의+토의프로젝트,컴퓨터

실습

16 1

12장. 상태공간 트리의 탐색01. 상태공간 트리02. 백트래킹 2.1 미로 찾기 문제 2.2 색칠 문제

강의+토의프로젝트,컴퓨터

이론

16 2

03. 한정분기04. A* 알고리즘 4.1 최단 경로 찾기 문제 4.2 TSP

강의+토의프로젝트,컴퓨터

이론

16 3

[알고리즘 12-1] 미로 찾기 문제를 위한 백트래킹 알고리즘[알고리즘 12-2] 색칠 문제를 위한 백트래킹 알고리즘

강의+토의프로젝트,컴퓨터

실습

16 4[알고리즘 12-3] 그래프에서 최단경로를 찾기 위한A* 알고리즘[Drift] 공간 탐색과 끌개

강의+토의프로젝트,컴퓨터

실습

주별 강의계획

ws12150Li01 출력날짜 : 2010-01-167/7