|
Introduction to Programming (2020 Fall Semester)
Course Description
This course intended to introduce you basic programming and design techniques. This course will be a mixture of lectures, hands-on or paper reading assignments, and exams. Students are encouraged to ask questions during lectures.
Textbook
No specific textbook. All required reading material will be provided.
Instructor
Chuang-Wen You (游創文), Room #9417, 4th Floor, Extended Education Building, Nanda Campus (南大校區推廣教育大樓4樓9417室); Office hour: by appointment via email, email: cwyou2004 (at) gmail (dot) com
Teaching assistants & office hours
Jui-Wei Huang; Office hour: appointment by email, email: intro.prog.arts (at) gmail.com
Course material
Please download from the NTHU eLearn Course Webpage
Schedule
Weeks |
Dates |
Topics |
Homework |
Computer-Based Test |
1
|
9/15
|
Course Introduction & Logistics [slides]
|
|
|
2
|
9/22
|
Variables, Datatypes & constants, Operators, Expression & statements [slides]
|
Homework 1 (due: 9/29)
|
Lab 1
|
3
|
9/29
|
Basics of Functions, C Input/Output, Coding Style, If/else statement, C-style casting [slides]
|
Homework 2 (due: 10/6)
|
Lab 2
|
|
4
|
10/6
|
Functions and modular programming, Variable scope, while/for loops, Array, C strings [slides]
|
Homework 3 (due: 10/13)
|
Lab 3
|
5
|
10/13
|
Switch-case statement, Pointer, Multidimensional array [slides]
|
Homework 4 (due: 10/20)
|
Lab 4
|
6
|
10/20
|
Recursive function, Stack, Queue [slides]
|
Homework 5 (due: 10/27)
|
Lab 5
|
7
|
10/27
|
User-defined datatype, sizeof, typedef, dynamic memory management, linked list [slides]
|
Homework 6 (due: 11/3)
|
Lab 6
|
8
|
11/3
|
Other user-defined datatypes, modular programming, extern and static keywords, pointer arithmetic [slides]
|
Pre-midterm exercise
|
|
9
|
11/10
|
Midterm exam
|
|
|
10
|
11/17
|
Review [slides]
|
|
Lab 7
|
11
|
11/24
|
Object-oriented programming
[slides]
|
|
Lab 8
|
12
|
12/1
|
C++ namespace, I/O library, string, inheritance [slides]
|
Homework 7 (due: 12/8)
|
Lab 9
|
13
|
12/8
|
Object life cycle, function overloading, stringstream [slides]
|
Homework 8 (due: 12/15)
|
Lab 10
|
14
|
12/15
|
Boolean type, pointer & reference, operator overloading, virtual inheritance [slides]
|
Homework 9 (due: 12/22)
|
Lab 11
|
15
|
12/22
|
Containers, iterator, template, useful algorithms from STL [slides]
|
Homework 10 (due: 12/29)
|
Lab 12
|
16
|
12/29
|
Review [slides]
|
Pre-final exercise
|
Lab 13
|
17
|
1/5
|
Dynamic memory allocation for C++ [slides]
|
|
|
18
|
1/12
|
Final exam
|
|
|
Grading
Homework + Hands-On Assignment + Exam + Participation
References
TBD
|
|
|
Last Update: Jan. 26, 2021
|
|
|