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

C++은 C와 더불어 가장 널리 사용되는 언매니지드 언어일 뿐만 아니라 2018년 7월 기준 전세계에서 3번째로 많이 쓰이는 언어입니다. (출처: TIOBE) 그리고 언매니지드 언어라는 특수성 때문에 한동안 사용률이 떨어지지 않을 전망입니다.

현존하는 프로그래밍 언어를 크게 둘로 나누면 매니지드(Managed) 언어와 언매니지드(Unmanaged) 언어가 있습니다. 이 둘의 차이는 프로그래머가 컴퓨터 하드웨어를 직접 제어할 수 있는지 여부입니다. (예: 프로그래머가 직접 메모리를 관리하는가?)

프로그램의 성능보다 제품을 빨리 개발하는 것이 중요한 분야에서는 C#, Java와 같은 매니지드 언어를 널리 사용합니다. 하지만 운영체제, 비디오 게임, 가상현실, 주식거래소, 머신 러닝 코어, 블록체인 등 성능이 더 중요한 분야에서는 여전히 언매니지드 언어를 사용할 수밖에 없습니다. 따라서 본 강좌는 실제 업계에서 쓰이는 C++ 프로그래밍 기법에 중점을 맞춰 진행합니다.

언매니지드 언어의 장점은 여기서 그치지 않습니다. 프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나가 컴퓨터 하드웨어에 대한 이해입니다. 탑 레이서라면 자동차의 동작 원리를 잘 알아야 하듯이 탑 프로그래머는 하드웨어의 동작 원리를 잘 이해해야 합니다. 이걸 돕는 언어가 바로 언매니지드 언어입니다.

'COMP2500: Java 개체지향 프로그래밍 및 설계'와 마찬가지로 이 강좌에서도 개체지향 프로그래밍(OOP)에 대해 배웁니다. 하지만 이 코스를 성공적으로 마무리한 분들은 하드웨어 수준에서 개체지향 프로그래밍이 어떻게 작동하는지까지 자세히 이해하실 수 있을 겁니다.

본 강좌는 다음과 같이 크게 세 부분으로 나뉘며, 강의 진행도 이 순서를 따릅니다.

  1. 코어 C++: 참조, 클래스, 상속 등 C++의 기본이 되는 내용. C++98 표준 ( ~ 5주 차)

  2. 모던 C++: STL 등 C++03 표준에서 추가된 기능 중 업계에서 쓰이는 내용들 (6주 차 ~ 9주 차)

  3. C++1x: C++11/14/17 표준에서 추가된 최신 기능 중 업계에서 쓰이는 내용들 (10주 차 ~ )

위와 같이 강의를 세 부분으로 나눈 이유는 회사에 따라 사용하는 C++ 표준이 다르고, 성능 상의 이유로 일부러 과거의 표준을 여전히 사용하는 곳도 많기 때문입니다. 따라서 최신의 C++ 표준만을 사용하는 프로그래머는 업계에서 원하는 프로그래머가 아닌 경우가 많습니다.

코스 시작 날짜 : 2019-09-02T00:00:00.0000000Z

1주 차: 2019-09-08T23:59:59.9990000Z 까지

  • 콘솔화면 입출력(I/O)
  • 불리언(bool) 타입, 참조(reference)
  • 실습 1
  • 과제 1  제출 마감: 2019-09-22T22:00:00.0000000Z

2주 차: 2019-09-15T23:59:59.9990000Z 까지

  • string 클래스
  • 파일 입출력(I/O)
  • 개체지향 프로그래밍(object-oriented programming) 1
    • 클래스
    • 스택과 힙
    • new, delete 키워드
    • 생성자(constructor), 초기화 리스트(initializer list), 생성자 오버로딩(constructor overloading), 소멸자(destructor)
    • const 키워드
  • 실습 2
  • 과제 1  제출 마감: 2019-09-22T22:00:00.0000000Z

