알고리즘
모집중- 강의교수
- 김효석 교수소개
- 학점
- 3학점
- 신청기간
- 2026.01.08 ~ 2026.08.11
- 학습기간
- 2026.08.12 ~ 2026.11.24
- 수강료
210,000원
75,000원
- 관련전공
- 전공필수 - 컴퓨터공학,정보보호학
- 전공선택 - 정보통신공학
강좌소개
| 수업개요 | 알고리즘의 개념과 성능평가, 개발 방법 등을 이해하고, 정렬, 탐색, 그래프, 패턴매칭, 동적 프로그래밍 등의 알고리즘을 학습한다. | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 수업목표 | ● 알고리즘의 개념과 특성, 장·단점(효율성)을 분석할 수 있다.
● 파이썬(Python) 언어를 통하여 효율적인 자료 처리 방법을 정의할 수 있다. ● 자료구조의 기본적인 개념과 이론을 정의할 수 있다. ● 각종 알고리즘을 프로그램으로 구현하여 효율적인 개발 방법을 설계할 수 있다. ● 자료의 표현법과 기본적인 연산을 중심으로 배열과 연결 리스트의 기본 개념을 바탕으로 스택, 큐, 트리 및 그래프, 패턴 매칭의 표현방법과 응용문제를 해결할 수 있다. ● B-트리의 처리과정과 해시(Hash) 테이블의 특징, 충돌과정을 설명할 수 있다. ● 정렬문제(선택, 삽입, 버블, 퀵 등)와 탐색문제(순차, 이진 트리 등)를 중심으로 자료구조와 알고리즘의 불가분의 관계를 설명할 수 있다. ● 여러 가지 기본 알고리즘을 이용하여 분할 정복, 동적 프로그래밍(동적 계획법), 문자열 매칭 및 NP-완전문제에 적용할 수 있다. ● 알고리즘 및 계산 복잡도 이론, 성능평가 등에 대한 기본적인 개념과 응용 능력을 익혀 컴퓨터과학 분야에 응용할 수 있다. |
||||||||||||||
| 평가기준 |
|
||||||||||||||
| 수료기준 | 출석률80%, 상대평가 (중간고사와 기말고사 모두 미응시 시 미수료) | ||||||||||||||
| 특이사항 | 1. 수료기준: 총 성적 60점 이상(상대평가), 출석률 80% 이상
2. 평가기준: 출석(15%), 중간고사(25%), 기말고사(25%), 과제(20%), 퀴즈(5%), 토론(10%) 1) 출석: 각 차시별 진도 반영(기간 내 출석으로만 평가) 2) 중간고사: 객관식 20문항, 주관식 5문항 총 25문항(8주차) 3) 기말고사: 객관식 20문항, 주관식 5문항 총 25문항(15주차) 4) 과제: 학습자별 상호 모사율 체크를 통한 평가(9주차) 5) 토론: 학습자 간 의견 제출(3주차) 6) 퀴즈: O,X 퀴즈 5문항(5주차) 3. 성적등급비율: A~A+(20%). B~B+(40%), C이하(40%) / 상대평가 4. 과제 및 토론 주제 1) 과제주제(9주차): 정렬 알고리즘 2) 토론주제(3주차): 알고리즘의 효율성을 의미하는 요소에 대한 토론 3) 상세내용은 시작일에 공개되오니 참고바랍니다. |
강의계획서
| 과목명 | 교수명 | 교수연락처 | 이메일 | 년도/차시 |
|---|---|---|---|---|
| 알고리즘 | 김효석 | 1899-5662 | help@kystudy.co.kr | 2026년 2-3차 |
| 학습기간 | 강의시간 | 학점 | 평가구분 | 수강대상 강의실 및 주요 수업방법 |
| 2026년 08월 12일 ~ 2026년 11월 24일 | 15주 | 3 | 상대평가 |
<수강대상>
-고등학교 졸업 이상의 학력자 <주요 수업 방법> -원격강의 (www.kystudy.co.kr/MyCourse) |
| 평가기준 | ||||||
|---|---|---|---|---|---|---|
| 출석 | 중간고사 | 기말고사 | 과제 | 토론 | 쪽지(OX퀴즈) | 계 |
| 15% | 25% | 25% | 20% | 10% | 5% | 100% |
| 과목 수료조건: 총점 60점 이상(60점 미만 F), 출석률 80%이상(출석률 80%미만은 출석과락) | ||||||
| 주요 학사일정 |
|
|---|---|
| 과목개요 | 알고리즘의 개념과 성능평가, 개발 방법 등을 이해하고, 정렬, 탐색, 그래프, 패턴매칭, 동적 프로그래밍 등의 알고리즘을 학습한다. |
| 수업목표 | ● 알고리즘의 개념과 특성, 장·단점(효율성)을 분석할 수 있다.
● 파이썬(Python) 언어를 통하여 효율적인 자료 처리 방법을 정의할 수 있다. ● 자료구조의 기본적인 개념과 이론을 정의할 수 있다. ● 각종 알고리즘을 프로그램으로 구현하여 효율적인 개발 방법을 설계할 수 있다. ● 자료의 표현법과 기본적인 연산을 중심으로 배열과 연결 리스트의 기본 개념을 바탕으로 스택, 큐, 트리 및 그래프, 패턴 매칭의 표현방법과 응용문제를 해결할 수 있다. ● B-트리의 처리과정과 해시(Hash) 테이블의 특징, 충돌과정을 설명할 수 있다. ● 정렬문제(선택, 삽입, 버블, 퀵 등)와 탐색문제(순차, 이진 트리 등)를 중심으로 자료구조와 알고리즘의 불가분의 관계를 설명할 수 있다. ● 여러 가지 기본 알고리즘을 이용하여 분할 정복, 동적 프로그래밍(동적 계획법), 문자열 매칭 및 NP-완전문제에 적용할 수 있다. ● 알고리즘 및 계산 복잡도 이론, 성능평가 등에 대한 기본적인 개념과 응용 능력을 익혀 컴퓨터과학 분야에 응용할 수 있다. |
| 상대평가 안내 |
국가평생교육진흥원의 평가인정 학습과정 운영지침(교육부 고시 제2015-85호,2016년1월6일 제정,2016년1월1일 시행)에 따라 성적 평가가 상대평가로 진행되고 있습니다. 상대평가가 진행됨에 따라 원점수에서 학습자의 순위에 따라 백분율로 산정되며 다시 환산되며, A(20%),B(40%),C 이하(40%)의 비율을 기준으로 성적을 부여합니다. 학습자님들의 점수는 최종 점수조정을 거쳐 순위별로 등급에 배당되게 되며 환산점수로 국가평생교육진흥원에 성적보고가 됩니다. (출석률 80%미만,총점수 60점미만은 과락이며 상대평가에서 제외됩니다.) |
| 주별 | 차시 | 강의(실습ㆍ실기ㆍ실험) 내용 | 과제 및 기타 참고사항 | |
|---|---|---|---|---|
| 제1주 |
|
|||
| 1차시 | 차시제목 | 알고리즘의 이해, 자료구조와의 관계 |
|
|
| 학습내용 | - 알고리즘의 개념 - 자료구조의 개념 및 알고리즘과의 관계 |
|||
| 학습목표 | - 알고리즘의 개념을 정의할 수 있다. - 자료구조의 개념을 정의할 수 있다. - 자료구조와 알고리즘의 관계를 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 알고리즘의 분류 및 표현 |
|
|
| 학습내용 | - 알고리즘의 유래 및 분류 - 알고리즘의 표현 방법 및 복잡도 |
|||
| 학습목표 | - 알고리즘의 유래를 설명할 수 있다. - 알고리즘을 분류할 수 있다. - 알고리즘의 표현 방법과 복잡도에 대하여 설명할 수 있다. |
|||
| 제2주 |
|
|||
| 1차시 | 차시제목 | 알고리즘 설계 |
|
|
| 학습내용 | - 알고리즘 설계를 위한 기초 개념 - 알고리즘의 수행시간 분석 - 다양한 알고리즘의 적용 예시 |
|||
| 학습목표 | - 알고리즘 설계를 위한 기초 개념이 무엇인지 설명할 수 있다. - 기본적인 알고리즘의 수행시간을 분석할 수 있다. - 다양한 알고리즘의 적용 예시를 해석할 수 있다. |
|||
| 2차시 | 차시제목 | 알고리즘 분석 |
|
|
| 학습내용 | - 플로우 차트 표기법 및 사례 - 알고리즘의 효율성 - 파이썬 언어 설치 |
|||
| 학습목표 | - 알고리즘을 표현하기 위한 플로우 차트의 표기법과 사례를 설명할 수 있다. - 알고리즘의 효율성을 의미하는 요소를 식별 및 상호 비교할 수 있다. - 알고리즘 분석을 위한 언어(파이썬)를 설치할 수 있다. |
|||
| 제3주 |
|
|||
| 1차시 | 차시제목 | 파이썬의 기본 문법 |
|
|
| 학습내용 | - 파이썬의 입출력 함수 - 파이썬의 연산자 - 파이썬의 조건문과 반복문 |
|||
| 학습목표 | - 파이썬의 입출력(I/O) 함수를 정의할 수 있다. - 파이썬의 연산자를 정의할 수 있다. - 파이썬의 조건문과 반복문을 정의할 수 있다. |
|||
| 2차시 | 차시제목 | 파이썬의 데이터형 |
|
|
| 학습내용 | - 파이썬의 기본 데이터 형식 - 파이썬의 연속형 데이터 형식 |
|||
| 학습목표 | - 파이썬에서 사용하는 기본 데이터 형식을 기술할 수 있다. - 파이썬에서 사용하는 연속형 데이터 형식을 기술할 수 있다. |
|||
| 제4주 |
|
|||
| 1차시 | 차시제목 | 선택 정렬과 삽입 정렬 |
|
|
| 학습내용 | - 선택 정렬의 개념과 동작방식 - 삽입 정렬의 개념과 동작방식 |
|||
| 학습목표 | - 선택 정렬의 개념과 동작방식을 설명할 수 있다. - 삽입 정렬의 개념과 동작방식을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 버블 정렬과 퀵 정렬 |
|
|
| 학습내용 | - 버블 정렬의 개념과 동작방식 - 퀵 정렬의 개념과 동작방식 |
|||
| 학습목표 | - 버블 정렬의 개념과 동작방식을 설명할 수 있다. - 퀵 정렬의 개념과 동작방식을 설명할 수 있다. |
|||
| 제5주 |
|
|||
| 1차시 | 차시제목 | 특수 정렬 알고리즘 |
|
|
| 학습내용 | - 기수 정렬의 개념과 동작방식 - 계수 정렬의 개념과 동작방식 - 버킷 정렬의 개념과 동작방식 |
|||
| 학습목표 | - 기수 정렬의 개념과 동작방식을 설명할 수 있다. - 계수 정렬의 개념과 동작방식을 설명할 수 있다. - 버킷 정렬의 개념과 동작방식을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 기본 자료구조(스택, 큐) |
|
|
| 학습내용 | - 스택(Stack)의 개념과 동작방식 - 큐(Queue)의 개념과 동작방식 |
|||
| 학습목표 | - 데이터 처리에 사용되는 기본 자료구조인 스택(Stack)의 개념과 동작방식을 설명할 수 있다. - 데이터 처리에 사용되는 기본 자료구조인 큐(Queue)의 개념과 동작방식을 설명할 수 있다. |
|||
| 제6주 |
|
|||
| 1차시 | 차시제목 | 이진 검색 트리 |
|
|
| 학습내용 | - 이진 검색 트리의 개념, 종류 - 이진 검색 트리의 순회(검색), 삽입, 삭제 |
|||
| 학습목표 | - 이진 검색 트리의 개념, 종류를 설명할 수 있다. - 이진 검색 트리의 검색, 삽입, 삭제 방법을 열거할 수 있다. |
|||
| 2차시 | 차시제목 | 레드 블랙 트리 |
|
|
| 학습내용 | - 레드 블랙 트리의 개념, 특징 - 레드 블랙 트리의 검색, 삽입, 삭제 |
|||
| 학습목표 | - 레드 블랙 트리의 개념, 특징에 대하여 설명할 수 있다. - 레드 블랙 트리의 검색, 삽입, 삭제 방법을 열거할 수 있다. |
|||
| 제7주 |
|
|||
| 1차시 | 차시제목 | B-트리와 해시 테이블 |
|
|
| 학습내용 | - B-트리의 개념, 특징, 동작 과정 - 해시 테이블(Hash Table)의 방법과 충돌 해결 |
|||
| 학습목표 | - B-트리의 개념, 특징, 동작 과정을 설명할 수 있다. - 해시 테이블(Hash Table)의 방법과 충돌 해결 방법을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 집합의 처리(연결 리스트와 트리) |
|
|
| 학습내용 | - 연결 리스트(Linked List)를 이용한 집합의 처리 - 트리(Tree)를 이용한 집합의 처리 |
|||
| 학습목표 | - 집합의 처리를 연결 리스트(Linked List) 자료구조로 설명할 수 있다. - 집합의 처리를 트리(Tree) 자료구조로 해석할 수 있다. |
|||
| 제8주 |
|
|||
| 1차시 | 차시제목 | 중간고사 |
|
|
| 학습내용 | 중간고사 | |||
| 학습목표 | 중간고사 | |||
| 2차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 제9주 |
|
|||
| 1차시 | 차시제목 | 그래프의 표현 |
|
|
| 학습내용 | - 그래프의 개념과 표현 방법 - 너비 우선 탐색 기법(BFS)과 깊이 우선 탐색 기법(DFS) |
|||
| 학습목표 | - 그래프의 개념과 표현 방법에 대하여 설명할 수 있다. - 너비 우선 탐색 기법(BFS)과 깊이 우선 탐색 기법(DFS)에 대하여 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 기타 그래프 알고리즘 |
|
|
| 학습내용 | - 최소 신장 트리 알고리즘(Minimum Spanning Tree Algorithm) - 위상 정렬 알고리즘(Topological Sort Algorithm) - 최단 경로 알고리즘(Dijkstra algorithm) |
|||
| 학습목표 | - 최소 신장 트리 알고리즘을 구분할 수 있다. - 위상 정렬 알고리즘을 설명할 수 있다. - 최단 경로 알고리즘을 구분할 수 있다. |
|||
| 제10주 |
|
|||
| 1차시 | 차시제목 | 그리디 알고리즘(Greedy Algorithm) 1 |
|
|
| 학습내용 | - 그리디 알고리즘 개념 및 구조 - 최적해가 보장되지 않는 그리디 알고리즘 - 최적해가 보장되는 그리디 알고리즘 |
|||
| 학습목표 | - 그리디 알고리즘 개념 및 구조를 설명할 수 있다. - 그리디 알고리즘으로 최적해가 보장되지 않는 예를 해석할 수 있다. - 그리디 알고리즘으로 보장되는 예를 해석할 수 있다. |
|||
| 2차시 | 차시제목 | 그리디 알고리즘(Greedy Algorithm) 2 |
|
|
| 학습내용 | - 최소 신장 트리 - 최단 경로 찾기 - 부분 배낭 문제와 집합 커버 문제 |
|||
| 학습목표 | - 최소 신장 트리의 방법을 설명할 수 있다. - 최단 경로 찾기의 방법을 설명할 수 있다. - 부분 배낭 문제와 집합 커버 문제를 설명할 수 있다. |
|||
| 제11주 |
|
|||
| 1차시 | 차시제목 | 문자열 매칭 개요 |
|
|
| 학습내용 | - 원시적인 매칭 방법 - 오토마타를 이용한 매칭 방법 |
|||
| 학습목표 | - 원시적 매칭을 설명할 수 있다. - 오토마타를 이용한 매칭을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 문자열 매칭 알고리즘 |
|
|
| 학습내용 | - 라빈-카프 알고리즘 - KMP 알고리즘 - 보이어-무어 알고리즘 |
|||
| 학습목표 | - 라빈-카프 알고리즘을 설명할 수 있다. - KMP 알고리즘을 설명할 수 있다. - 보이어-무어 알고리즘을 설명할 수 있다. |
|||
| 제12주 |
|
|||
| 1차시 | 차시제목 | 문제 분류와 특성 |
|
|
| 학습내용 | - 문제 분류의 이해 - NP-완전 문제의 특성 |
|||
| 학습목표 | - 문제 분류를 설명할 수 있다. - NP-완전 문제의 특성을 나열할 수 있다. |
|||
| 2차시 | 차시제목 | NP-완전 문제 활용 |
|
|
| 학습내용 | - NP-완전 문제의 유형 - NP-완전 문제의 활용 사례 |
|||
| 학습목표 | - NP-완전 문제의 유형에 대하여 기술할 수 있다. - NP-완전 문제의 활용 사례에 대하여 설명할 수 있다. |
|||
| 제13주 |
|
|||
| 1차시 | 차시제목 | 백트래킹 기법과 분기 한정 기법 |
|
|
| 학습내용 | - 백트래킹 기법(Backtracking) - 분기 한정 기법(Branch & Bound) |
|||
| 학습목표 | - 백트래킹 기법을 통하여 최적화 문제와 결정 문제를 해결할 수 있다. - 분기 한정 기법을 통한 최선 우선 탐색기법을 설명할 수 있다. |
|||
| 2차시 | 차시제목 | 유전자 알고리즘과 모의 담금질 |
|
|
| 학습내용 | - 유전자 알고리즘(Genetic Algorithm) - 모의 담금질 기법(Simulated Annealing) |
|||
| 학습목표 | - 유전자 알고리즘을 사용하여 최적화 문제를 해결할 수 있다. - 모의 담금질 기법을 사용하여 전역 최적화 문제를 해결할 수 있다. |
|||
| 제14주 |
|
|||
| 1차시 | 차시제목 | 재귀호출 알고리즘 |
|
|
| 학습내용 | - 재귀호출 알고리즘(Recursive Algorithm) - 재귀호출 적용사례 |
|||
| 학습목표 | - 재귀호출 알고리즘을 통한 귀납적 사고에 대하여 설명할 수 있다. - 재귀호출 알고리즘의 작용사례에 대하여 설명할 수 있다. |
|||
| 2차시 | 차시제목 | A*(에이 스타) 알고리즘 |
|
|
| 학습내용 | - A* 알고리즘(A* star Algorithm) - A* 알고리즘 적용사례 |
|||
| 학습목표 | - A* 알고리즘을 적용한 다익스트라 알고리즘의 개념을 정의할 수 있다. - A* 알고리즘의 적용사례에 대하여 설명할 수 있다. |
|||
| 제15주 |
|
|||
| 1차시 | 차시제목 | 기말고사 |
|
|
| 학습내용 | 기말고사 | |||
| 학습목표 | 기말고사 | |||
| 2차시 | 차시제목 |
|
||
| 학습내용 | ||||
| 학습목표 | ||||
| 수업 참고사항 | 별도 참고사항이 없습니다. |
|---|---|
| 강의 유형 | 이론중심( V ), 토론, 세미나 중심( ), 실기 중심( ), 이론 및 토론, 세미나 병행( ), 이론 및 실험, 실습 병행( ), 이론 및 실기 병행( ) |
| 교재 정보 |
교재정보 보기
|
수강후기
|
수강기간 ~ 2026.07.07 좋은 수업 감사합니다.
|
|
|
|
수강기간 ~ 2026.07.07 교수님들이 강의에 신경을 써주시는 모습이 좋았다고 생각합니다.
|
|
|
|
수강기간 ~ 2026.07.07 교수님 수업 정말 좋았습니다
|
|
|
|
수강기간 ~ 2026.07.07 수업과정이 전반적으로 잘 짜여진 강의였다고 생각한다
|
|
|
|
수강기간 ~ 2026.06.16 전반적으로 재미있었다
|
|
|
|
수강기간 ~ 2026.06.16 수고하셨습니다. 감사합니다.
|
|
|
|
수강기간 ~ 2026.06.16 |
|
|
|
수강기간 ~ 2026.06.16 |
|
|
|
수강기간 ~ 2026.06.16 좋은 강의 잘 들었습니다 감사합니다.
|
|
|
|
수강기간 ~ 2026.06.16 조금 어려웠어요..ㅇ
|
|
교재안내
총 0건교수소개
김효석 교수님
- 직위
- 교수
- 학위
- 정보통신학/컴퓨터공학
- 전공
- 컴퓨터공학 / 정보통신공학 / 지식재산학 / 안경광학 / 물리치료학
- 이메일
- pro366@nate.com
- 주요경력
- 정보통신학/컴퓨터공학
- 수상경력
- 대표저서/논문
- 기타사항































