Announcements |
Always check http://www.cs.ust.hk/~dekai/151/
for up-to-the-minute announcements. 2004.12.06 The deadline for ASSIGNMENT 3 has been extended to 11:59pm instead of noon (still on Dec 8, 2004) 2004.11.22 ASSIGNMENT 3 will be due Dec 8, 2004 - Please review the PLAGIARISM and COLLABORATION policy below CAREFULLY 2004.11.18 ASSIGNMENT 2 deadline has been extended to 12:00 noon on Nov 22, 2004 due to numerous requests - Please review the PLAGIARISM and COLLABORATION policy below CAREFULLY 2004.11.05 ASSIGNMENT 2 will be due Nov 19, 2004 - Please review the PLAGIARISM and COLLABORATION policy below CAREFULLY 2004.11.01: Reminder - Assignment 1 will be collected at midnight today. 2004.10.19: Slides for lecture 11 (Inheritance: Introduction) have been fixed and updated. 2004.10.18: Assignment 1 will be due Nov 1, 2004 - Please review the PLAGIARISM and COLLABORATION policy below CAREFULLY 2004.10.18: Sample Exam is available for your practice - Good luck on the midterm! 2004.09.08: Slides for lecture 1 have been fixed and updated. |
Policies |
There will be one midterm worth 250 points, and one final exam worth 350 points.
Programming assignments will account for a total of 250 points.
All information for laboratory assignments is at http://course.cs.ust.hk/comp151/labs/.
Laboratory assignments will be announced at the end of each week, and will be due on the following Friday at 23:00. Laboratory assignments must be in C++ on Unix and will be collected electronically using the automated ACS (assignment collection system). Late assignments cannot be accepted. Sorry, in the interest of fairness, exceptions cannot be made.
You will also have the option to turn in your laboratory assignments in lab by demonstrating to the TA. This will also give you an opportunity to get an early indication of whether your assignment is correct. If not, you may still decide to fix it, and then wait until the Friday 23:00 ACS collection to turn in your assignment.
There will be approximately 10 laboratory assignments, each accounting for 15 points, for a total of 150 points.
If you achieve | 900 points | you will receive no less than a | A | grade. |
800 points | B | |||
700 points | C | |||
600 points | D |
Schedule | Wk | Event | Paradigm | Topic Notes | Reading | Assignments |
2004.09.01 | 1 | Lecture | Administrivia (honor statement, HKUST classroom conduct) | |||
2004.09.03 | 1 | Lecture | SwEngr | Introduction: C++ and software engineering | V1.Ch1 | |
2004.09.06 | 2 | Lecture | SwEngr | Introduction: C++ and software engineering (cont) | ||
2004.09.08 | 2 | Lecture | SwEngr | Introduction: C++ and software engineering (cont) | ||
2004.09.10 | 2 | Lecture | SwEngr | Introduction: Data abstraction | V1.Ch2 | |
2004.09.13 | 3 | Lecture | SwEngr | Introduction: Data abstraction (cont) | ||
2004.09.15 | 3 | Lecture | SwEngr | Separate compilation | V1.Ch3 (p202-210) | |
2004.09.17 | 3 | Lecture | SwEngr | Separate compilation (cont) (CheckDate.cpp, Date.cpp, Date.h) | ||
2004.09.20 | 4 | Lecture | Procedural | Declaration and definition | V1.Ch4 | |
2004.09.22 | 4 | Lecture | Procedural | Declaration and definition (cont) | V1.Ch5 | |
2004.09.24 | 4 | Lecture | Procedural | Pointers | V1.Ch3, ref V1.Ch13 | |
2004.09.27 | 5 | Lecture | Procedural | Pointers (cont) | ||
2004.09.29 | 5 | Holiday | Autumn Moon Festival | |||
2004.10.01 | 5 | Holiday | National Day | |||
2004.10.04 | 6 | Lecture | Procedural | Pointers (cont), allocating 2D arrays (4-up) | ||
2004.10.06 | 6 | Lecture | Procedural | References | V1.Ch3 | |
2004.10.08 | 6 | Lecture | Procedural | Const, argc & argv | V1.Ch8 | |
2004.10.11 | 7 | Lecture | StaticOO | Overloading and constructors | V1.Ch6 | |
2004.10.13 | 7 | Lecture | StaticOO | Overloading and constructors (cont) | ||
2004.10.15 | 7 | Lecture | StaticOO | Destructors | V1.Ch6 | |
2004.10.18 | 8 | Lecture | StaticOO | Order of construction/destruction, Post Office example | V1.Ch6 | |
2004.10.20 | 8 | Lecture | StaticOO | Inheritance: Introduction | V1.Ch14 | |
2004.10.22 | 8 | Lecture | StaticOO | Inheritance: Substitution principle | V1.Ch14 | |
2004.10.25 | 9 | Exam | Midterm (in class; sample exam for your practice) | |||
2004.10.27 | 9 | Lecture | StaticOO | Inheritance: Substitution principle (cont) | V1.Ch14 | |
2004.10.29 | 9 | Lecture | StaticOO | Inheritance: Access control: public, protected, private | V1.Ch14 | |
2004.11.01 | 10 | Lecture | DynamicOO | Inheritance: Virtual functions | V1.Ch15 | A1 due |
2004.11.03 | 10 | Lecture | DynamicOO | Inheritance: Overriding vs overloading | V1.Ch15 | |
2004.11.05 | 10 | Lecture | DynamicOO | Inheritance: Abstract base classes, ex1, ex2, ex3, ex4 | V1.Ch15 | |
2004.11.08 | 11 | Lecture | Generic | Introduction to generic programming | V1.Ch16 | |
2004.11.10 | 11 | Lecture | Generic | Function and class templates | V1.Ch16 | |
2004.11.12 | 11 | Lecture | Generic | Function and class templates (cont) | V1.Ch16 | |
2004.11.15 | 12 | Lecture | StaticOO | Inheritance: Public, private, protected inheritance | V1.Ch14 | |
2004.11.17 | 12 | Lecture | Generic | Overloading operators | V1.Ch12 | |
2004.11.19 | 12 | Lecture | Generic | Overloading operators (cont) | V1.Ch12 | A2 due |
2004.11.22 | 13 | Lecture | Generic | Container classes | V2.Ch7 | |
2004.11.24 | 13 | Lecture | Generic | Iterators | V2.Ch6 | |
2004.11.26 | 13 | Lecture | Generic | Iterators (cont'd) | V2.Ch6 | |
2004.11.29 | 14 | Lecture | Generic | STL: Introduction to algorithms | V2.Ch6 | |
2004.12.01 | 14 | Lecture | Generic | STL: Function pointers | V2.Ch6, ref V1.Ch3 | |
2004.12.03 | 14 | Lecture | Generic | STL: Function objects or functors | V2.Ch6 | |
2004.12.06 | 15 | Lecture | Generic | STL: More algorithms | V2.Ch6 | |
2004.12.06 | 15 | Makeup | Procedural | Namespaces (18:00-18:50, Room 2303, L17-18) | V1.Ch10 | |
2004.12.08 | 15 | Lecture | StaticOO | The "this" pointer | V1.Ch4 | A3 due |
2004.12.13 | 16 | Exam | Final (08:30-11:30, Room 3007) |