강원대학교 컴퓨터공학과 문양세
알고리즘 (Algorithm)
개요 (Overview)
Computer Algorithms by Yang-Sae Moon
Page 2
알고리즘 ?
Overview of Algorithms
무엇을 배울 것이라 생각하고 왔나요 ?
알고리즘 ? 순서도인가 ? 무엇에다 쓰는 것이지 ?
수학도 쫌 필요하다는데 , 많이 어렵진 않을까 ?
여러분은 알고리즘을 어떻게 생각하고 수강신청 했나요 ?
알고리즘 개요 및 응용 분야
과목 개요
전산학 (Computer Science) 의 필수 과목
Divide & Conquer, Dynamic Programming, Greedy Method, Backtracking, …
프로그램을 보다 효율적으로 , 보다 지능적으로 작성하기 위하여 꼭 필요한 과목
전산학자의 대부분은 새로운 방법이나 이론을 알고리즘으로 기술함
알고리즘의 응용 분야
모든 프로그램의 설계
문제 및 해결 방법의 정형적 표현
프로그램의 효율성 및 복잡도 분석
Algorithms + Data Structures = Programs
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 4
강의 계획 (1/3)
선수 과목 (Prerequisites)
자료구조
이산수학
담당 교수
문양세 (http://cs.kangwon.ac.kr/~ysmoon/, [email protected])
한빛관 303 호실 , x8449, [email protected])
강의 교재
도경구 역 , 알고리즘 기초 (Foundations of Algorithms), 5 판 , 홍릉과학출판사 - 원저자 : Richard Neapolitan
Overview of Algorithms
강의 계획 (1/3)
선수 과목 (Prerequisites)
자료구조
이산수학
담당 교수
문양세 (http://cs.kangwon.ac.kr/~ysmoon/, [email protected])
한빛관 303 호실 , x8449, [email protected])
강의 교재
도경구 역 , 알고리즘 기초 (Foundations of Algorithms), 5 판 , 홍릉과학출판사 - 원저자 : Richard Neapolitan
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 6
강의 계획 (1/3)
선수 과목 (Prerequisites)
자료구조
담당 교수
문양세 (http://cs.kangwon.ac.kr/~ysmoon/, [email protected])
한빛관 303 호실 , x8449, [email protected])
강의 교재
도경구 역 , Foundations of Algorithms Using C++ Pseudocode, 사이텍미디어 - 원저자 : Richard Neapolitan and Kumarss Naimipour
- Java 버전 : Foundations of Algorithms Using Java Pseudocode
Overview of Algorithms
강의 계획 (2/3)
평가 기준 ( 아래 평가 비율은 일부 조정될 수 있습니다 .)
알고리즘은 암기과목이 아닙니다 . 외우지 말고 , 이해하세요…
중간시험 30%
기말시험 40%
숙제 20% (4-5 개 부여 , 개인별 / 조별 과제 , 프로그래밍 과제 )
출석 10%
강의 계획
Week
강의 내용 비고1
기초 수학 복습Appendix A
2
알고리즘 : 효율 , 분석 , 그리고 차수Ch. 1
3
알고리즘 : 효율 , 분석 , 그리고 차수Ch. 1
4
분할정복 (Divide & Conquer)Ch. 2
5
분할정복 (Divide & Conquer)Ch. 2
6
동적 프로그래밍 (Dynamic Programming)Ch. 3
7
동적 프로그래밍 (Dynamic Programming)Ch. 3
8
중간시험Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 8
강의 계획 (3/3)
강의 계획 ( 계속 )
기타 사항
강의 사이트 : http://cs.kangwon.ac.kr/~ysmoon/courses.html ( 강의 슬라이드 / 과제는 이루리 사이트에도 함께 올립니다 .)
숙제 제출 관련 : 제출 기한 이후에 제출하면 20% 감점
숙제 종류 : 레포트 및 프로그래밍
조별 과제가 있는 경우 , 과제를 조별로 부여하고 발표 기회를 부여할 예정임
Week
강의 내용 비고9
탐욕적인 방법 (Greedy Method)Ch. 4
10
탐욕적인 방법 (Greedy Method)Ch. 4
11
되추적 (Backtracking)Ch. 5
12
되추적 (Backtracking), 분기한정 (Branch-and-Bound)Ch. 5, Ch. 6
13
분기한정 (Branch-and-Bound)Ch. 6
14
정수와 알고리즘 (Integers and Algorithms)Ch. 11
15
기말시험Overview of Algorithms
알고리즘 ? 전공필수래 ~
정말로 너무 중요한 과목입니다 .
알고리즘 과목은 많은 학교에서 전공필수로서 2, 3 학년 때 수강합니다 . 일반적으로 , 프로그래밍 언어와 자료 구조 ( 데이터 구조 ) 를 배운 이후 에
알고리즘 과목을 전공필수로 수강합니다 .
취업 시 , 필기시험의 대부분 문제는 알고리즘에서 출제됨
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 10
알고리즘 ? 전공필수래 ~ 정말 ?
Overview of Algorithms
정보올림피아드 vs. 알고리즘
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 12
ACM 프로그래밍 경진대회 …
Overview of Algorithms
전산과 졸업생과 비트스쿨 수료생이 다른 이유 ?
컴퓨터학원 수료생도 프로그램은 짤 줄 안다 .
전산과 졸업생은 프로그램을 효율적으로 짤 줄 안다 . 컴퓨터학원 수료생도 메모리를 사용할 줄 안다 .
전산과 졸업생은 메모리를 효율적으로 ( 조금만 ) 사용할 줄 안다 .
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon
Page 14
요즘 공채에선…
Overview of Algorithms
그러니까 , 조금 어렵더라도…
열심히 배우도록 합시다 .
여러분도 미래의 마크 주커버그가 될 수 있습니다 .
Overview of Algorithms
Computer Algorithms by Yang-Sae Moon