Prospective Students

Bachelor of Software Engineering

Local tools



Concordia was one of the first universities in Canada to introduce an undergraduate program in Software Engineering.

This program is highly practical, and at the same time offers sound conceptual knowledge. Students work co-operatively in teams using professional techniques and tools to create complete software systems of professional quality. Classroom lectures are backed by work in regularly upgraded, state-of-the-art laboratory facilities, including specialized labs for databases, networks, 3-D graphics, high performance computing, artificial intelligence, and more.

Concordia’s program is accredited by the Canadian Engineering Accreditation Board and  graduates of this program are eligible to become registered professional engineers.

Degree Requirements

The principal objective of the Software Engineering program is to educate people to become high quality software professionals. Graduates of the program will be familiar with current techniques for developing large-scale software and be able to apply those techniques to real problems.

Another important objective of the program is to ensure that graduates are accredited engineers. This will be important for maintaining the high level of professionalism and responsibility that large-scale software development (that is, major software projects) will demand in the coming years. Because of the enormous variation in requirements for the development of large-scale software, the program is carefully designed to provide students with the required exposure to a wide range of paradigms of software development so that in their professional life they may usefully integrate these into the many varied contexts of current commercial software development.

The B.Eng in Software Engineering is a 120 credit program which normally takes four years of full-time study after CEGEP. Courses in the program are in three main areas:

  • Engineering fundamentals (includes courses on engineering economics, health and safety and professional practice);
  • Computer science group (includes courses on computer mathematics, object oriented programming, theoretical computer science, operating systems, programming language principles, data structures and algorithms), and
  • Software engineering (includes courses on software requirements, design, architecture, metrics, quality, usability and software project management).

Out of the 120 credits, 66.5 credits are for the software engineering core including the computer science group, 30.5 credits for the engineering core and 23 elective credits.

Engineering Core (30.5 credits)

ELEC 275    Principles of Electrical Engineering
ENCS 282    Technical Writing and Communication
ENGR 201    Professional Practice and Responsibility
ENGR 202    Sustainable Development and Environmental Stewardship
ENGR 213    Applied Ordinary Differential Equations
ENGR 233    Applied Advanced Calculus
ENGR 301    Engineering Management Principles and Economics
ENGR 371    Probability and Statistics in Engineering
ENGR 391    Numerical Methods in Engineering
ENGR 392    Impact of Technology on Society
General Education elective (3 credits)

Software Engineering Core

(66.5 credits including the Computer Science Group)
SOEN 228    System Hardware
SOEN 287    Web Programming
SOEN 331    Introduction to Formal Methods for Software Engineering
SOEN 341    Software Process
SOEN 342    Software Requirements and Specifications
SOEN 343    Software Architecture and Design I
SOEN 344    Software Architecture and Design II
SOEN 345    Software Testing, Verification and Quality Assurance
SOEN 357    User Interface Design
SOEN 384    Management, Measurement and Quality Control
SOEN 385    Control Systems and Applications
SOEN 390    Software Engineering Team Design Project
SOEN 490    Capstone Software Engineering Design Project
Computer Science Group (22 credits)
Two Basic Science courses (6 credits)

The Computer Science Group consists of:

COMP 232    Mathematics for Computer Science
COMP 248    Object-Oriented Programming I
COMP 249    Object-Oriented Programming II
COMP 335    Introduction to Theoretical Computer Science
COMP 346    Operating Systems
COMP 348    Principles of Programming Languages
COMP 352    Data Structures and Algorithms

Options

Students must complete at least 20 credits with a minimum of 15 credits from one of the options listed below and the remainder chosen from other options or elective courses.

Computer Games (CG) Option

COMP 345    Advanced Program Design with C++
COMP 371    Computer Graphics
COMP 376    Introduction to Game Development
COMP 472    Artificial Intelligence
COMP 476    Advanced Game Development
COMP 477    Animation for Computer Games

Web Services and Applications (WSA) Option

COMP 353    Databases
COMP 445    Data Communication and Computer Networks
COMP 479    Information Retrieval and Web Search
SOEN 321    Information Systems Security
SOEN 387    Web-Based Enterprise Application Design
SOEN 487    Web Services and Applications

Real-Time, Embedded, and Avionics Software (REA) Option

COEN 317    Microprocessor Systems
COMP 345    Advanced Program Design with C++
COEN 320    Introduction to Real-Time Systems
COMP 345   Advanced Program Design with C++
COMP 444   System Software Design
SOEN 422    Embedded Systems and Software
SOEN 423    Distributed Systems
MECH 480   Flight Control Systems
MECH 482   Avionic Navigation Systems

Electives

COMP 426    Multicore Programming
COMP 428    Parallel Programming
COMP 442    Compiler Design
COMP 444    System Software Design
COMP 451    Database Design
COMP 465    Design and Analysis of Algorithms
COMP 473    Pattern Recognition
COMP 474    Intelligent Systems
COMP 478    Image Processing
SOEN 423    Distributed Systems
SOEN 431    Formal Methods
SOEN 448    Management of Evolving Systems
ENGR 411    Special Technical Report

Co-op program

The Co-op Program in Software Engineering formally integrates a student’s academic studies with work experience in co-operative industrial organizations. The program consists of study and work terms. Students undertake the regular academic program in addition to the three paid work-terms in relevant external organizations, thereby complementing their academic knowledge acquired in the classroom.


 

Concordia University