아래 모든 날짜는 시간대 입니다.
   시작 날짜    종료 날짜
수강기간
2021-09-06T00:00:00.0000000Z
2021-12-19T23:59:59.9990000Z
수강신청기간
2021-08-23T00:00:00.0000000Z
2021-09-05T23:59:59.9990000Z

프로그래머의 업무를 간단히 표현하면 '문제를 해결하는 것'입니다. 그렇기에 '문제를 해결하는 확실한 방법'인 알고리듬(algorithm)은 프로그래머의 필수 지식으로 종종 거론되곤 합니다.

그럼 어떤 사람이 진짜 개발자일까요? 최신 기술을 많이 아는 사람? 시중에 나와있는 모든 알고리듬 문제를 달달 외우고 있는 사람? 아닙니다. 제대로 된 개발자는 어떤 문제라도 확실히 해결할 수 있는 사람입니다. 알고리듬 문제 사이트에 없는 문제까지 말이죠. 그런 개발자가 되려면 몇몇 핵심 알고리듬을 확실히 이해하는 것이 가장 중요합니다. 새로운 문제는 핵심 알고리듬을 응용하여 풀 수 있으니까요. 이제 아셨나요? 왜 기술 면접(코딩 테스트)에서 알고리듬 문제가 단골손님처럼 나오는지?

모든 문제 해결에 토대가 되는 핵심 알고리듬. 그것이 바로 이 강좌에서 가르치는 내용입니다. POCU 아카데미가 지향하는 10년 후에도 살아남는 탑 1% 개발자. 그런 사람이 되려면 수박 겉핥기 식이 아닌 핵심 알고리듬의 동작 원리까지 확실히 알아야겠죠? 이 강좌에서 확실히 이해시켜드립니다. 이 강좌를 들으신 후 알고리듬 문제 사이트에 가서 본인의 실력을 테스트해보세요. 처음 보는 문제인데도 어렵지 않게 해법을 찾아내는 한 단계 업그레이드된 본인의 문제 해결능력을 느끼실 수 있을 겁니다. 앞으로 실무에서 마주치게 될 새로운 문제들도 큰 어려움이 없겠죠?

꼭 기억하세요. 업계가 원하는 프로그래머는 많은 문제의 정답을 외우고 있는 사람이 아니라 핵심 알고리듬의 확실한 이해와 응용을 통해 새로운 문제를 해결할 수 있는 사람입니다.

이 강좌를 성공적으로 수료한 프로그래머는 다음과 같은 실력을 갖추게 됩니다.

  1. 각 알고리듬의 장단점 및 성능에 대해 잘 이해하고 있다
  2. 어디에 어떤 알고리듬을 적용해야 하는지 안다
  3. 핵심 알고리듬을 응용해 새로운 문제를 풀 수 있다

기본기의 중요성을 강조하는 표현으로 '하나를 가르치면 열을 안다'라는 말이 있습니다. 이것저것 배우는 대신 핵심이 되는 기본 지식을 습득하여 문제 해결능력을 갖춘 진정한 프로그래머로 거듭나기를 바랍니다.

코스 시작 날짜 : 2021-09-06T00:00:00.0000000Z

1주 차: 2021-09-12T23:59:59.9990000Z 까지

  • 알고리듬이란?
  • 알고리듬의 효율성
  • 점근 표기법과 빅오 표기법
  • 기초 자료 구조와 시간 복잡도
  • 실습 1
  • 과제 1  제출 마감: 2021-09-26T22:00:00.0000000Z

2주 차: 2021-09-19T23:59:59.9990000Z 까지

  • 재귀함수
  • 주먹구구식(brute-force) 알고리듬
  • P vs NP 문제
  • 이진 탐색
  • 실습 2
  • 과제 1  제출 마감: 2021-09-26T22:00:00.0000000Z

3주 차: 2021-09-26T23:59:59.9990000Z 까지

  • 버블 정렬
  • 선택 정렬
  • 삽입 정렬
  • 퀵 정렬
  • 병합 정렬
  • 힙 정렬
  • 실습 3
  • 과제 1  제출 마감: 2021-09-26T22:00:00.0000000Z

