Skip to content

Software Engineering

Concordia University · Sir George Williams

Computing and Software: blue ink subject illustration
Image source

AI-generated ink illustration

Conceptual study artwork, not a photograph of teaching facilities.

Unidex · generated with ImageGen

Checked 2026-11-05

Symbolic subject artwork; no university facility depicted

Deadlines

November 2026

MonTueWedThuFriSatSun
2345678
9101112131415
16171819202122
23242526272829
30

Next deadline

  • Winter undergraduate application, open programs

    Winter 2027 entry · Only undergraduate programs still marked open in the live Winter 2027 availability table.

    All Winter 2027 undergraduate programs close November 1. A closed program is unavailable already; international applicants must allow time for CAQ/study permits.

Other deadline details
March 1Application deadline, fall (September) entryRecurring annual · Every year
  • March 1
  • Page adds: "Programs may close at any point after the official deadline without warning."
  • International and U.S. applicants are told to apply no later than February 1 for immigration processing
SourceChecked
November 1Application deadline, winter (January) entryRecurring annual · Every year
  • November 1
  • International and U.S. applicants: apply no later than August 1
  • Not all programs are available for winter entry
SourceChecked
Dates and conditionsFALL ENTRY (September)Standing annual entry · Every year
  • Applicants in the named entry term
  • international guidance is separately stated
  • Deadline: March 1 U.S. and international applicants: Apply no later than February 1 to allow time for immigration document processing. However, applying earlier is strongly recommended . Immigration processing times vary by country and delays could prevent you from starting your studies on time.
SourceChecked
Dates and conditionsWINTER ENTRY (January)Standing annual entry · Every year
  • Applicants in the named entry term
  • international guidance is separately stated
  • Deadline: November 1 U.S. and international applicants: Apply no later than August 1 to allow time for immigration document processing. However, applying earlier is strongly recommended . Immigration processing times vary by country and delays could prevent you from starting your studies on time. We reserve the right to close admission to a program at any time after the official deadline without prior notice.
SourceChecked

Requirements

Admission requirements

High-school prerequisites

Check the university’s requirements for your province and applicant category.

Concordia University programme admission criteria
Application steps
  1. Step 1Check the admission requirements
  2. Step 2Apply through Concordia admissions
    • Create your application and select this program.
    Concordia admissionsConcordia admissions
  3. Step 3Academic records, then final official transcripts after an offer
    • Unofficial documents can be used when applying. Accepted applicants must provide final official records after completing school and before classes begin. Fall applicants studying the Ontario curriculum can include their OUAC number for electronic transfer; otherwise follow your offer's issuer or sealed-envelope instructions.
    Concordia undergraduate official document requirementsConcordia undergraduate official document requirements
  4. Step 4Translation for records outside English or French
    • Provide an English or French translation prepared by the school or a certified translator, together with a copy of the original document.
    Concordia international document translation requirementsConcordia international document translation requirements
Applicant pathways
Minimum cut-off averages and course requirements

Applicants in each explicitly named curriculum or transfer category

  • Quebec CEGEP: 25 overall, 26 math, 25 physics Admission is based on applicants’ overall, math and physics CRC indicated above and completion of the following classes as part of their DEC: General Chemistry 1; Calculus 1 and Calculus 2 and Linear Algebra; Mechanics and Electricity and Magnetism. Students completing one of the eligible technical DECs may qualify for admission without the listed prerequisites. However, if the prerequisites are taken, a minimum of 26 in math and a 25 in physics are required. Eligible technical DECs include 420.A0/BO/AA Advanced standing may be possible Additional information for CEGEP applicants
  • High school: B overall, B+ in math, B+ in physics One math from Pre-Calculus, Calculus, or equivalent Grade 12 or university-preparatory physics Canadian curricula course requirements Accepted international qualifications ACT or SAT is not required AP exams are not required but may qualify you for advanced standing
  • Indigenous Bridging Program: First Nations, Inuit and Métis students who do not meet Concordia’s conventional admission requirements may be eligible for admission through the Kaié:ri Nikawerá:ke Indigenous Bridging Program
  • International Baccalaureate (IB) diploma : 29 overall, 4 HL or 5 SL math, 5 HL or SL physics one math (Applications and Interpretations HL, Analysis and Approaches HL or Analysis and Approaches SL) one of the math or physics courses must be completed at the HL level
  • International Baccalaureate Career-related Programme (CP): 4.8/7 overall, 4 HL or 5 SL math, 5 HL or SL physics one math (Applications and Interpretations HL, Analysis and Approaches HL or Analysis and Approaches SL) one of the math or physics courses must be completed at the HL level Additional Career-related Programme (CP) course requirements
  • Baccalauréat français: 13 overall, 14 in math, 14 in science Required courses: Première: Spécialité mathématiques and Spécialité physique-chimie Terminale: Spécialité mathématiques (also accepted, Spécialité Physique-Chimie and Mathématiques Complémentaires) Additional information for Baccalauréat français applicants
  • British system of education (GCE): A-levels: At least two A-level exams CC, B in math, B in physics or AS-levels: At least 4 AS-level exams with equivalent results or BTEC: Level 3 Diploma or Extended Diploma in a related subject area with equivalent results Students without math or physics A-levels may be admissible based on AS-level or iGCSE/GCSE/O-Level exam results. Students should include all their exam results from iGCSE (or equivalent) onwards to support their application. Additional information for British System of Education (GCE) applicants
  • University transfer (internal): 2.7 overall, 3.0 in math/physics, 1.7 in courses offered by the Gina Cody School of Engineering and Computer Science PHYS 204 or 205 (or equivalent) At least two of the following (or equivalent): MATH 203, 204, 205
  • University transfer (external): B overall, B+ in math, B+ in physics Courses in the disciplines of Calculus, Chemistry and Physics
  • Minimum cut-off averages should be used as indicators. The cut-off data may change depending on the applicant pool. Applicants who meet the stated minimum requirements are not guaranteed admission to these programs.
Concordia University programme admission criteria

Degree requirements

