COMP-361 : Systems Development Project


Winter 2009


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