4주 차: 2021-10-03T23:59:59.9990000Z 까지

  • 비암호학적 해시 함수
  • 체크섬과 CRC
  • 암호학적 해시 함수
  • 실습 4
  • 과제 2  제출 마감: 2021-10-17T22:00:00.0000000Z

5주 차: 2021-10-10T23:59:59.9990000Z 까지

  • 대칭 키 암호화
  • 비대칭 키 암호화
  • 실습 5
  • 과제 2  제출 마감: 2021-10-17T22:00:00.0000000Z

6주 차: 2021-10-17T23:59:59.9990000Z 까지

  • 트리 순회
  • 이진 탐색 트리
  • 레드-블랙 트리
  • 실습 6
  • 과제 2  제출 마감: 2021-10-17T22:00:00.0000000Z

7주 차: 2021-10-24T23:59:59.9990000Z 까지

  • 트라이(Trie)
  • 공간분할 트리
  • 과제 3  제출 마감: 2021-11-14T22:00:00.0000000Z

8주 차: 2021-10-31T23:59:59.9990000Z 까지

  • 중간고사. 수업 및 과제 없음
  • 과제 3  제출 마감: 2021-11-14T22:00:00.0000000Z

9주 차: 2021-11-07T23:59:59.9990000Z 까지

  • 깊이 우선 탐색(DFS)
  • 너비 우선 탐색(BFS)
  • 미니맥스 알고리듬
  • 실습 7
  • 과제 3  제출 마감: 2021-11-14T22:00:00.0000000Z

10주 차: 2021-11-14T23:59:59.9990000Z 까지

  • 동적 계획법(Dynamic Programming)
    • 메모이제이션(memoization)
    • 타뷸레이션(tabulation)
    • 배낭 문제
  • 그리디 알고리듬
    • 동전 교환 문제
    • 인터벌 스케줄링
    • 허프만 코딩
  • 데이터 압축
  • 실습 8
  • 과제 3  제출 마감: 2021-11-14T22:00:00.0000000Z

11주 차: 2021-11-21T23:59:59.9990000Z 까지

  • 그래프
  • 그래프의 깊이 우선 탐색
  • 위상 정렬
  • 강한 연결 요소
  • 실습 9
  • 과제 4  제출 마감: 2021-12-05T22:00:00.0000000Z

