Introduction

Download Report

Transcript Introduction

Course Guide
- Algorithms and Practice [CPA340] Algorithms and Practice
Youn-Hee Han
http://link.kut.ac.kr
강의 개요
과목 개요


전산학(Computer Science)의 필수 과목
Divide & Conquer, Dynamic Programming, Greedy Method,
Backtracking, …
 프로그램을 보다 효율적으로, 보다 지능적으로 작성하기 위하여 꼭 필요한
과목
 전산학자의 대부분은 새로운 방법이나 이론을 알고리즘으로 기술함
알고리즘의 응용 분야




2
모든 프로그램의 설계
문제 및 해결 방법의 정형적 표현
프로그램의 효율성 및 복잡도 분석
Algorithms + Data Structures = Programs
Algorithms and Practice
강의 개요
선수 과목 (Prerequisites)

자료구조, 이산수학, 확률과통계(Optional)
강의 시간 및 담당 교수



강의 시간: 월 (16:00~17:50), 수 (14:00-15:50)
담당 교수: 한연희 (B303, [email protected])
담당 조교: 김찬명 (B103A, [email protected])
강의 교재



도경구 역, Foundations of Algorithms Using Java Pseudocode,
사이텍미디어
원저자: Richard Neapolitan and Kumarss Naimipour
링크
 http://scitech.co.kr/details.html?h_code=h_1&book_num=590
 http://www.amazon.com/Foundations-Algorithms-Using-JavaPseudocode/dp/0763721298
3
Algorithms and Practice
강의 개요
평가 기준





출석 10%
숙제 10%
중간시험 30%
기말시험 30%
Term Project 20%
강의 사이트:

http://link.kut.ac.kr/bin/view/Main/AP20121
 강의 노트는 강의 전날까지 Upload 예정임
질문 게시판:

4
http://apps.thinkonweb.com/labbbs/list.link?bn=qna
Algorithms and Practice
강의 개요
배우는 내용
 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.
Tips

알고리즘 과목은 많은 학교에서 전공필수로서 3학년때 수강합니다.
 선수과목: 자료구조, 이산수학


5
알고리즘은 정말로 너무 중요한 과목입니다.
알고리즘은 암기과목이 아닙니다. 외우지 말고, 이해하세요…
Algorithms and Practice
컴퓨터학과 졸업생 vs. 비트컴퓨터 수료생
비트컴퓨터 수료생은 프로그램을 짤 줄 안다.
 컴퓨터학과 졸업생은 프로그램을 효율적으로 짤 줄 안다.
비트컴퓨터 수료생은 메모리를 사용할 줄 안다.
 컴퓨터학과 졸업생은 메모리를 효율적으로 사용할 줄 안다.
6
Algorithms and Practice
Google의 창립자
Sergey Brin
Sergey Brin is a Russian American computer scientist. He received
his B.S. degree in mathematics and computer science from the
University of Maryland at College Park in 1993. Currently, he is a
Ph.D. candidate in computer science at Stanford University where he
received his M.S. in 1995. His research interests include search
engines, information extraction from unstructured sources, and data
mining of large text collections and scientific data.
7
Algorithms and Practice
Google의 창립자
Lawrence Page
Lawrence Page was born in East Lansing, Michigan, and received
a B.S.E. in Computer Engineering at the University of Michigan Ann
Arbor in 1995. He is currently a Ph.D. candidate in Computer Science
at Stanford University. Some of his research interests include the link
structure of the web, human computer interaction, search engines,
scalability of information access interfaces, and personal data mining
8
Algorithms and Practice
Facebook의 창립자
Mark Zuckerberg

9
American computer scientist and software developer best known
for creating the social networking site Facebook, of which he is
CEO and president. It was co-founded as a private company in
2004 by Zuckerberg and classmates Dustin Moskovitz, Eduardo
Saverin, and Chris Hughes while they were students at Harvard
University. In 2010, Zuckerberg was named Time magazine's
Person of the Year.
Algorithms and Practice
왜 Google과 Facebook의 창립자들을 보여줄까요?
Google의 성공 원인

PageRank 알고리즘 (+자료구조)
Facebook의 성공 원인

효율적인 인적 네트워크 관리 알고리즘 (+자료구조)
이들의 공통점은 필요한 알고리즘을 자신들의 시스템에
매우 효율적으로 적용했다는 점!!!
10
Algorithms and Practice