3주 차: 2019-09-22T23:59:59.9990000Z 까지

  • 개체지향 프로그래밍 (계속)
    • 복사 생성자(copy constructor)
    • 함수 오버로딩(function overloading), 연산자 오버로딩(operator overloading)
    • friend 키워드
    • 상속(inheritance)
  • 실습 3
  • 과제 1  제출 마감: 2019-09-22T22:00:00.0000000Z

4주 차: 2019-09-29T23:59:59.9990000Z 까지

  • 개체지향 프로그래밍 (계속)
    • 다형성(polymorphism), 가상함수(virtual function), 가상 테이블(virtual table)
    • 다중상속(multiple inheritance)
    • 추상 클래스(abstract class)
    • "인터페이스(interface)"
  • 실습 4
  • 과제 2  제출 마감: 2019-10-13T22:00:00.0000000Z

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

  • 형변환(타입 캐스팅, type casting)
  • 인라인 함수(inline function)
  • static 키워드
  • 실습 5
  • 과제 2  제출 마감: 2019-10-13T22:00:00.0000000Z

6주 차: 2019-10-13T23:59:59.9990000Z 까지

  • 예외 (exception)
  • 표준 템플릿 라이브러리(STL, Standard Template Library) 1
    • 벡터(vector)
    • 반복자(이터레이터, iterator)
  • 실습 6
  • 과제 2  제출 마감: 2019-10-13T22:00:00.0000000Z

7주 차: 2019-10-20T23:59:59.9990000Z 까지

  • 표준 템플릿 라이브러리 (계속)
    • 맵(map), 셋(set), 큐(queue), 스택(stack), 리스트(list)
  • 과제 3  제출 마감: 2019-11-10T22:00:00.0000000Z

8주 차: 2019-10-27T23:59:59.9990000Z 까지

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

9주 차: 2019-11-03T23:59:59.9990000Z 까지

  • 템플릿 프로그래밍(template programming)
  • 템플릿 특수화(template specialization)
  • STL 알고리듬(STL algorithm)
  • 실습 7
  • 과제 3  제출 마감: 2019-11-10T22:00:00.0000000Z

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

  • 새로운 키워드들
    • auto 키워드
    • static_assert 키워드
    • default, delete 키워드
    • final, override 키워드
  • 새로운 자료형들
    • nullptr
    • 고정 폭 정수형(fixed-width integer types)
    • enum class
  • 실습 8
  • 과제 3  제출 마감: 2019-11-10T22:00:00.0000000Z

11주 차: 2019-11-17T23:59:59.9990000Z 까지

  • 새로 추가된 STL 컨테이너
    • 정렬안된 맵(unordered_map)
    • 정렬안된 셋(unordered_set)
    • 어레이(array)
  • 범위 기반 for(range-based for)
  • 스마트 포인터(smart pointer) 1
    • 유니크 포인터(unique_ptr)
  • 실습 9
  • 과제 4  제출 마감: 2019-12-01T22:00:00.0000000Z

12주 차: 2019-11-24T23:59:59.9990000Z 까지

  • 스마트 포인터 (계속)
    • 공유 포인터(shared_ptr)
    • 약한 포인터( weak_ptr)
  • 이동 생성자(move constructor)
  • 이동 대입연산자(move assignment operator)
  • 실습 10
  • 과제 4  제출 마감: 2019-12-01T22:00:00.0000000Z

13주 차: 2019-12-01T23:59:59.9990000Z 까지

  • 상수표현식(컨스트 익스프레션, constexpr)
  • 람다 표현식(lambda expression)
  • 가변인자(variadic template)
  • 실습 11
  • 과제 4  제출 마감: 2019-12-01T22:00:00.0000000Z

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

  • 파일 시스템(filesystem)
  • 모듈 시스템(module system)
  • 쓰레드 라이브러리(threading library)
    • 쓰레드(thread), 뮤텍스(mutex), 조건변수(condition variables)

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

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

통과 점수: 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%)

   시작 날짜    종료 날짜
수강기간
2020-01-06T00:00:00.0000000Z
2020-04-19T23:59:59.9990000Z
수강신청기간
2019-12-23T00:00:00.0000000Z
2020-01-05T23:59:59.9990000Z

