December 5, 2011: The exam will be Thursday December 8, 2011 at 9am. It is open-book (no electronics). Room locations depend on your last name and are as follows:
- Ale - Ela LEA 109
- Ell - Lev LEA 110
- Li - Sud LEA 14
- Sut - Zho LEA 15
December 5, 2011: Note: Clark's office hours this week will be Tuesday 9:30-11:00 and Wednesday 11:30-13:00.
December 2, 2011: There are some additional TA office hours if you have questions while studying for the exam:
- Monday Dec.5 10-11:30 (Juan)
- Tuesday Dec.6 11-12 (Wisam)
- Tuesday Dec.6 11:30-1:00 (Ben)
- Wednesday Dec.7 4-5:30 (Tim)
November 29, 2011: Note: Clark's office hours this week will be Wednesday 9:00-11:00 and Thursday 14:30-16:00.
November 16, 2011: Milestone 3 posted.
October 26, 2011: Midterm today!!
- Even student numbers → Regular classroom.
- Odd student numbers → McIntyre Medical 1034.
October 26, 2011: Milestone 2 posted.
October 19, 2011: All TA office hours will from now on be in Trottier 3110.
October 11, 2011: Note that Wisam's office hours are cancelled from October 12-22 (inclusive).
October 7, 2011: The tentative exam schedule has been posted. The COMP303 is currently indicated to be (Thursday) December 8, 2011, at 9am.
September 22, 2011: Milestone 1 posted. For group svn directories please see moodle.
September 21, 2011: Project stub code posted.
September 12, 2011: Milestone 0 posted.
Monday, Wednesday: 11:35 - 12:55
MAASS 217
Please consult Minerva for
the most up-to-date scheduling & classroom location information.
Clark Verbrugge
Office: McConnell, room 230
Office hours (starting Sept.7): Wednesday 14:00-15:30, Friday 10:00-11:30, or by appointment.
Phone: 514-398-2411 but don't call me, use email
Email: clump@cs.mcgill.ca
All TA office hours are now held in Trottier 3110.
Ben Kybartas: Tuesday 11:30-13:00, Thursday 13:00-14:30
Juan Camilo Gamboa Higuera: Tuesday 13:00-14:30, Friday 13:00-14:30
Wisam Al Abed: Monday 10:15-11:15, Wednesday 10:15-11:15, Thursday 12:00-13:00 (except Oct.12-22)
Tim Drews: Monday 17:00-18:30, Thursday 16:00-17:30
Zhen Cao: By appointment
COMP 206 (Introduction to Software Systems).
COMP 250 (Introduction to Computer Science).
Note: students registering without the pre-requisites may find the
course removed from their transcript by their Faculty. If you do not
have the official pre-requisites please see the instructor.
Reference material is available in the following texts:
- Required: Horstmann. Object-Oriented Design and Patterns, 2nd Edition. Wiley, 2005. This is the core textbook for the course.
- Optional: Pezzè and Young. Software Testing and Analysis: Process, Principles, and Techniques. Wiley, 2008. This text is optional, to provide
an additional non-trivial text on testing. It is mainly used to supplement a few lectures at the end of the course.
Texts will be available in the McGill Bookstore and on reserve at the Schülich library.
Principles, mechanisms, techniques, and tools for software
development. The course involves a significant project.
The learning outcomes for this course are organized along the four
main conceptual axes of the course: principles,
mechanisms, techniques, and tools. The following
table lists the expected learning outcomes for the course (the table
reads by row, from left to right).
After this course, you should be able to...
| Principles | Mechanisms | Techniques | Tools |
Name, using the proper terminology | The
important first principles of object-oriented software
development | The common programming-language based
mechanisms used to build OO software
applications | Common software development
techniques | A number of software development
tools |
Describe and explain | The purpose of
each principle and how it can be applied | How each
mechanism works | How to apply each technique and when
it should be applied | The theory underlying each tool,
and the technique(s) the tool supports |
Apply | Each principle | Each
mechanism | Each technique | Each tool |
Evaluate | Whether the application of a
principle is appropriate to a given situation | The
technical consequences of a solution involving the
mechanism | The cost and benefits of using the technique
in a given situation | The suitability of different
tools for a given task |
Create | A complete
object-oriented application based on the first principles of
object-oriented software development, the structured use of
programming language mechanisms, the application of software
development techniques, and the use of software engineering
tools |
A detailed syllabus can be found here.
Project: 35%
Midterm: 25%
Exam: 40%
- Writing the midterm exam is optional; your combined midterm and
final grade will be the best of: (midterm/25+final/40) or (final/65).
- A mark of 50% or more for the project is required to
pass the course, irrespective of the total final mark.
- Project grades will be allocated by project, but adjusted for each team-member based on the extent of individual contribution, as reported in a project group report at the end of the term and in each milestone. Note that each team member must make contributions to all milestones. Students who do not contribute to a milestone receive the grade of 0 for the milestone.
- Moodle will be used for course management (assignments and discussions).
In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or
in French any written work that is to be graded.
Integrity
McGill University values academic integrity. Therefore all
students must understand the meaning and consequences of cheating,
plagiarism and other academic offenses under the Code of Student
Conduct and Disciplinary Procedures (see
http://www.mcgill.ca/integrity for more information).
More specifically, work submitted for this course must represent your own
efforts. Copying assignments or tests, or allowing others to copy
your work, will not be tolerated. Note that introducing syntactic
changes into a copied program is still considered plagiarism.
The project will involve the development of an interactive
Mahjong Solitaire game in Java.
Additional links will appear here as additional instructions are
released. To get an idea of what you will be developing as a project
have a look at the best projects from 2010, 2009, 2008, 2007, and 2006.
Project Resources
Submission Policy: Milestones
are assigned to groups: only one submission per group is
necessary. Deadlines are given above. All
deadlines are firm. This is to ensure fairness, a speedy
feedback, and consistency with the course schedule. Please plan
ahead. Note that submissions are due at 6pm, not midnight!
If you are not done by the deadline, submit your partial
solution. Moodle allows you to update your draft uploads.
To avoid the usual issues with last-minute
submissions, you are encouraged to submit early.
The Moodle system will block submissions once the submission deadline
is reached.
Milestones not submitted on time will be considered missed and receive a grade of 0.