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.
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:
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.
General program course sequence (Software Engineering, January entry)
General program course sequence (Software Engineering, September entry)
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)
(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)
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
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.
Program option course sequences
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
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
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
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
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.