Required courses and electives
  • Students registered in the Software Engineering program must complete a minimum of 120 credits during four years of fulltime study. The program consists of the Engineering Core, the Software Engineering Core and electives.
  • 16 credits of Software Engineering Electives
  • Students in the Software Engineering program must complete at least 16 elective credits from the list of courses below:
  • 3 credits of General Education Humanities and Social Sciences Electives ‌ ​ ​ ​ ​
  • (5) Students must select three credits of ​ General Education Humanities and Social Sciences Electives ‌ ​ from one of the lists in ​ Section 71.110 Complementary Studies for Engineering and Computer Science Students ‌ ​ . Students in the BEng in Industrial Engineering ‌ ​ shall take ACCO 220 ‌ ​ as their General Education elective.
  • Minimum 120 credits: 27.5 Engineering Core (including 3 General Education), 46.5 Software Engineering Core, 27 Computer Science Group, 3 Engineering/Natural Science Group and 16 SOEN electives. The 3 General Education credits are already included in the 27.5 Engineering Core.
Credits and degree requirements
  • 27.5 credits from the Engineering Core
  • 46.5 credits from the Software Engineering Core
  • 27 credits from the Computer Science Group: Software Engineering
  • 3 credits from the Engineering and Natural Science Group: Software Engineering
  • 46.5 credits:
  • SOEN 228 System Hardware ( 4.00 ) ‌
  • SOEN 287 Web Programming ( 3.00 ) ‌
  • SOEN 321 Information Systems Security ( 3.00 ) ‌
  • SOEN 331 Formal Methods for Software Engineering ( 3.00 ) ‌
  • SOEN 341 Software Process and Practices ( 4.00 ) ‌
  • SOEN 342 Software Requirements and Deployment ( 3.00 ) ‌
  • SOEN 343 Software Architecture and Design ( 4.00 ) ‌
  • SOEN 345 Software Testing, Verification and Quality Assurance ( 4.00 ) ‌
  • SOEN 357 User Interface Design ( 3.00 ) ‌
  • SOEN 363 Data Systems for Software Engineers ( 3.00 ) ‌
  • SOEN 384 Management, Measurement and Quality Control ( 3.00 ) ‌‌
  • SOEN 390 Software Engineering Team Design Project ( 3.50 ) ‌
  • SOEN 490 Capstone Software Engineering Design Project ( 6.00 )
  • Note: Students may replace SOEN 490 with ENGR 490 if they are interested in a multidisciplinary project that requires collaboration with students from other engineering departments. In order for students to register in ENGR 490 , their projects must be approved by the ENGR 490 Design Committee before the start of the fall term.
  • 3 credits chosen from:
  • ENGR 245 Mechanical Analysis ( 3.00 )
  • MIAE 221 Materials Science ( 3.00 )
  • To be recommended for the degree of BEng, students must satisfactorily complete the courses of the Engineering Core as well as those specified for their particular program in subsequent sections in accordance with the graduation requirements in Section 71.10.5 Graduation Regulations ‌ . ​ ​ ​ ​
  • 27.5 credits:
  • ELEC 275 Principles of Electrical Engineering ( 3.50 ) ‌
  • ENCS 282 Technical Writing and Communication ( 3.00 ) ‌
  • ENGR 201 Professional Practice and Responsibility ( 1.50 ) ‌
  • ENGR 202 Sustainable Development and Environmental Stewardship ( 1.50 ) ‌
  • ENGR 213 Applied Ordinary Differential Equations ( 3.00 ) ‌
  • ENGR 233 Applied Advanced Calculus ( 3.00 ) ‌
  • ENGR 301 Engineering Management Principles and Economics ( 3.00 ) ‌
  • ENGR 371 Probability and Statistics in Engineering ( 3.00 ) ‌
  • ENGR 391 Numerical Methods in Engineering ( 3.00 ) ‌
  • ENGR 392 Impact of Technology on Society ( 3.00 ) ‌ ​ ​ ​ ​
  • (1) The Engineering Core credits for students in the ​ BEng in Building Engineering ‌ ​ are reduced from 30.5 credits to 29 credits since Building Engineering students are not required to take ENGR 202 ‌ ​ in their program.
  • (2) The Engineering Core credits for students in the ​ BEng in Chemical Engineering ‌ ​ , ​ BEng in Mechanical Engineering ‌ ​ , BEng in Industrial Engineering ‌ ​ and BEng in Aerospace Engineering ‌ ​ programs are reduced from 30.5 credits to 27 credits since Chemical, Mechanical, Industrial and Aerospace Engineering students are not required to take ELEC 275 ‌ ​ in their program. Students in the BEng in Electrical Engineering ‌ ​ and the BEng in Computer Engineering ‌ ​ shall replace ELEC 275 ‌ ​ with ELEC 273 ‌ ​ .
  • (3) The Engineering Core credits for students in the ​ ​ BEng in Computer Engineering ‌ ​ and the ​ BEng in Software Engineering ‌ ​ ​are reduced from 30.5 credits to 27.5 credits since Computer Engineering and Software Engineering students are not required to take ​ ENGR 391 ‌ ​ ​ ​ in their program.

Program facts

Published thresholdB overall, B+ in mathematics and physics

Published high-school minimum. Required courses vary by curriculum.

Concordia · Software Engineering admission minimums
Co-opCo-op option

Optional co-op includes three paid work terms of 12–16 weeks.

University work-study information

Co-op option with three paid work terms of 12 to 16 weeks, building and testing real software alongside experienced professionals.

University work-study information
University work-study informationCheck work experience options

Courses

Current 2026/27 degree core, named alternatives and elective course banks. Individual credit values are printed by the calendar. Elective/route menus are choices, not all mandatory courses. Published January-entry and co-op academic sequences. The regular September-entry plan appears under Mapped terms.

Regular · January entry

Regular · January entry

Year 1 · Winter5 listed
  • COMP 232Mathematics for Computer Science3 credits
  • COMP 248Object-Oriented Programming I3.5 credits
  • ENGR 201Professional Practice and Responsibility1.5 credits
  • ENGR 213Applied Ordinary Differential Equations3 credits
  • SOEN 228System Hardware4 credits
Concordia Software Engineering, Regular · January entry, page 3
Year 1 · Summer4 listed

Also lists a 3-credit general education elective in Humanities or Social Sciences.

  • COMP 249Object-Oriented Programming II3.5 credits
  • ENGR 202Sustainable Development and Environmental Stewardship1.5 credits
  • ENGR 233Applied Advanced Calculus3 credits
  • SOEN 287Web Programming3 credits