12주 차: 2021-11-28T23:59:59.9990000Z 까지

  • 그래프의 너비 우선 탐색
  • 최단 경로 찾기
    • BFS
    • 다익스트라 알고리듬 (Dijkstra's algorithm)
    • A* 알고리듬
    • 플로이드 워셜
  • 실습 10
  • 과제 4  제출 마감: 2021-12-05T22:00:00.0000000Z

13주 차: 2021-12-05T23:59:59.9990000Z 까지

  • 최소 (비용) 신장 트리
  • 외판원 문제
  • 최대 유량 문제
  • 실습 11
  • 과제 4  제출 마감: 2021-12-05T22:00:00.0000000Z

14주 차: 2021-12-12T23:59:59.9990000Z 까지

  • k-최근접 이웃
  • 유한 상태 기계
    • 정규 표현식(regex)
  • 알아두면 좋은 알고리듬 기법
    • 선형계획기법
    • 병렬 알고리듬

(위 목차는 변경될 수 있음)

15주 차: 2021-12-19T23:59:59.9990000Z 까지

  • 기말고사. 수업 및 과제 없음
제목   공지일   제출 마감일  
실습 1
2021-09-06T00:00:00.0000000Z (1주 차) 2021-09-12T22:00:00.0000000Z
실습 2
2021-09-13T00:00:00.0000000Z (2주 차) 2021-09-19T22:00:00.0000000Z
실습 3
2021-09-20T00:00:00.0000000Z (3주 차) 2021-09-26T22:00:00.0000000Z
실습 4
2021-09-27T00:00:00.0000000Z (4주 차) 2021-10-03T22:00:00.0000000Z
실습 5
2021-10-04T00:00:00.0000000Z (5주 차) 2021-10-10T22:00:00.0000000Z
실습 6
2021-10-11T00:00:00.0000000Z (6주 차) 2021-10-17T22:00:00.0000000Z
실습 7
2021-11-01T00:00:00.0000000Z (9주 차) 2021-11-07T22:00:00.0000000Z
실습 8
2021-11-08T00:00:00.0000000Z (10주 차) 2021-11-14T22:00:00.0000000Z
실습 9
2021-11-15T00:00:00.0000000Z (11주 차) 2021-11-21T22:00:00.0000000Z
실습 10
2021-11-22T00:00:00.0000000Z (12주 차) 2021-11-28T22:00:00.0000000Z
실습 11
2021-11-29T00:00:00.0000000Z (13주 차) 2021-12-05T22:00:00.0000000Z
과제 1
2021-09-06T00:00:00.0000000Z (1주 차) 2021-09-26T22:00:00.0000000Z
과제 2
2021-09-27T00:00:00.0000000Z (4주 차) 2021-10-17T22:00:00.0000000Z
과제 3
2021-10-18T00:00:00.0000000Z (7주 차) 2021-11-14T22:00:00.0000000Z
과제 4
2021-11-15T00:00:00.0000000Z (11주 차) 2021-12-05T22:00:00.0000000Z
2021-09-19T23:59:59.9990000Z 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2021-11-07T23:59:59.9990000Z 수강 철회 신청 마감
  • 성적표에 "W"로 표시
(권장 소프트웨어)
  1. 윈도우 운영체제
  2. IntelliJ IDEA 2020.3
  3. Java 11(LTS) AdoptOpenJDK(JVM HotSpot)
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.
  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.
윈도우 리눅스 크롬 운영체제
운영 체제 윈도우 7+ 맥 OSX 10.9+ 우분투 18.04+ 크롬 58+
프로세서 인텔 펜티엄 이상 인텔 인텔 펜티엄 이상 인텔 또는 ARM
사용 가능한 디스크 공간 250 MB 250 MB 250 MB 250 MB
램(메모리) 4 GB1 4 GB1 4 GB1 4 GB1
업로드 속도 0.092 Mbps - 0.244 Mbps
마이크 내장형 또는 독립형
웹캠 VGA 해상도 320x240 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.
  1. Java API 문서 (영문)
  2. Java 코딩 표준
  3. 교재 (선택사항)

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.00%)

  • 기말고사 (25.00%)

   시작 날짜    종료 날짜
수강기간
2022-01-03T00:00:00.0000000Z
2022-04-17T23:59:59.9990000Z
수강신청기간
2021-12-20T00:00:00.0000000Z
2022-01-02T23:59:59.9990000Z

프로그래머의 업무를 간단히 표현하면 '문제를 해결하는 것'입니다. 그렇기에 '문제를 해결하는 확실한 방법'인 알고리듬(algorithm)은 프로그래머의 필수 지식으로 종종 거론되곤 합니다.

그럼 어떤 사람이 진짜 개발자일까요? 최신 기술을 많이 아는 사람? 시중에 나와있는 모든 알고리듬 문제를 달달 외우고 있는 사람? 아닙니다. 제대로 된 개발자는 어떤 문제라도 확실히 해결할 수 있는 사람입니다. 알고리듬 문제 사이트에 없는 문제까지 말이죠. 그런 개발자가 되려면 몇몇 핵심 알고리듬을 확실히 이해하는 것이 가장 중요합니다. 새로운 문제는 핵심 알고리듬을 응용하여 풀 수 있으니까요. 이제 아셨나요? 왜 기술 면접(코딩 테스트)에서 알고리듬 문제가 단골손님처럼 나오는지?

모든 문제 해결에 토대가 되는 핵심 알고리듬. 그것이 바로 이 강좌에서 가르치는 내용입니다. POCU 아카데미가 지향하는 10년 후에도 살아남는 탑 1% 개발자. 그런 사람이 되려면 수박 겉핥기 식이 아닌 핵심 알고리듬의 동작 원리까지 확실히 알아야겠죠? 이 강좌에서 확실히 이해시켜드립니다. 이 강좌를 들으신 후 알고리듬 문제 사이트에 가서 본인의 실력을 테스트해보세요. 처음 보는 문제인데도 어렵지 않게 해법을 찾아내는 한 단계 업그레이드된 본인의 문제 해결능력을 느끼실 수 있을 겁니다. 앞으로 실무에서 마주치게 될 새로운 문제들도 큰 어려움이 없겠죠?