C++은 C와 더불어 가장 널리 사용되는 언매니지드 언어일 뿐만 아니라 2018년 7월 기준 전세계에서 3번째로 많이 쓰이는 언어입니다. (출처: TIOBE) 그리고 언매니지드 언어라는 특수성 때문에 한동안 사용률이 떨어지지 않을 전망입니다.

현존하는 프로그래밍 언어를 크게 둘로 나누면 매니지드(Managed) 언어와 언매니지드(Unmanaged) 언어가 있습니다. 이 둘의 차이는 프로그래머가 컴퓨터 하드웨어를 직접 제어할 수 있는지 여부입니다. (예: 프로그래머가 직접 메모리를 관리하는가?)

프로그램의 성능보다 제품을 빨리 개발하는 것이 중요한 분야에서는 C#, Java와 같은 매니지드 언어를 널리 사용합니다. 하지만 운영체제, 비디오 게임, 가상현실, 주식거래소, 머신 러닝 코어, 블록체인 등 성능이 더 중요한 분야에서는 여전히 언매니지드 언어를 사용할 수밖에 없습니다. 따라서 본 강좌는 실제 업계에서 쓰이는 C++ 프로그래밍 기법에 중점을 맞춰 진행합니다.

언매니지드 언어의 장점은 여기서 그치지 않습니다. 프로그래머의 지속적인 성장에 반드시 필요한 지식 중 하나가 컴퓨터 하드웨어에 대한 이해입니다. 탑 레이서라면 자동차의 동작 원리를 잘 알아야 하듯이 탑 프로그래머는 하드웨어의 동작 원리를 잘 이해해야 합니다. 이걸 돕는 언어가 바로 언매니지드 언어입니다.

'COMP2500: Java 개체지향 프로그래밍 및 설계'와 마찬가지로 이 강좌에서도 개체지향 프로그래밍(OOP)에 대해 배웁니다. 하지만 이 코스를 성공적으로 마무리한 분들은 하드웨어 수준에서 개체지향 프로그래밍이 어떻게 작동하는지까지 자세히 이해하실 수 있을 겁니다.

본 강좌는 다음과 같이 크게 세 부분으로 나뉘며, 강의 진행도 이 순서를 따릅니다.

  1. 코어 C++: 참조, 클래스, 상속 등 C++의 기본이 되는 내용. C++98 표준 ( ~ 5주 차)

  2. 모던 C++: STL 등 C++03 표준에서 추가된 기능 중 업계에서 쓰이는 내용들 (6주 차 ~ 9주 차)

  3. C++1x: C++11/14/17 표준에서 추가된 최신 기능 중 업계에서 쓰이는 내용들 (10주 차 ~ )

위와 같이 강의를 세 부분으로 나눈 이유는 회사에 따라 사용하는 C++ 표준이 다르고, 성능 상의 이유로 일부러 과거의 표준을 여전히 사용하는 곳도 많기 때문입니다. 따라서 최신의 C++ 표준만을 사용하는 프로그래머는 업계에서 원하는 프로그래머가 아닌 경우가 많습니다.

코스 시작 날짜 : 2020-01-06T00:00:00.0000000Z

1주 차: 2020-01-12T23:59:59.9990000Z 까지

  • 콘솔화면 입출력(I/O)
  • 불리언(bool) 타입, 참조(reference)
  • 실습 1
  • 과제 1  제출 마감: 2020-01-26T22:00:00.0000000Z

2주 차: 2020-01-19T23:59:59.9990000Z 까지

  • string 클래스
  • 파일 입출력(I/O)
  • 개체지향 프로그래밍(object-oriented programming) 1
    • 클래스
    • 스택과 힙
    • new, delete 키워드
    • 생성자(constructor), 초기화 리스트(initializer list), 생성자 오버로딩(constructor overloading), 소멸자(destructor)
    • const 키워드
  • 실습 2
  • 과제 1  제출 마감: 2020-01-26T22:00:00.0000000Z