Concordia Software Engineering, Regular · January entry, page 3
Year 2 · Fall5 listed
  • COMP 348Principles of Programming Languages3 credits
  • COMP 352Data Structures and Algorithms3 credits
  • ENCS 282Technical Writing and Communication3 credits
  • ELEC 275Principles of Electrical Engineering3.5 credits
  • SOEN 341Software Process and Practices4 credits
Concordia Software Engineering, Regular · January entry, page 3
Year 2 · Winter3 listed

Also choose 3 credits from the Engineering and Natural Science group.

  • COMP 346Operating Systems4 credits
  • ENGR 371Probability and Statistics in Engineering3 credits
  • SOEN 331Formal Methods for Software Engineering3 credits
Concordia Software Engineering, Regular · January entry, page 3
Year 3 · Fall5 listed
  • COMP 335Introduction to Theoretical Computer Science3 credits
  • COMP 432Machine Learning4 credits
  • SOEN 342Software Requirements and Deployment3 credits
  • SOEN 343Software Architecture and Design4 credits
  • SOEN 384Management, Measurement and Quality Control3 credits
Concordia Software Engineering, Regular · January entry, page 4
Year 3 · Winter4 listed

Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.

  • SOEN 363Data Systems for Software Engineers3 credits
  • SOEN 345Software Testing, Verification and Quality Assurance4 credits
  • SOEN 357User Interface Design3 credits
  • SOEN 390Software Engineering Team Design Project3.5 credits
Concordia Software Engineering, Regular · January entry, page 4
Year 4 · Fall3 listed

SOEN 490 spans two terms and carries 6 credits in total. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.

  • ENGR 301Engineering Management Principles and Economics3 credits
  • SOEN 321Information Systems Security3 credits
  • SOEN 490Capstone Software Engineering Design Project6 credits
Concordia Software Engineering, Regular · January entry, page 4
Year 4 · Winter1 listed

SOEN 490 continues from Fall. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.

  • ENGR 392Impact of Technology on Society3 credits
Concordia Software Engineering, Regular · January entry, page 4
Co-op entry

Co-op entry

Year 1 · Fall4 listed

Also lists a 3-credit general education elective in Humanities or Social Sciences.

  • COMP 232Mathematics for Computer Science3 credits
  • COMP 248Object-Oriented Programming I3.5 credits
  • ENGR 201Professional Practice and Responsibility1.5 credits
  • ENGR 213Applied Ordinary Differential Equations3 credits
Concordia Software Engineering, Co-op entry, page 5
Year 1 · Winter4 listed

Also choose 3 credits from the Engineering and Natural Science group.

  • COMP 249Object-Oriented Programming II3.5 credits
  • ENGR 233Applied Advanced Calculus3 credits
  • SOEN 228System Hardware4 credits
  • SOEN 287Web Programming3 credits
Concordia Software Engineering, Co-op entry, page 5
Year 1 · Summer5 listed
  • COMP 348Principles of Programming Languages3 credits
  • COMP 352Data Structures and Algorithms3 credits
  • ENCS 282Technical Writing and Communication3 credits
  • ENGR 202Sustainable Development and Environmental Stewardship1.5 credits
  • ENGR 371Probability and Statistics in Engineering3 credits
Concordia Software Engineering, Co-op entry, page 5
Year 2 · Winter4 listed

Work term 1 is in the preceding Fall. Work term 2 follows in Summer.

  • COMP 346Operating Systems4 credits
  • ELEC 275Principles of Electrical Engineering3.5 credits
  • SOEN 331Formal Methods for Software Engineering3 credits
  • SOEN 341Software Process and Practices4 credits
Concordia Software Engineering, Co-op entry, page 5
Year 3 · Fall4 listed
  • COMP 335Introduction to Theoretical Computer Science3 credits
  • SOEN 342Software Requirements and Deployment3 credits
  • SOEN 343Software Architecture and Design4 credits
  • SOEN 384Management, Measurement and Quality Control3 credits
Concordia Software Engineering, Co-op entry, page 6
Year 3 · Winter4 listed

Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree. Work term 3 follows in Summer.

  • SOEN 363Data Systems for Software Engineers3 credits
  • SOEN 345Software Testing, Verification and Quality Assurance4 credits
  • SOEN 357User Interface Design3 credits
  • SOEN 390Software Engineering Team Design Project3.5 credits
Concordia Software Engineering, Co-op entry, page 6
Year 4 · Fall3 listed

SOEN 490 spans two terms and carries 6 credits in total. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.

  • ENGR 301Engineering Management Principles and Economics3 credits
  • SOEN 321Information Systems Security3 credits
  • SOEN 490Capstone Software Engineering Design Project6 credits
Concordia Software Engineering, Co-op entry, page 6
Year 4 · Winter2 listed

SOEN 490 continues from Fall. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.

  • ENGR 392Impact of Technology on Society3 credits
  • COMP 432Machine Learning4 credits
Concordia Software Engineering, Co-op entry, page 6
Mapped terms

Published Software Engineering General Program regular September-entry core sequence, Years 1–4. The source expressly leaves some of the required 16 SOEN-elective credits unassigned to terms. January, co-op, ECP and mature-entry routes are separate. Recommended course placement is not a guaranteed timetable.

Year 1: published recommended September-entry route
Fall

Also 3 credits of General Education Humanities/Social Sciences electives.

  • COMP 232Mathematics for Computer Science3 credits

    Sets. Propositional logic and predicate calculus. Functions and relations. Elements of number theory. Mathematical reasoning. Proof techniques: direct proof, indirect proof, proof by contradiction, proof by induction.

  • COMP 248Object‑Oriented Programming I3.5 credits

    Introduction to programming. Basic data types, variables, expressions, assignments, control flow. Classes, objects, methods. Information hiding, public vs. private visibility, data abstraction and encapsulation. References. Arrays.

  • ENGR 201Professional Practice and Responsibility1.5 credits

    Health and safety issues for engineering projects: Quebec and Canadian legislation; safe work practices; general laboratory safety common to all engineering disciplines, and specific laboratory safety pertaining to particular engineering disciplines. Review of the legal framework in Quebec, particularly the Professional Code and the Engineers Act, as well as professional ethics.

  • ENGR 213Applied Ordinary Differential Equations3 credits

    This course introduces Engineering students to the theory and application of ordinary differential equations. Definition and terminology, initial‑value problems, separable differential equations, linear equations, exact equations, solutions by substitution, linear models, orthogonal trajectories, complex numbers, form of complex numbers: powers and roots, theory: linear equations, homogeneous linear equations with constant coefficients, undetermined coefficients, variation of parameters, Cauchy‑Euler equation, reduction of order, linear models: initial value, review of power series, power series solutions, theory, homogeneous linear systems, solution by diagonalization, non‑homogeneous linear systems. Eigenvalues and eigenvectors.

