Skip to main content

Software Engineering (MASc)

Master of Applied Science (MASc)

Program overview

The Master of Software Engineering expands students' knowledge and research capabilities in specific areas of software engineering. Software engineers apply engineering principles and practices to design, test, operate and maintain computer software. The MASc program should appeal to students with an undergraduate degree in software engineering or computer science as well as students of related disciplines, such as computer engineering who wish to further their knowledge in a specific area of software engineering. It is ideal for IT professionals who wish to gain a solid education in software engineering at the theoretical and practical levels. The MASc in software engineering consists of coursework and research, culminating in the presentation of a thesis. Graduates can pursue their training at the Doctoral level (PhD), the department’s highest degree, and attain the greatest possible expertise in their chosen fields.

Program details

Admission Requirements

  • Undergraduate degree or graduate diploma in software engineering, computer science, or another discipline such as engineering, science, and mathematics with very high standing.

Proficiency in English

Proficiency in English. Applicants whose primary language is not English must demonstrate that their knowledge of English is sufficient to pursue graduate studies in their chosen field. Please refer to the English language proficiency page for further information on requirements and exemptions.

Degree Requirements

Fully-qualified candidates are required to complete a minimum of 45 credits.

Please see the Computer Science and Software Engineering Courses page for course descriptions and prerequisites.

Software Engineering MASc (45 credits)


credits of coursework with a minimum of 8 credits chosen from the following Topic Areas:

C08 - Developments in Software Engineering
C09 - Software Development
C10 - Software Architecture and Design
C11 - Software Maintenance and Quality
C12 - Software Development Processes and Management

C12 - Software Development Processes and Management
C13 - Software Engineering

Any remaining credits may be chosen from any of the following Topic Areas:

C01 - Developments in Computer Science
C02 - Parallel and Distributed Systems
C03 - Image Processing/Pattern Recognition and Graphics C04 - Software Systems and Languages

C05 - Information Processing and Management

C06 - Scientific Computation and Algorithms
C07 - Artificial Intelligence and Human-Machine Communication

C16 - Cognate Disciplines

A maximum of 4 credits can be chosen from the following courses: COMP 6281, COMP 6311, COMP 6331, COMP 6341, COMP 6371, COMP 6731, COMP 6771, COMP 6421, COMP 6741, COMP 6791. The student’s study program must be approved by the supervisor(s) and either the Graduate Program Director or the Department Chair.



  SOEN 7941 Master’s Research and Thesis (29.00)

Please apply online. Read the how-to guide for application procedures. 

1. Submit your application and pay a $100 CAD application fee.  A student ID number will be issued

2. Upload your documents online. You can also upload your documents by logging in to the Student Hub and going to My CU Account

3. A completed file that is ready to be assessed will include:

4. An admission offer will not be issued until a supervisor match has been made. Students are encouraged to review the list of faculty members' field of interests and directly contact those with whom you would like to work.  

For initial assessment purposes, scanned and uploaded copies of documents are accepted. To finalize a file, once admitted, Concordia University will require official documents.

Software Engineering        
Canadian / International /
Permanent Resident
MASc June 1 Oct. 1 Feb. 1

Sample classes

  • Advanced Software Architectures
  • Software Systems Requirements Specification
  • Software Project Management
  • Software Comprehension and Maintenance

  • Mobile computing and wireless networks
  • distributed systems
  • computer networks and protocols
  • parallel algorithms and architectures
  • ad hoc networks
  • numerical analysis and scientific computing
  • semantics of programming languages
  • databases
  • knowledge based systems
  • data mining
  • semantics web
  • symbolic and algebraic computation
  • combinatorial algorithms
  • mathematical programming
  • artificial Intelligence
  • natural language processing
  • pattern recognition
  • image processing
  • 3D graphics and computer gaming
  • visualization techniques
  • multimedia computing
  • bioinformatics
  • software architecture
  • requirement engineering
  • software measurement
  • user interface
  • software comprehension and maintenance
  • dependable software.

Learn more about our research expertise or explore CENPARMI, our research centre.

Graduate students of computer science and software engineering may apply for positions as teaching assistants within the department. All candidates must have good language skills.

Learn more about Teaching Assistantships

Back to top

© Concordia University