Course Content
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 develop a strategic, turn-based, distributed, 2D game using an object-oriented programming language of their choice.
In the beginning, there are lectures on object-orientation, design patterns, CASE tools, and inter-process communication. Soon, though, the lectures are replaced by group meetings, where the students discuss their problems, design issues and design decisions with the instructor.
Specific Objectives
At the end of the project, the student of this class 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
Last modified: January 17, 2013, Jörg Kienzle




