Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Academic Undergraduates Programs Software Engineering SE Examples
SE Program
SE Comparison
SE Examples


Software Engineering Program Project and Course Examples

This section contains some examples of what we mean by "practical" work.

In your second year, you will learn about software design: how to precisely describe the structure and behaviour of your software-to-be-built. In COMP-304 - Object-Oriented Design" - for example, you will study the design and build parts of a spreadsheet application. You will also learn how to build a CD player application from a Statechart design.

Starting from the second year of your studies, you will be asked to implement group projects in courses such as COMP 303 - Programming Techniques or COMP-361 - Systems Programming Project. Students often implement games or simulation environments (see the picture on the left) during such a project.
In several courses, for example in the complementary course COMP-533 - Object-Oriented Software Development - we will teach you techniques that will help you to produce reliable software. Mission- and safety-critical applications, e.g. software produced for the aerospace industry, use so-called fault tolerance techniques, that allow the software to continue to provide service in spite of hardware, software design faults and faults of the surrounding environment. You can learn about these in COMP-667 - Software Fault Tolerance.
In the complementary course COMP-522 - Modelling and Simulation - you will learn how to model, analyze and efficiently simulate complex systems using various formalisms. You will study queueing systems (such as lane-merging in traffic), simulate the execution of distributed, real-time software (such as a chat-room application), and model and simulate the dynamics of populations (such as the growth of cities in a SimCity game).