Winter

Also 3 credits from the Engineering and Natural Science Group: choose ENGR 245 or MIAE 221 under the current calendar.

  • COMP 249Object‑Oriented Programming II3.5 credits

    This course provides a comprehensive introduction to object-oriented programming (OOP), focusing on the design, efficiency, and implementation of software using OOP principles. Key topics include inheritance, polymorphism, exception handling, recursion, and dynamic data structures such as linked lists and array lists. Students explore collections and generics, learning how to develop flexible and reusable code. Through hands-on programming assignments and projects, students gain experience in designing modular, maintainable, and scalable software solutions. ​ ​

  • ENGR 233Applied Advanced Calculus3 credits

    This course introduces Engineering students to the theory and application of advanced calculus. Functions of several variables, partial derivatives, total and exact differentials, approximations with differentials. Tangent plane and normal line to a surface, directional derivatives, gradient. Double and triple integrals. Polar, cylindrical, and spherical coordinates. Change of variables in double and triple integrals. Vector differential calculus; divergence, curl, curvature, line integrals, Green’s theorem, surface integrals, divergence theorem, applications of divergence theorem, Stokes’ theorem.

  • SOEN 228System Hardware4 credits

    This course covers the following topics: Boolean Algebra, Digital logic and the design of logic circuits; CPU design; addressing modes; instruction sets and sequencing; design of datapath and control units; memory systems and types; cache memory levels; I/O devices and their interconnection to the CPU; assembly language, and Interrupts.

  • SOEN 287Web Programming3 credits

    This course covers the following topics: internet architecture and protocols; web applications through clients and servers; modern HTML and CSS; client‑side programming using modern JavaScript and an overview of the advantages of some common modern JavaScript libraries; Regular Expressions; static website contents and dynamic page generation through server‑side programming; preserving state (client‑side) in web applications; deploying static and dynamic websites and content management systems vs. website deployment.

Year 2: published recommended September-entry route
Fall

ENCS 282 requires passing the Engineering Writing Test or ENCS 272 with C- or higher. Native co-requisites also apply.

  • COMP 348Principles of Programming Languages3 credits

    The course discusses the design, efficiency, and implementation of programming languages. A comparison of common high-level programming paradigms, including both imperative and functional approaches, is provided. Core language features such as binding, visibility, and scope are evaluated across a set of current and historical languages. In addition, statically constrained typing and memory management models are compared to dynamic run-time alternatives, with an emphasis on the trade-offs between flexibility and performance.

  • COMP 352Data Structures and Algorithms3 credits

    Abstract data types: stacks and queues, trees, priority queues, dictionaries. Data structures: arrays, linked lists, heaps, hash tables, search trees. Design and analysis of algorithms: asymptotic notation, recursive algorithms, searching and sorting, tree traversal, graph algorithms.

  • ENCS 282Technical Writing and Communication3 credits

    Technical writing form and style. Technical and scientific papers, abstracts, reports. Library research and referencing methods for engineers and computer scientists. Technical communication using information technology: document processing software, computer‑assisted presentation, analysis and design of web presentation, choice and use of appropriate tools. Students will prepare an individual major report and make an oral presentation

  • ENGR 202Sustainable Development and Environmental Stewardship1.5 credits

    Introduction to the concept of sustainable development and the approaches for achieving it. Relationships with economic, social, and technological development. Methods for evaluating sustainability of engineering projects, including utilization of relevant databases and software. Impact of engineering design and industrial development on the environment. Case studies.

  • SOEN 341Software Process and Practices4 credits

    This course covers the following topics: basic principles of software engineering; introduction to software process, including activities, phases, organization, roles, teamwork, and conflict resolution; notations used in software engineering; software development practices, including documentation, modern version control, review, testing, agile, and continuous integration.

Winter
  • COMP 346Operating Systems4 credits

    Fundamentals of operating system functionalities, design and implementation. Multiprogramming: processes and threads, context switching, queuing models and scheduling. Interprocess communication and synchronization. Principles of concurrency. Synchronization primitives. Deadlock detection and recovery, prevention and avoidance schemes. Memory management. Device management. File systems. Protection models and schemes.

  • ELEC 275Principles of Electrical Engineering3.5 credits

    Fundamentals of electric circuits: Kirchoff’s laws, voltage and current sources, Ohm’s law, series and parallel circuits. Nodal and mesh analysis of DC circuits. Superposition theorem, Thevenin and Norton Equivalents. Use of operational amplifiers. Transient analysis of simple RC, RL and RLC circuits. Steady state analysis: Phasors and impedances, power and power factor. Single and three phase circuits. Magnetic circuits and transformers. Power generation and distribution.

  • ENGR 371Probability and Statistics in Engineering3 credits

    This course starts out with axioms of probability theory, events, conditional probability and Bayes theorem. Next, random variables are introduced. Here, mathematical expectation, discrete and continuous probability density functions are covered. In statistics sampling distributions, interval estimation and hypothesis testing are introduced. The course includes applications to engineering problems.

  • SOEN 331Formal Methods for Software Engineering3 credits

    This course covers the following topics: property‑based (axiomatic and algebraic) formalisms and model‑based (abstract and visual) formalisms; axiomatic formalisms with temporal logic, assertions and contracts; algebraic formalisms through algebraic specifications; abstract formalisms through the Z and Object‑Z specification languages; visual formalisms through automata (finite state machines and extended finite state machines).

