- HBA · 4 years
- Work experience details
- ~High 80s to low 90s


Concordia University · Sir George Williams

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
Work experience
Optional co-op includes three paid work terms of 12–16 weeks.
University work-study informationPublished threshold
Published eligibility threshold: B overall, B+ in mathematics and physics. Published guidance checked November 2026. Published high-school minimum. Required courses vary by curriculum.
Concordia · Software Engineering admission minimums| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
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.
Check the university’s requirements for your province and applicant category.
Concordia University programme admission criteriaApplicants in each explicitly named curriculum or transfer category
Published high-school minimum. Required courses vary by curriculum.
Concordia · Software Engineering admission minimumsOptional co-op includes three paid work terms of 12–16 weeks.
University work-study informationCo-op option with three paid work terms of 12 to 16 weeks, building and testing real software alongside experienced professionals.
University work-study informationCurrent 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
Also lists a 3-credit general education elective in Humanities or Social Sciences.
Also choose 3 credits from the Engineering and Natural Science group.
Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.
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.
SOEN 490 continues from Fall. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.
Co-op entry
Also lists a 3-credit general education elective in Humanities or Social Sciences.
Also choose 3 credits from the Engineering and Natural Science group.
Work term 1 is in the preceding Fall. Work term 2 follows in Summer.
Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree. Work term 3 follows in Summer.
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.
SOEN 490 continues from Fall. Also lists a Software Engineering elective. The calendar requires at least 16 elective credits across the degree.
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.
Also 3 credits of General Education Humanities/Social Sciences electives.
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.
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.
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.
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.
Also 3 credits from the Engineering and Natural Science Group: choose ENGR 245 or MIAE 221 under the current calendar.
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.
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.
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.
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.
ENCS 282 requires passing the Engineering Writing Test or ENCS 272 with C- or higher. Native co-requisites also apply.
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.
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.
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
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 definitionThis 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 definitionBasic 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 definitionBasics 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 definitionThis 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 definitionThis 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 definitionGeneral 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 definitionIntroduction 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 definitionThis 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 definitionThis 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 definitionThis 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 definitionFundamental 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 definitionParallel 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 definitionThis 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 definitionThis 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 definitionCompiler organization and implementation: lexical analysis and parsing, syntax‑directed translation, code optimization. Run‑time systems. Project.
CONCORDIA complete current official course definitionDetailed 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 definitionThis 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 definitionStorage 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 definitionOrder 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 definitionThis 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 definitionPreprocessing. 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 definitionRule‑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 definitionThis 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 definitionIntroduction 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 definitionIntroduction 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 definitionDigital 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 definitionBasics 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 definitionThis 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 definitionThe content may vary from offering to offering and will be chosen to complement the available elective courses.
CONCORDIA complete current official course definitionDigital design exercises including assembly and testing corresponding to the SOEN 228 lab.
CONCORDIA complete current official course definitionThis 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 definitionThis 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 definitionThis 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 definitionThis 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 definitionThis 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 definitionThis 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 definitionA theoretical or practical project in an advanced topic in software engineering is completed in this course.
CONCORDIA complete current official course definitionThis 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 definitionThis 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 definitionStudents 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 definitionThis 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 definitionPublished engineering job examples and programme alumni employers. Engineering titles require professional licensure; these are not ranked outcomes.
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.
Published engineering job examples and programme alumni employers. Engineering titles require professional licensure; these are not ranked outcomes.
Engineering and Computer Science
2026–27 · Fall 2026 + winter 2027 · Per credit · CAD
Quebec residents example · Choose your category
Standard tuition · Approved residency and French-study exemptions change rates
Last updated