꼭 기억하세요. 업계가 원하는 프로그래머는 많은 문제의 정답을 외우고 있는 사람이 아니라 핵심 알고리듬의 확실한 이해와 응용을 통해 새로운 문제를 해결할 수 있는 사람입니다.

이 강좌를 성공적으로 수료한 프로그래머는 다음과 같은 실력을 갖추게 됩니다.

  1. 각 알고리듬의 장단점 및 성능에 대해 잘 이해하고 있다
  2. 어디에 어떤 알고리듬을 적용해야 하는지 안다
  3. 핵심 알고리듬을 응용해 새로운 문제를 풀 수 있다

기본기의 중요성을 강조하는 표현으로 '하나를 가르치면 열을 안다'라는 말이 있습니다. 이것저것 배우는 대신 핵심이 되는 기본 지식을 습득하여 문제 해결능력을 갖춘 진정한 프로그래머로 거듭나기를 바랍니다.

코스 시작 날짜 : 2022-01-03T00:00:00.0000000Z

1주 차: 2022-01-09T23:59:59.9990000Z 까지

  • 알고리듬이란?
  • 알고리듬의 효율성
  • 점근 표기법과 빅오 표기법
  • 기초 자료 구조와 시간 복잡도
  • 실습 1
  • 과제 1  제출 마감: 2022-01-23T22:00:00.0000000Z

2주 차: 2022-01-16T23:59:59.9990000Z 까지

  • 재귀함수
  • 주먹구구식(brute-force) 알고리듬
  • P vs NP 문제
  • 이진 탐색
  • 실습 2
  • 과제 1  제출 마감: 2022-01-23T22:00:00.0000000Z

3주 차: 2022-01-23T23:59:59.9990000Z 까지

  • 버블 정렬
  • 선택 정렬
  • 삽입 정렬
  • 퀵 정렬
  • 병합 정렬
  • 힙 정렬
  • 실습 3
  • 과제 1  제출 마감: 2022-01-23T22:00:00.0000000Z

4주 차: 2022-01-30T23:59:59.9990000Z 까지

  • 비암호학적 해시 함수
  • 체크섬과 CRC
  • 암호학적 해시 함수
  • 실습 4
  • 과제 2  제출 마감: 2022-02-13T22:00:00.0000000Z

5주 차: 2022-02-06T23:59:59.9990000Z 까지

  • 대칭 키 암호화
  • 비대칭 키 암호화
  • 실습 5
  • 과제 2  제출 마감: 2022-02-13T22:00:00.0000000Z

6주 차: 2022-02-13T23:59:59.9990000Z 까지

  • 트리 순회
  • 이진 탐색 트리
  • 레드-블랙 트리
  • 실습 6
  • 과제 2  제출 마감: 2022-02-13T22:00:00.0000000Z

7주 차: 2022-02-20T23:59:59.9990000Z 까지

  • 트라이(Trie)
  • 공간분할 트리
  • 과제 3  제출 마감: 2022-03-13T22:00:00.0000000Z

8주 차: 2022-02-27T23:59:59.9990000Z 까지

  • 중간고사. 수업 및 과제 없음
  • 과제 3  제출 마감: 2022-03-13T22:00:00.0000000Z

9주 차: 2022-03-06T23:59:59.9990000Z 까지

  • 깊이 우선 탐색(DFS)
  • 너비 우선 탐색(BFS)
  • 미니맥스 알고리듬
  • 실습 7
  • 과제 3  제출 마감: 2022-03-13T22:00:00.0000000Z

10주 차: 2022-03-13T23:59:59.9990000Z 까지

  • 동적 계획법(Dynamic Programming)
    • 메모이제이션(memoization)
    • 타뷸레이션(tabulation)
    • 배낭 문제
  • 그리디 알고리듬
    • 동전 교환 문제
    • 인터벌 스케줄링
    • 허프만 코딩
  • 데이터 압축
  • 실습 8
  • 과제 3  제출 마감: 2022-03-13T22:00:00.0000000Z

11주 차: 2022-03-20T23:59:59.9990000Z 까지

  • 그래프
  • 그래프의 깊이 우선 탐색
  • 위상 정렬
  • 강한 연결 요소
  • 실습 9
  • 과제 4  제출 마감: 2022-04-03T22:00:00.0000000Z

