Creative Software Design - 2019 Fall

  • Instructor: Yoonsang Lee
  • Teaching Assistant: Kyoungho Ku
  • Undergraduate Mentor: Geuntae Park, Chaejun Sohn, SangOk Lee, Jiwon Yoo
  • Time / Location:
    • Tue 10:00-12:00 / 609 IT.BT Building - Lecture
    • Wed 13:00-15:00 / 609 IT.BT Building - Lab 1
    • Thu 13:00-15:00 / 609 IT.BT Building - Lab 2

Course Outline

In this course the students will learn the fundamentals of C++ language and practice programming skills by writing many exercise programs in a good coding style. They will also learn and practice using development tools and editors in Unix / Linux environment. Through homework and exercise problems the students will study how to write concise programs in more efficient and more creative ways.

  • Through C ++, students will learn key concepts of object-oriented programming such as classes, inheritance, and polymorphism, and have the ability to develop simple text-based programs. They will also learn about references, pointers, dynamic allocation, and so on, to get a deeper understanding of how computer programs work.

Schedule

Week Date Topics Reference Materials
1 Sep 03 / Sep 04, 05 1 - Course Intro /
1 - Lab1 - Environment Setting, Git, Vim, 1 - Lab2 - G++, Make, GDB, Assignment 1
1 - Lab1 - Vim Advanced
2 Sep 10 / Sep 11, 12 2 - Review of C Pointer and Structure / Assignment 2  
3 Sep 17 / Sep 18, 19 3 - Review of C Pointer and Const, Difference Between C and C++ / Assignment 3  
4 Sep 24 / Sep 25, 26 4 - Dynamic Memory Allocation, References / Assignment 4  
5 Oct 01 / Oct 02, 03 5 - Compilation and Linkage, CMD Args / Assignment 5  
6 Oct 08 / Oct 09, 10 6 - Class / Assignment 6  
7 Oct 15 / Oct 16, 17 7 - Standard Template Library / Assignment 7  
8 Oct 22 / Oct 23, 24 Midterm Exam  
9 Oct 29 / Oct 30, 31 8 - Inheritance, Const & Class / Assignment 8  
10 Nov 05 / Nov 06, 07 9 - Polymorphism 1 / Assignment 9  
11 Nov 12 / Nov 13, 14 10 - Polymorphism 2 / Assignment 10  
12 Nov 19 / Nov 20, 21 11 - Copy Constructor, Operator Overloading / Assignment 11  
13 Nov 26 / Nov 27, 28 12 - Template / Assignment 12  
14 Dec 03 / Dec 04, 05 13 - ExceptionHandling / Assignment 13  
15 Dec 10 / Dec 11, 12 No Class  
16 Dec 17 / Dec 18, 19 Final Exam