Year 3: published recommended September-entry route
Fall
  • COMP 335Introduction to Theoretical Computer Science3 credits

    This course covers the following topics: finite state automata and regular languages; push ‑ down automata and context ‑ free languages; pumping lemmas; applications to parsing; Turing machines; undecidability and decidability.

  • COMP 432Machine Learning4 credits

    This course introduces conceptual and practical aspects of machine learning. Concepts include regression, classification, maximum likelihood estimation, discriminative vs. generative modelling, generalization, supervised learning, unsupervised learning, semi-supervised learning and transfer learning. Methods include linear models, mixture models, nearest neighbours, support vector machines, random forests, boosting, and basics of deep learning. A project is required.

  • SOEN 342Software Requirements and Deployment3 credits

    This course covers the following topics: requirements engineering; eliciting and coping with changing and evolving requirements; deployment of a software system under real‑life functional and non‑functional requirements scenarios; understanding how requirements impact early‑stage and deployed software systems through all phases of engineering, including design, implementation, test and verification, deployment, and evolution. A project is required.

  • SOEN 343Software Architecture and Design4 credits

    This course covers the following topics: from requirements to design to implementation; planned vs. evolutionary design and refactoring; model‑driven design and Unified Modelling Language (UML); structural and behavioural design descriptions and specifications; general and domain‑specific design principles, patterns and idioms; introduction to software architecture (styles and view models); design quality; architectural debt; design smells; refactoring Anti‑Patterns to Patterns; design rationale.

  • SOEN 384Management, Measurement and Quality Control3 credits

    Organization of large software development. Roles of team members, leaders, managers, stakeholders, and users. Tools for monitoring and controlling a schedule. Financial, organizational, human, and computational resources allocation and control. Project and quality reviews, inspections, and walkthroughs. Risk management. Communication and collaboration. Cause and effects of project failure. Project management via the Internet. Quality assurance and control.

Winter

A Software Engineering Elective row appears here without a credit weight. The PDF says not all 16 elective credits are assigned a row; do not infer the remaining credit placement.

  • SOEN 363Data Systems for Software Engineers3 credits

    This course covers the following topics: introduction to the current data ecosystem; relational databases; key‑value databases; document databases; column databases; graph databases; RDF stores; parallel and distributed file systems, data processing engines; data stream analytics; and data infrastructure.

  • SOEN 345Software Testing, Verification and Quality Assurance4 credits

    This course explores a range of essential testing and development practices, including unit testing, test-driven development, and legacy system testing. Students learn about mocking, dependency injection, and strategies for breaking system dependencies. The course also covers integration and system testing, along with test planning and management, including test prioritization and handling flaky tests. Advanced topics such as static analysis, bisection, fuzzing, and verification are introduced. Additionally, the course delves into continuous integration, continuous delivery, and DevOps testing, with a focus on practices like A/B testing.

  • SOEN 357User Interface Design3 credits

    This course covers the following topics: principles, standards and guidelines for user interface design; usability principles and user experience; standards and design rationale for user‑centred design; task‑centred design; rationalized design; usability engineering; user models; interface design process, including interface requirement gathering, conceptual design and prototyping, and evaluation; usability testing and analytic evaluation; data gathering and analysis techniques for qualitative and quantitative data; interface design documentation; design approaches for touch, gesture‑based, and haptic interfaces.

  • SOEN 390Software Engineering Team Design Project3.5 credits

    Students work in teams to design and implement a software project from requirements provided by the coordinator. Each team will demonstrate the software and the testing of the software, and prepare adequate documentation for it. In addition, each team will generate a report based on the process of development.

Year 4: published recommended September-entry route
Fall

A Software Engineering Elective row has no printed credit. SOEN 490 is the 6-credit Fall/Winter capstone, shown once for course inventory; at least 75 programme credits and SOEN 390 are needed before enrolment.

  • ENGR 301Engineering Management Principles and Economics3 credits

    Introduction to project delivery systems. Principles of project management; role and activity of a manager; enterprise organizational charts; cost estimating; planning and control. Company finances; interest and time value of money; discounted cash flow; evaluation of projects in private and public sectors; depreciation methods; business tax regulations; decision tree; sensitivity analysis.

  • SOEN 321Information Systems Security3 credits

    This course covers the following topics: introduction to cryptography and cryptanalysis; threats, attacks, and vulnerabilities; security services (confidentiality, authentication, integrity); public key systems including Diffie‑Hellman, RSA, Rabin; Digital Signature Schemes; Hash functions and MAC schemes; authentication protocols; network layers and security; protocols; Public Key Infrastructure (PKI); Transport Layer Security (TLS); firewalls; Intrusion Detection Systems; DNS security; Denial of Service Attacks; Penetration testing; Online Privacy and anonymity; Mix networks and Onion Routing; TOR; Malware; Botnets; Spam and Hot topics in Security and Privacy.

  • SOEN 490Capstone Software Engineering Design Project6 credits

    Students work in teams of at least four members to construct a significant software application. The class meets at regular intervals. Team members will give a presentation of their contribution to the project.

Winter

SOEN 490 continues with no second credit amount printed. A further Software Engineering Elective row is shown without a credit weight. Minimum 16 SOEN-elective credits must be planned across the degree; not all are assigned to terms by this source.

  • ENGR 392Impact of Technology on Society3 credits

    Social history of technology and of science including the industrial revolution and modern times. Engineering and scientific creativity, social and environmental problems created by uncontrolled technology, appropriate technology.

