Programming Methodology

Schedule

  • Class hours: 11:00~12:50 (월,수,금)
  • Location: 301동 201호, 207호
  • Office hours: 14:00~15:00 (월, 133동 504호)

Resources

Teaching Assistant

  • Name: Kisu Ok, Yehyun Kim, Wooyoung Choi, Kyusik Moon
  • E-mail: pm_ta@redwood.snu.ac.kr
  • Tel.: 02-880-8370
  • Office location: 133동 507호

Syllabus

  • Objectives
    이 수업에서는 C++를 사용한 객체 지향 프로그래밍을 공부한다. C++ 함수, 포인터, 배열, 클래스, 객체, 함수 및 연산자 오버로딩, 상속, polymorphism, 가상 함수, 템플릿을 다룬다. 실습 세션에서는 git, C++ 표준 템플릿 라이브러리(STL), Java 프로그래밍의 기본 사항도 다룬다.
    주 1회의 이론 강의와 주 2회의 실습을 통해 C++ 언어를 학습하고, 객체지향 프로그래밍 기법을 터득한다.

    ※ 코로나19 감염증의 확산에 대비하여 구성원의 안전을 위해 비대면 강의로 진행합니다. (단, 중간/기말 고사는 대면으로 진행)
    – 사회적 거리두기 단계 등 정부의 방역 조치 준수 및 학내 상황 등에 따라 대면/비대면 수업 등 수업 운영 방식은 조정 될 수 있습니다.
    – 온라인 수업 시 카메라 켜기 필수. 카메라가 없는 학생은 수강 불가.

  • Textbook: “Absolute C++” (5th or 6th edition) by Walter Savitch and Kendrick Mock, Pearson Education Ltd.
  • Prerequisites: 컴퓨터의 개념 및 실습을 선수강하고 수강하는 것이 바람직하다.
  • Weekly schedule
    주차 주제 및 내용
    1주 Overview of the Class
    SDK-Lab 1: Getting started
    2주 C++ Basics (Ch. 1)
    SDK-Lab 2: Git
    SDK-Lab 3: GitHub and GitHub Classroom
    3주 Flow of Control (Ch. 2)
    Lang-Lab 1: C++ Basics
    SDK-Lab 4: make and gdb
    4주 Function Basics (Ch. 3)
    Lang-Lab 2: Flow of Control
    SDK-Lab 5: Standard Template Library (STL) 1
    5주 Parameters and Overloading (Ch. 4)
    Lang-Lab 3: Functions
    SDK-Lab 6: Standard Template Library (STL) 2
    6주 Arrays (Ch. 5)
    SDK-Lab 4: Function Overloading and Arrays
    SDK-Lab 7: TBD
    7주 Structures and Classes (Ch. 6)
    Lang-Lab 5: Structures and Classes
    SDK-Lab 8: TBD
    8주 Constructors and Other Tools (Ch. 7)
    Lang-Lab 6: Constructors and Other Tools
    SDK-Lab 9: TBD
    Midterm exam (4/24(토) 11:00)
    9주 Operator Overloading (Ch. 8)
    Lang-Lab 7: Operator Overloading
    SDK-Lab 10: TBD
    10주 Pointers and Dynamic Arrays (Ch. 10)
    Lang-Lab 8: Pointers and Dynamic Arrays
    SDK-Lab 11: TBD
    11주 Name Spaces (Ch. 11)
    Lang-Lab 9: Inheritance
    SDK-Lab 12: TBD
    12주 Inheritance (Ch. 14)
    Lang-Lab 10: Virtual Functions
    13주 Polymorphism and Virtual Function (Ch. 15)
    Lang-Lab 11: Strings and Separate Compilation
    SDK-Lab 13: TBD
    14주 Templates (Ch. 16)
    Lang-Lab 12: Template
    SDK-Lab 14: TBD
    15주 Standard Template Library (Ch. 19)
    SDK-Lab 15: Standard Template Library (STL)2
    SDK-Lab 16: TBD
    Final exam (6/14(월) 11:00)
  • Grading
    출석 10%
    과제 30%
    중간 30%
    기말 30%
    결석은 최대 1회 허용 (단, 담당교수가 불가피한 결석으로 인정하는 경우는 예외로 할 수 있음)

    ※ 온라인 수업에서 카메라를 켜야 출석으로 인정.
    ※ 숙제, 시험, 프로젝트, 출석 확인에서 속임수를 쓰거나 표절을 저지른 경우 해당 수업의 최종 성적 F가 부과된다.