3주 차: 2020-01-26T23:59:59.9990000Z 까지

  • 개체지향 프로그래밍 (계속)
    • 복사 생성자(copy constructor)
    • 함수 오버로딩(function overloading), 연산자 오버로딩(operator overloading)
    • friend 키워드
    • 상속(inheritance)
  • 실습 3
  • 과제 1  제출 마감: 2020-01-26T22:00:00.0000000Z

4주 차: 2020-02-02T23:59:59.9990000Z 까지

  • 개체지향 프로그래밍 (계속)
    • 다형성(polymorphism), 가상함수(virtual function), 가상 테이블(virtual table)
    • 다중상속(multiple inheritance)
    • 추상 클래스(abstract class)
    • "인터페이스(interface)"
  • 실습 4
  • 과제 2  제출 마감: 2020-02-16T22:00:00.0000000Z

5주 차: 2020-02-09T23:59:59.9990000Z 까지

  • 형변환(타입 캐스팅, type casting)
  • 인라인 함수(inline function)
  • static 키워드
  • 실습 5
  • 과제 2  제출 마감: 2020-02-16T22:00:00.0000000Z

6주 차: 2020-02-16T23:59:59.9990000Z 까지

  • 예외 (exception)
  • 표준 템플릿 라이브러리(STL, Standard Template Library) 1
    • 벡터(vector)
    • 반복자(이터레이터, iterator)
  • 실습 6
  • 과제 2  제출 마감: 2020-02-16T22:00:00.0000000Z

7주 차: 2020-02-23T23:59:59.9990000Z 까지

  • 표준 템플릿 라이브러리 (계속)
    • 맵(map), 셋(set), 큐(queue), 스택(stack), 리스트(list)
  • 과제 3  제출 마감: 2020-03-15T22:00:00.0000000Z

8주 차: 2020-03-01T23:59:59.9990000Z 까지

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

9주 차: 2020-03-08T23:59:59.9990000Z 까지

  • 템플릿 프로그래밍(template programming)
  • 템플릿 특수화(template specialization)
  • STL 알고리듬(STL algorithm)
  • 실습 7
  • 과제 3  제출 마감: 2020-03-15T22:00:00.0000000Z

10주 차: 2020-03-15T23:59:59.9990000Z 까지

  • 새로운 키워드들
    • auto 키워드
    • static_assert 키워드
    • default, delete 키워드
    • final, override 키워드
  • 새로운 자료형들
    • nullptr
    • 고정 폭 정수형(fixed-width integer types)
    • enum class
  • 실습 8
  • 과제 3  제출 마감: 2020-03-15T22:00:00.0000000Z

11주 차: 2020-03-22T23:59:59.9990000Z 까지

  • 새로 추가된 STL 컨테이너
    • 정렬안된 맵(unordered_map)
    • 정렬안된 셋(unordered_set)
    • 어레이(array)
  • 범위 기반 for(range-based for)
  • 스마트 포인터(smart pointer) 1
    • 유니크 포인터(unique_ptr)
  • 실습 9
  • 과제 4  제출 마감: 2020-04-05T22:00:00.0000000Z

12주 차: 2020-03-29T23:59:59.9990000Z 까지

  • 스마트 포인터 (계속)
    • 공유 포인터(shared_ptr)
    • 약한 포인터( weak_ptr)
  • 이동 생성자(move constructor)
  • 이동 대입연산자(move assignment operator)
  • 실습 10
  • 과제 4  제출 마감: 2020-04-05T22:00:00.0000000Z

13주 차: 2020-04-05T23:59:59.9990000Z 까지

  • 상수표현식(컨스트 익스프레션, constexpr)
  • 람다 표현식(lambda expression)
  • 가변인자(variadic template)
  • 실습 11
  • 과제 4  제출 마감: 2020-04-05T22:00:00.0000000Z

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

  • 파일 시스템(filesystem)
  • 모듈 시스템(module system)
  • 쓰레드 라이브러리(threading library)
    • 쓰레드(thread), 뮤텍스(mutex), 조건변수(condition variables)

15주 차: 2020-04-19T23:59:59.9990000Z 까지

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

통과 점수: 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%)