Instructor: Ling-Chieh Kung
Department of Information Management
National Taiwan University
This is a required course for first-year undergraduate students in the Department of Information Management in National Taiwan University. We do not assume any background in computer programming, and there is no prerequisite for this course. However, some experiences in courses like Introduction to Computer Science and Discrete Mathematics helps. In most cases, all students who want to enroll in or audit this course are welcome.
Note. Though this course counts for three units officially, students are suggested to treat it as at least five units and put efforts accordingly. In my opinion, this course should be (and indeed is) heavier than most introductory programming courses in NTU. If you do not have any programming experience, you do need to spend enough time on programming to really learn something. Studying programming is definitely not easy. Please do not hesitate to let me know if you need any help.
Instructor |
|
---|---|
Teaching Assistants |
|
Meetings |
|
Textbook |
|
References |
|
On-line resources |
For a detailed description about this course, including course policies, grading rules, tentative schedules, etc., please see the syllabus. Whenever there is an update, a new version will be posted with a short note describing the update.
Week | Topic | Lecture Slides | Lecture Programs | Videos |
---|---|---|---|---|
1 | Introduction | Slides | Programs | N/A |
2 | Selection and Repetition | Slides | Programs | Playlist |
3 | Variables and Arrays | Slides | Programs | N/A |
4 | Functions | Slides | Programs | N/A |
5 | Algorithms and Recursion | Slides | Programs | N/A |
6 | (Lab Exam 1) | N/A | N/A | N/A |
7 | Pointers | Slides | Programs | Playlist |
8 | C Strings | Slides | Programs | Playlist |
9 | Self-defined Data Types in C | Slides | Programs | N/A |
10 | Classes | Slides | Programs | N/A |
11 | Operator Overloading and C++ String | Slides 1, Slides 2 | Programs 1, Programs 2 | N/A |
12 | (Lab Exam 2) | N/A | N/A | N/A |
13 | Inheritance and Polymorphism | Slides | Programs | N/A |
14 | File I/O and header files | Slides | Programs | N/A |
15 | Templates, Vectors, and Exceptions | Slides | Programs | Playlist |
16 | (Final Exam) | N/A | N/A | N/A |
17 | Data Structures | Slides | Programs | N/A |
18 | Final Project Presentations | N/A | N/A | N/A |
Exam | Problems | Solutions | TAs' Notes |
---|---|---|---|
Lab exam 1 | Problems | Solutions | TAs' Notes |
Lab exam 2 | Problems | Solutions | TAs' Notes |
Lab exam 3 | Problems |
Item | Description |
---|---|
Midterm Project | Midterm project problem description |
Final Project | Final project problem description |