Announcements |
Always check http://www.cs.ust.hk/~dekai/151/
for up-to-the-minute announcements. COURSE GRADES FOR LECTURE SECTION 1 AND FOR LECTURE SECTION 2 HAVE BEEN POSTED. Final exam grades have been posted. Here is a histogram showing the distribution of the grades (click to enlarge): Assignment 3 grades with detailed point breakdowns have been posted. Remember not to confuse your "Total" points with "Your A3 Score". The "Total" points is a raw score that shows you how well you are programming (out of 100 points). "Your A3 Score" shows the actual grade you will get on Assignment 3, after we've applied the grading curve. This is also out of 100 points, and we've added extra credit to students who did really well. Here is a histogram showing the distribution of the Total raw points (click to enlarge): Assignment 2 grades with detailed point breakdowns have been posted. Remember not to confuse your "Total" points with "Your A2 Score". The "Total" points is a raw score that shows you how well you are programming (out of 100 points). "Your A2 Score" shows the actual grade you will get on Assignment 2, after we've applied the grading curve. This is also out of 100 points, and we've added extra credit to students who did really well. Here is a histogram showing the distribution of the Total raw points (click to enlarge): Assignment 1 grades with detailed point breakdowns have been posted. Remember not to confuse your "Total" points with "Your A1 Score". The "Total" points is a raw score that shows you how well you are programming (out of 100 points). "Your A1 Score" shows the actual grade you will get on Assignment 1, after we've applied the grading curve. This is also out of 100 points, and we've added extra credit to students who did really well. Here is a histogram showing the distribution of the Total raw points (click to enlarge): 2006.05.22:A sample final exam plus a sample midterm and another sample midterm are available for your practice - Good luck on the final! 2006.05.12: Assignment 3 due date has been extended to Sun May 21, 2006 at 23:59. 2006.05.09: Assignment 3 will be due Tues May 16, 2006 at 23:59 via CASS. 2006.04.30: Assignment 2 will be due Tues May 9, 2006 at 23:59 via CASS. 2006.04.21: Assignment 1 due date has been extended to Fri Apr 28, 2006 at 23:59. 2006.04.15: Assignment 1 will be due Tues Apr 25, 2006 at 23:59 via CASS. |
Policies |
All materials submitted for grading must be your own work. You are advised against being involved in any form of copying (either copying other people's work or allowing others to copy yours). If you are found to be involved in an incident of plagiarism, you will receive a failing grade for the course and the incident will be reported for appropriate disciplinary actions.
University policy requires that students who cheat more than once be expelled. Please review the cheating topic from your UST Student Orientation.
Warning: sophisticated plagiarism detection systems are in operation!
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 |
2006.02.01 | 1 | Lecture | Administrivia (honor statement, HKUST classroom conduct) | Business Week, The Perils of JavaSchools | ||
2006.02.03 | 1 | Lecture | SwEngr | Introduction: C++ and software engineering (doxygen notes: Marine's, Adam's) | V1.Ch1 | |
2006.02.06 | 2 | Lecture | SwEngr | Introduction: Data abstraction | V1.Ch2 | |
2006.02.08 | 2 | Lecture | SwEngr | Introduction: Data abstraction (cont) (YourPets2a.cpp, YourPets2b.cpp) | ||
2006.02.10 | 2 | Lecture | SwEngr | Separate compilation (CheckDate.cpp, Date.cpp, Date.hpp) | V1.Ch3 (p202-210) | |
2006.02.13 | 3 | Lecture | SwEngr | Separate compilation (cont) (UseSqrt.cpp, CheckDate2.cpp, Date2.cpp, Date2.hpp, DayOfWeek.cpp, DayOfWeek.hpp, Lang.cpp, Lang.hpp) | ||
2006.02.15 | 3 | Lecture | Procedural | Declaration and definition (reverse_print.cpp, use_reverse_print.cpp) | V1.Ch4 | |
2006.02.17 | 3 | Lecture | Procedural | Declaration and definition (cont) (reverse_print.hpp) | V1.Ch5 | |
2006.02.20 | 4 | Lecture | Procedural | Pointers | V1.Ch3, ref V1.Ch13 | |
2006.02.22 | 4 | Lecture | Procedural | Pointers (cont), allocating 2D arrays (4-up) | ||
2006.02.24 | 4 | Lecture | Procedural | References | V1.Ch3 | |
2006.02.27 | 5 | Lecture | Procedural | Const, argc & argv | V1.Ch8 | |
2006.03.01 | 5 | Lecture | StaticOO | Overloading and constructors | V1.Ch6 | |
2006.03.06 | 6 | Lecture | StaticOO | Overloading and constructors (cont) | ||
2006.03.08 | 6 | Lecture | StaticOO | Destructors | V1.Ch6 | |
2006.03.10 | 6 | Lecture | StaticOO | Order of construction/destruction, Post Office example | V1.Ch6 | |
2006.03.13 | 7 | Lecture | StaticOO | Inheritance: Introduction | V1.Ch14 | |
2006.03.15 | 7 | Lecture | StaticOO | Inheritance: Substitution principle | V1.Ch14 | |
2006.03.17 | 7 | Lecture | StaticOO | Inheritance: Substitution principle (cont) | V1.Ch14 | |
2006.03.20 | 8 | Lecture | StaticOO | Inheritance: Access control: public, protected, private | V1.Ch14 | |
2006.03.22 | 8 | Lecture | DynamicOO | Inheritance: Virtual functions | V1.Ch15 | |
2006.03.24 | 8 | Lecture | DynamicOO | Inheritance: Overriding vs overloading | V1.Ch15 | |
2006.03.27 | 9 | Lecture | DynamicOO | Inheritance: Abstract base classes, ex1, ex2, ex3, ex4 | V1.Ch15 | |
2006.03.29 | 9 | Lecture | StaticOO | The "this" pointer | V1.Ch4 | |
2006.03.31 | 9 | Lecture | StaticOO | Inheritance: Public, private, protected inheritance | V1.Ch14 | |
2006.04.03 | 10 | Lecture | SwEngr | Namespaces | V1.Ch10 | |
2006.04.05 | 10 | Holiday | Ching Ming Festival | |||
2006.04.07 | 10 | Exam | No lecture: Midterm (LTA 19:00-21:00; sample exam for your practice) | |||
2006.04.10 | 11 | Lecture | Generic | Introduction to generic programming | V1.Ch16 | |
2006.04.12 | 11 | Lecture | Generic | Function and class templates | V1.Ch16 | |
2006.04.14 | 11 | Holiday | Mid-Semester Break | |||
2006.04.17 | 11 | Holiday | Mid-Semester Break | |||
2006.04.19 | 11 | Holiday | Mid-Semester Break | |||
2006.04.21 | 11 | Lecture | Generic | Overloading operators | V1.Ch12 | |
2006.04.24 | 12 | Lecture | Generic | Container classes | V2.Ch7 | |
2006.04.26 | 12 | Lecture | Generic | STL: Sequences & Iterators | V2.Ch6 | |
2006.04.28 | 12 | Lecture | Generic | STL: Sequences & Iterators (cont'd) | V2.Ch6 | A1 due |
2006.05.01 | 13 | Holiday | Labor Day | |||
2006.05.03 | 13 | Lecture | Generic | STL: Introduction to algorithms | V2.Ch6 | |
2006.05.05 | 13 | Holiday | The Birthday of the Buddha | |||
2006.05.08 | 14 | Lecture | Generic | STL: Function pointers | V2.Ch6, ref V1.Ch3 | |
2006.05.09 | 14 | A2 due | ||||
2006.05.10 | 14 | Lecture | Generic | STL: Function objects or functors | V2.Ch6 | |
2006.05.12 | 14 | Lecture | Generic | STL: More algorithms | V2.Ch6 | |
2006.05.15 | 15 | Lecture | SwEngr | Static | V1.Ch2 | |
2006.05.17 | 15 | Lecture | SwEngr | Exceptions | V2.Ch1 | |
2006.05.22 | 15 | A3 due | ||||
2006.05.30 | 16 | Exam | Final (12:30-15:30, LG4204; sample final exam plus a sample midterm and another sample midterm for your practice) |