Syllabus
Instructor
- Alexandre Denault, McConnell 322
- Phone: (514) 398-7071 ext 00116
- Email: alexandre.denault@mail.mcgill.ca
- Office hours: Monday / Wednesday mornings (or send email for a different time)
Teaching Assistant
Yanwar Asrigo and Kyle Li
Course Contents
The goal of this course is to give McGill software engineering and
computer science students the opportunity to develop a considerable
piece of software. Over the semester, the students will develop a
strategic, turn-based, distributed, 2D game using an object-oriented
programming language of their choice.
In the beginning, there will be some lectures on object-
orientation, design patterns, CASE tools, and inter-process
communication. Soon, though, the lectures will be replaced by group
meetings, where the students can discuss their problems, decisions,
design issues with the instructor.
Specific Objectives
At the end of the project, the student should have gained experience in:
- understanding a (reasonably complicated) problem statement
- analyzing the needs that an application must fulfill
- designing a solution for those needs
- implementing this solution in an object-oriented programming language
- delivering the application in time
- writing documentation intended for end users
- contributing to the constitution and the growth of a small group of programmers
- communicating efficiently within the group
- organizing work / programming within a group
- using CASE tools such as compilers, debuggers, version control software
Reading List and Handouts
All course slides will be available for download from this website.
Optional Textbooks
Java and Games
- David Brackeen, Bret Barker, Laurence Vanhelswue: Developing Games in Java. New Riders, 2003. ISBN: 1592730051
- Lawrence H. Rodrigues: Building Imaging Applications with Java Technology. Addison-Wesley, 2001. ISBN: 201700743
Java
- James Gosling, Bill Joy, Guy Steele and Gilad Bracha. The Java Language Speci?cation, 2nd edition. The Java Series; Addison Wesley, 2000. ISBN 0-201-31008-2
- Ken Arnold, James Gosling and David Holmes. The Java Programming Language, 3rd edition. The Java Series; Addison Wesley, 2001. ISBN: 0-201-70433-1
Software Engineering and Games
- Rudy Rucker: Software Engineering and Computer Games, Addison Wesley, 2003. ISBN: 0201767910
Design and UML
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994. ISBN: 0201633612
- James Rumbaugh, Ivar Jacobson and Grady Booch. The Uni?ed Modeling Language Reference Manual. Object Technology Series, Addison Wesley, 1998. ISBN: 0-201-30998-X
Prerequisites
ECSE 321 or COMP 335 or COMP 303
Course Format
The course will start out with some lectures, but then switches to weekly group meetings on Mondays and Wednesdays. Friday's will be used for group discussions and special presentations.
Grading
The final grade will be determined on the following tasks:
- 10% Design Document
- 30% Project Demo
- 40% Acceptance Test
- 20% Final Hand In
Note on Academic Integrity
McGill University values academic integrity. Therefore all students must
understand the meaning and consequences of cheating, plagiarism and other
academic offences under the Code of Student Conduct and Disciplinary Procedures
(see http://www.mcgill.ca/integrity/
for more information).
L'université McGill attache une haute importance à l'honnêteté
académique. Il incombe par conséquent à tous les
étudiants de comprendre ce que l'on entend par tricherie, plagiat
et autres infractions académiques, ainsi que les conséquences
que peuvent avoir de telles actions, selon le Code de conduite de l'étudiant
et des procedures disciplinaires (pour de plus amples renseignements,
veuillez consulter le site http://www.mcgill.ca/integrity/
).
Copyright © 2009 McGill University. All rights
|