12주 차: 2022-03-27T23:59:59.9990000Z 까지

  • 그래프의 너비 우선 탐색
  • 최단 경로 찾기
    • BFS
    • 다익스트라 알고리듬 (Dijkstra's algorithm)
    • A* 알고리듬
    • 플로이드 워셜
  • 실습 10
  • 과제 4  제출 마감: 2022-04-03T22:00:00.0000000Z

13주 차: 2022-04-03T23:59:59.9990000Z 까지

  • 최소 (비용) 신장 트리
  • 외판원 문제
  • 최대 유량 문제
  • 실습 11
  • 과제 4  제출 마감: 2022-04-03T22:00:00.0000000Z

14주 차: 2022-04-10T23:59:59.9990000Z 까지

  • k-최근접 이웃
  • 유한 상태 기계
    • 정규 표현식(regex)
  • 알아두면 좋은 알고리듬 기법
    • 선형계획기법
    • 병렬 알고리듬

(위 목차는 변경될 수 있음)

15주 차: 2022-04-17T23:59:59.9990000Z 까지

  • 기말고사. 수업 및 과제 없음
제목   공지일   제출 마감일  
실습 1
2022-01-03T00:00:00.0000000Z (1주 차) 2022-01-09T22:00:00.0000000Z
실습 2
2022-01-10T00:00:00.0000000Z (2주 차) 2022-01-16T22:00:00.0000000Z
실습 3
2022-01-17T00:00:00.0000000Z (3주 차) 2022-01-23T22:00:00.0000000Z
실습 4
2022-01-24T00:00:00.0000000Z (4주 차) 2022-01-30T22:00:00.0000000Z
실습 5
2022-01-31T00:00:00.0000000Z (5주 차) 2022-02-06T22:00:00.0000000Z
실습 6
2022-02-07T00:00:00.0000000Z (6주 차) 2022-02-13T22:00:00.0000000Z
실습 7
2022-02-28T00:00:00.0000000Z (9주 차) 2022-03-06T22:00:00.0000000Z
실습 8
2022-03-07T00:00:00.0000000Z (10주 차) 2022-03-13T22:00:00.0000000Z
실습 9
2022-03-14T00:00:00.0000000Z (11주 차) 2022-03-20T22:00:00.0000000Z
실습 10
2022-03-21T00:00:00.0000000Z (12주 차) 2022-03-27T22:00:00.0000000Z
실습 11
2022-03-28T00:00:00.0000000Z (13주 차) 2022-04-03T22:00:00.0000000Z
과제 1
2022-01-03T00:00:00.0000000Z (1주 차) 2022-01-23T22:00:00.0000000Z
과제 2
2022-01-24T00:00:00.0000000Z (4주 차) 2022-02-13T22:00:00.0000000Z
과제 3
2022-02-14T00:00:00.0000000Z (7주 차) 2022-03-13T22:00:00.0000000Z
과제 4
2022-03-14T00:00:00.0000000Z (11주 차) 2022-04-03T22:00:00.0000000Z
2022-01-16T23:59:59.9990000Z 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2022-03-06T23:59:59.9990000Z 수강 철회 신청 마감
  • 성적표에 "W"로 표시
(권장 소프트웨어)
  1. 윈도우 운영체제
  2. IntelliJ IDEA 2020.3
  3. Java 11(LTS) AdoptOpenJDK(JVM HotSpot)
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.
  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.
윈도우 리눅스 크롬 운영체제
운영 체제 윈도우 7+ 맥 OSX 10.9+ 우분투 18.04+ 크롬 58+
프로세서 인텔 펜티엄 이상 인텔 인텔 펜티엄 이상 인텔 또는 ARM
사용 가능한 디스크 공간 250 MB 250 MB 250 MB 250 MB
램(메모리) 4 GB1 4 GB1 4 GB1 4 GB1
업로드 속도 0.092 Mbps - 0.244 Mbps
마이크 내장형 또는 독립형
웹캠 VGA 해상도 320x240 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.
  1. Java API 문서 (영문)
  2. Java 코딩 표준
  3. 교재 (선택사항)

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.00%)

  • 기말고사 (25.00%)