Concordia native software published course sequenceConcordia native software current sequence directoryConcordia native software degree requirementsConcordia native commonCONCORDIA complete current official course definitionCONCORDIA complete current official course definitionCONCORDIA complete current official course definitionCONCORDIA complete current official course definition
Additional published courses
  • ENGR 245Mechanical Analysis3 credits

    This course covers the following topics: forces in a plane and in space, moments of forces, rigid bodies in equilibrium, and free‑body diagram; centroids and centres of gravity; distributed forces and moments of inertia; principle of virtual work; kinematics of particles and rigid bodies; forces and accelerations; work and energy; kinetics of particles and rigid bodies.

    CONCORDIA complete current official course definition
  • MIAE 221Materials Science3 credits

    This course focuses on relationships between properties and internal structure, atomic bonding; molecular, crystalline and amorphous structures, crystalline imperfections and mechanisms of structural change; microstructures and their development from phase diagrams; structures and mechanical properties of polymers and ceramics; thermal and optical properties of materials.

    Published notes: Students who have received credit for MECH 221 may not take this course for credit.

    CONCORDIA complete current official course definition
  • AERO 480Flight Control Systems3.5 credits

    Basic flight control and flight dynamics principles. Aircraft dynamic equations and performance data. Implementation of aircraft control: control surfaces and their operations, development of thrust and its control; autopilot systems, their algorithms, dynamics and interaction problems. Flight instruments, principles of operation and dynamics. Cockpit layouts ; basic configuration, ergonomic design, control field forces; advanced concepts in instruments, avionics and displays; HUD; flight management systems, and communication equipment. Introduction to flight simulation: overview of visual, audio and motion simulator systems; advanced concepts in flight simulators.

    Published notes: This course is equivalent to ELEC 415 and to MECH 480. Students who have received credit for ELEC 415 or MECH 480 may not take this course for credit.

    CONCORDIA complete current official course definition
  • AERO 482Avionic Navigation Systems3 credits

    Basics of modern electronic navigation systems, history of air navigation, earth coordinate and mapping systems; basic theory and analysis of modern electronic navigation instrumentation, communication and radar systems, approach aids, airborne systems, transmitters and antenna coverage; noise and losses, target detection, digital processing, display systems and technology; demonstration of avionic systems using flight simulator.

    Published notes: This course is equivalent to ELEC 416 and to MECH 482. Students who have received credit for ELEC 416 or MECH 482 may not take this course for credit.

    CONCORDIA complete current official course definition
  • COEN 320Introduction to Real‑Time Systems3.5 credits

    This course covers the fundamentals of real‑time systems, which include their definitions, requirements, design issues, and applications. It also covers the critical features of real‑time operating systems (RTOS), such as multi-tasking, process management, scheduling of periodic, aperiodic, and sporadic tasks, interprocess communication and synchronization, real‑time memory management, clocks and timers, interrupts and exceptions handling, message queues, and asynchronous input/output. Students learn how to program POSIX real-time, periodic, aperiodic, and sporadic threads by using concurrent programming languages and a real-time development environment. Moreover, this course covers real‑time uniprocessor scheduling policies: static vs. dynamic, pre‑emptive vs. non‑pre‑emptive scheduling algorithms, and some specific techniques ; rate‑monotonic, earliest‑deadline‑first, deadline monotonic, least‑laxity‑time‑first; clock‑driven scheduling. Techniques used to design, model, and specify real-time systems, such as finite state machines, UML state machines, and Petri and Timed Petri Networks, are introduced. This course also introduces reliability and fault‑tolerance in real-time systems and presents some case studies of RTOS ; QNX, VxWorks, and research prototypes.

    CONCORDIA complete current official course definition
  • COMP 333Data Analytics4 credits

    This course introduces the process of data analytics with the aid of examples from several disciplines. It covers data wrangling: extract-transform-load (ETL), cleaning, structuring, integration; data analytics activities: description, prescription, modelling, simulation, optimization, storytelling; and the Python ecosystem: language, libraries, and Jupyter environment.

    CONCORDIA complete current official course definition
  • COMP 339Combinatorics3 credits

    General principles of counting, permutations, combinations, identities, partitions, generating functions, Fibonacci numbers, Stirling numbers, Catalan numbers, principle of inclusion‑exclusion. Graphs, subgraphs, isomorphism, Euler graphs, Hamilton paths and cycles, planar graphs, Kuratowski’s Theorem, trees, colouring, 5‑colour theorem, matching, Hall’s theorem.

    Published notes: Students who have received credit for MATH 339 may not take this course for credit.

    CONCORDIA complete current official course definition
  • COMP 345Advanced Program Design with C++4 credits

    Introduction to C++. I/O with stream classes. Pointers and their uses. The Standard Template Library (STL): containers, algorithms, iterators, adaptors, function objects. Class design: constructors, destructors, operator overloading, inheritance, virtual functions, exception handling, memory management. Advanced topics: libraries, locales, STL conventions, concurrency, template metaprogramming. Applications of C++: systems, engineering, games programming. Project.

    CONCORDIA complete current official course definition
  • COMP 371Computer Graphics4 credits

    This course covers the following topics: introduction to computer graphics and graphics hardware; introduction to graphics API and graphics systems architecture; mathematics of 2D and 3D transformations and 2D and 3D viewing; colour and basic rendering algorithms; visual realism and visibility; illumination and shading and global illumination techniques and textures; introduction to curves and surfaces and 3D object modelling; introduction to computer animation. This course includes a project.

    CONCORDIA complete current official course definition
  • COMP 376Introduction to Game Development4 credits

    This course introduces students to design and implementation aspects of computer gaming, including topics such as game technologies , basic game design, programming , applied mathematics , storytelling and narratives, and game genres. The course covers virtual environments, 2D and 3D game engines, and game development tools. Furthermore , students learn about character development, gameplay strategies, level design in games, and user interfaces. Other topics covered in the course include architecture of game consoles, analog and digital controllers, and the incorporation of graphics, sound, and music in game implementations. During the course, the students develop 2D and 3D games. A project is required.

    Published notes: Students who have received credit for CART 315 ‌ may not take this course for credit. ​

    CONCORDIA complete current official course definition
  • COMP 425Computer Vision4 credits

    This course introduces basic techniques and concepts in computer vision including image formation, grouping and fitting, geometric vision, recognition, perceptual organization, and the state-of-the-art software tools. Students learn fundamental algorithms and techniques, and gain experience in programming vision-based components. A project is required.

    CONCORDIA complete current official course definition
  • COMP 426Multicore Programming4 credits

    Fundamental concepts of computer architecture. Architecture of the selected multicore platform. Review of shared‑memory parallel programming. The difficulties inherent to parallel programming. Scalability of programming models. The stream programming model for multicore. Implicit and explicit threading. Implicit and explicit orchestration of data movement, both on chip and off. Adapting standard algorithms to multicore. Critical assessment of the available system‑software support. Project.

    CONCORDIA complete current official course definition
  • COMP 428Parallel Programming4 credits

    Parallel programming techniques as a natural extension to sequential programming. Overview of parallel programming architectures and models. Parallel programming issues: locality, granularity, scheduling, data decomposition and distribution, load balancing, communication and synchronization, determinacy and non‑determinacy, cost and performance. Techniques and tools for message‑passing parallel programming. Case studies. Project.

    CONCORDIA complete current official course definition
  • COMP 433Introduction to Deep Learning4 credits

    This course introduces conceptual and practical aspects of deep learning and their implementation in software. Topics covered include commonly used deep learning model architectures, loss functions, regularization, optimization methods, and a strong emphasis is placed on review of their foundations and use of software tools such as pytorch, jax, and tensorflow to implement and/or apply these models. Applications in computer vision and natural language processing are covered. A final project is required.

    CONCORDIA complete current official course definition
  • COMP 438Geometric Modelling and Processing4 credits

    This course exposes students to the geometric modelling pipeline. It includes topics such as efficient mesh data structures such as half-edge and cornertable, digital differential geometry, spectral mesh processing, discrete modelling tools and analytic modelling tools (B-Splines, Bezier and subdivision surfaces), optimization-driven modelling and simulation, 3D shape acquisition, 3D printing and prototyping. Application-related topics are discussed such as smoothing, resampling, compression, as well as deep neural network architectures for geometric data and modelling problems. A project is required.

    CONCORDIA complete current official course definition
  • COMP 442Compiler Design4 credits

    Compiler organization and implementation: lexical analysis and parsing, syntax‑directed translation, code optimization. Run‑time systems. Project.

    CONCORDIA complete current official course definition
  • COMP 444System Software Design4 credits

    Detailed examination of the design, implementation and system call interface of a contemporary operating system: its kernel, file system, process and thread management including scheduling, file system design and implementation, memory management, device management, I/O management, interprocess communication and synchronization mechanisms, system call interface, interrupt handling, and other advanced issues. Project.

    CONCORDIA complete current official course definition
  • COMP 445Data Communication and Computer Networks4 credits

    This course introduces the fundamentals of networking protocols and communication technologies. Topics covered include network architectures and service models, principles behind the design of protocol stacks, local and wide area networks, and the Internet. The course also covers a review of the foundations and performance of application layer protocols, reliable delivery mechanisms, congestion and flow control, control and data planes, routing and switching, error detection and correction, and multiple access protocols. The course includes an introduction to wireless networking and security.

    CONCORDIA complete current official course definition
  • COMP 451Database Design4 credits

    Storage management. Buffer management. Data organization. Index structures. Query optimization and execution. Transaction management. Recovery. Concurrency control. Database performance analysis and tuning. New trends in database technology. Project.

    CONCORDIA complete current official course definition
  • COMP 465Design and Analysis of Algorithms3 credits

    Order statistics: worst‑case, average‑case and amortized analysis. Algorithm design techniques: greedy algorithms, dynamic programming. Selected algorithms from graph theory, linear programming, number theory, string matching, and computational geometry. A survey of hard problems, NP‑completeness, and approximation algorithms.

    CONCORDIA complete current official course definition
  • COMP 472Artificial Intelligence4 credits

    This course initially describes the scope and history of Artificial Intelligence. Then it covers knowledge representation, heuristic search, game playing and planning. Finally, it introduces the topics of machine learning, genetic algorithms and natural language processing. A project is required.

    CONCORDIA complete current official course definition
  • COMP 473Pattern Recognition4 credits

    Preprocessing. Feature extraction and selection. Similarity between patterns and distance measurements. Syntactic and statistical approaches. Clustering analysis. Bayesian decision theory and discriminant functions. Neural networks and machine learning. Applications. Project.

    CONCORDIA complete current official course definition
  • COMP 474Intelligent Systems4 credits

    Rule‑based expert systems, blackboard architecture, and agent‑based. Knowledge acquisition and representation. Uncertainty and conflict resolution. Reasoning and explanation. Design of intelligent systems. Project.

    CONCORDIA complete current official course definition
  • COMP 475Immersive Technologies4 credits

    This course covers the fundamentals of immersive technologies, a brief history and overview of immersive technologies, analyzes case studies of interactive experiences using immersive technologies, and identifies the main challenges of the current state of the art. Furthermore, it covers the basic principles of 3D graphics for creating virtual assets and environments, and basic concepts and technologies for interaction. A project provides hands‑on experience in the design and development of interactive experiences with the user of immersive technologies.

    CONCORDIA complete current official course definition
  • COMP 476Advanced Game Development4 credits

    Introduction to advanced aspects of computer games. Game engine design. Artificial Intelligence (AI): non‑player character movement, coordinated movement, pathfinding, world representations; decision making; tactical AI, strategic AI, learning in games. Physics‑based techniques: collision detection and response. Networked gaming: multi‑player games, networking and distributed game design, mobile gaming. Improving realism: cut scenes, 3D sound. Project.

    CONCORDIA complete current official course definition
  • COMP 477Animation for Computer Games4 credits

    Introduction to the algorithms, data structures, and techniques used in modelling and rendering dynamic scenes. Topics include principles of traditional animation, production pipeline, animation hardware and software, orientation representation and interpolation, modelling physical and articulated objects, forward and inverse kinematics, motion control and capture, key‑frame, procedural, and behavioural animation, camera animation, scripting system, and free‑form deformation. Project.

    CONCORDIA complete current official course definition
  • COMP 478Image Processing4 credits

    Digital image fundamentals, image transforms (Fourier, Walsh, Haar, Hotelling, wavelet), image enhancement (histogram processing, spatial filtering, high‑ and low‑pass filtering), image restoration, image compression (elements of information theory, image compression models, error‑free compression, lossy compression, image compression standards), image segmentation (line detection, Hough transform, edge detection and linking, thresholding, region splitting and merging), representation and description (chain codes, signatures, skeletons, shape descriptors, moments, texture). Project.

    CONCORDIA complete current official course definition
  • COMP 479Information Retrieval and Web Search4 credits

    Basics of information retrieval (IR): boolean, vector space and probabilistic models. Tokenization and creation of inverted files. Weighting schemes. Evaluation of IR systems: precision, recall, F‑measure. Relevance feedback and query expansion. Application of IR to web search engines: XML, link analysis, PageRank algorithm. Text categorization and clustering techniques as used in spam filtering. Project.

    CONCORDIA complete current official course definition
  • COMP 498Topics in Computer Science3 credits

    This course may be offered in a given year upon the authorization of the Department. The content may vary from offering to offering and will be chosen to complement the available elective courses.

    CONCORDIA complete current official course definition
  • COMP 499Topics in Computer Science with Lab4 credits

    The content may vary from offering to offering and will be chosen to complement the available elective courses.

    CONCORDIA complete current official course definition
  • SOEN 298System Hardware Lab1 credits

    Digital design exercises including assembly and testing corresponding to the SOEN 228 lab.

    CONCORDIA complete current official course definition
  • SOEN 344Advanced Software Architecture and Design3 credits

    This course covers the following topics: architectural activities, roles, and deliverables; architectural view models; architectural styles (including client‑server, layered, pipes‑and‑filters, event‑based, process control) and frameworks; architectural analysis and the interplay with requirements elicitation; notations for expressing architectural designs, structural and behavioural specifications; from architectural design to detailed design; domain specific architectures and design patterns; evaluation and performance estimation of designs; advanced object‑oriented design patterns and idioms.

    CONCORDIA complete current official course definition
  • SOEN 387Web‑Based Enterprise Application Design3 credits

    This course introduces Hypertext Transfer Protocol (HTTP), and client/server and layered architectures for Web-based Enterprise Applications (WEA). The course covers Application, Presentation, Domain and Data Source design patterns. Students learn how to use Java servlets and Java Server Pages. The course also covers authentication, security and transaction processing, as well as system-level testing of web applications.

    CONCORDIA complete current official course definition
  • SOEN 422Embedded Systems and Software4 credits

    This course covers the following topics: embedded computer system architectures; programming of interface and peripheral control registers; analog to digital conversion and motor control using pulse width modulation; interrupts, communication methods and their application to interface control and multi‑computer systems; architecture and operating systems of advanced embedded designs; design and testing of integrated systems; advanced topics.

    Published notes: Students who have received credit for ​ COEN 421 ‌ ​ may not take this course for credit.

    CONCORDIA complete current official course definition
  • SOEN 423Distributed Systems4 credits

    This course covers the following topics: principles of distributed computing including scalability, transparency, concurrency, consistency, fault tolerance, high availability; client‑server interaction technologies including interprocess communication, sockets, group communication, remote procedure call, remote method invocation, object request broker, web services; server design techniques including process replication, fault tolerance through passive replication, high availability through active replication, coordination and agreement, transactions and concurrency control.

    CONCORDIA complete current official course definition
  • SOEN 471Big Data Analytics4 credits

    This course focuses on the fundamentals of the big data terminology, concepts and technologies. For the technical aspects of big data management systems, the course focuses on big data engines, programming models and file systems. Specific techniques covered include supervised classification, recommender systems, data clustering, frequent itemsets mining, similarity search, data streams and graph analysis. A project provides extensive hands-on experience.

    CONCORDIA complete current official course definition
  • SOEN 487Web Services and Applications4 credits

    This course covers the following topics: analysis and design of web services and applications; advanced architectures for the design, deployment, and testing of large multi‑server web services and applications; Service Oriented Architecture (SOA); Electronic Commerce; security; load balancing; stress testing.

    CONCORDIA complete current official course definition
  • SOEN 491Software Engineering Project1 credits

    A theoretical or practical project in an advanced topic in software engineering is completed in this course.

    CONCORDIA complete current official course definition
  • SOEN 498Topics in Software Engineering3 credits

    This course may be offered in a given year upon the authorization of the Department. The content may vary from offering to offering and will be chosen to complement the available elective courses.

    CONCORDIA complete current official course definition
  • SOEN 499Topics in Software Engineering with Lab4 credits

    This course may be offered in a given year upon the authorization of the Department. The content may vary from offering to offering and will be chosen to complement the available elective courses.

    CONCORDIA complete current official course definition
  • ENGR 411Special Technical Report1 credits

    Students must submit a report on a topic related to the students’ discipline and approved by the Department. The report must present a review of a current engineering problem, a proposal for a design project, or a current engineering practice.

    Published notes: Students who have received credit for ENGR 410 may not take this course for credit.

    CONCORDIA complete current official course definition
  • ENGR 391Numerical Methods in Engineering3 credits

    This course focuses on roots of algebraic and transcendental equations; function approximation; solution of simultaneous algebraic equations; interpolation; regression; introduction to machine learning; numerical differentiation; numerical integration; numerical solutions of ordinary differential equations and partial differential equations; reliability; conditioning; error analysis. Implementation using GNU Octave/MATLAB.

    CONCORDIA complete current official course definition
Elective choices
  • Students registered in the Software Engineering program must complete a minimum of 120 credits during four years of fulltime study. The program consists of the Engineering Core, the Software Engineering Core and electives.
  • 16 credits of Software Engineering Electives
  • 3 credits chosen from: • ENGR 245 Mechanical Analysis ( 3.00 ) • MIAE 221 Materials Science ( 3.00 )
  • Students in the Software Engineering program must complete at least 16 elective credits from the list of courses below:
  • 3 credits of General Education Humanities and Social Sciences Electives ‌ ​ ​ ​ ​
  • (5) Students must select three credits of ​ General Education Humanities and Social Sciences Electives ‌ ​ from one of the lists in ​ Section 71.110 Complementary Studies for Engineering and Computer Science Students ‌ ​ . Students in the BEng in Industrial Engineering ‌ ​ shall take ACCO 220 ‌ ​ as their General Education elective.
  • Choose 3 Engineering/Natural Science credits from ENGR 245 or MIAE 221; select 3 General Education Humanities/Social Sciences credits from the approved lists, plus at least 16 SOEN-elective credits from the published menu.
  • The PDF fully places only core courses. Its three visible SOEN-elective rows have no printed individual credit weights, and not all elective credits have a row. Remaining weights and placements are unspecified.
Study routes
  • Regular · September entry
Study locations

Careers

Career examples

  • Artificial intelligence engineer
  • Automation engineer
  • Back-end developer

Published employers

6
  • Bombardier
  • CAE Inc.
  • Ericsson
  • Merck Canada
  • Microsoft
  • Ubisoft

Career sectors

7
  • Telecommunications
  • Finance
  • Healthcare
  • Manufacturing
  • Aeronautics
  • Video games
  • Animation
Scope and qualifications

Published engineering job examples and programme alumni employers. Engineering titles require professional licensure; these are not ranked outcomes.

Professional recognition

The degree is CEAB-accredited and meets Quebec engineering educational requirements. OIQ registration, supervised experience, prescribed training and French proficiency are required for licensure.

All Concordia engineering programs are accredited by the Canadian Engineering Accreditation Board; graduates become eligible to register as professional engineers.

Scope and qualifications

Published engineering job examples and programme alumni employers. Engineering titles require professional licensure; these are not ranked outcomes.

Costs

Engineering and Computer Science

Published tuition

2026–27 · Fall 2026 + winter 2027 · Per credit · CAD

Quebec residents example · Choose your category

Tuition$103.92 / credit

Standard tuition · Approved residency and French-study exemptions change rates

Last updated

Suggest to a student