TRU Science

Program Structure

  • 147 credits
  • Five years
  • Mandatory co-op in fourth year (two terms)
Year 1
Fall, Term 1 — 18 credits
ENGR 1100
Engineering Design I (3,0,2)

ENGR 1100 Engineering Design I (3,0,2)

Credits: 3 credits
Delivery: Campus

Students are introduced to the engineering profession and various engineering disciplines. Students learn the detailed structured engineering design process and develop skills to collect and prioritize the requirements of an engineering project through multiple iterations. Students are introduced to the concept of sustainability. Students learn the concept of engineering ethics. Students learn the decision process to choose alternate design options. Students learn prototyping, work on an engineering design problem, and develop a prototype. Students learn technical communication and are introduced to an engineering drawing tool. Students learn to draw 2D and 3D sketches using an engineering tool and develop prototype design.
Prerequisite: Admission to the Electrical Engineering, Computer Engineering, Software Engineering or Engineering Transfer Programs OR Instructor's permission
For more information, search for this course here.

SENG 1110
Programming for Engineers-1 (3,0,2)(L)

SENG 1110 Programming for Engineers-1 (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of computer programming with specific emphasis on engineering problems and applications. Students learn computer programming as a part of engineering process. Students conceptualize the programming approach in line with engineering profession by following design, implement and testing using specifications. Students explore C++ programming basics, statements, syntax, control structures, functions, and types of arrays.
Prerequisite: Admission to the Electrical Engineering, Computer Engineering, Software Engineering or Engineering Transfer Programs OR Engineering Program Advisor's permission.
For more information, search for this course here.

ENGL 1100
Introduction to University Writing (3,0,0)

ENGL 1100 Introduction to University Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students explore the practices of reading and writing in scholarly contexts by investigating a chosen topic or issue. Students read, critically analyze, and synthesize information and ideas found in appropriate secondary sources and coming from a variety of disciplinary backgrounds. They also develop their abilities to communicate knowledge by composing in the genres and sub-genres of scholarly writing, including the incorporation of research and documentation while using a clear, persuasive, grammatically-correct style.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: students cannot receive credit for both ENGL 1100 and ENGL 1101
For more information, search for this course here.

EPHY 1170
Physics for Engineering 1(4,0,3)

EPHY 1170 Physics for Engineering 1(4,0,3)

Credits: 3 credits
Delivery: Campus

This is the introductory physics course for engineering students. Students are introduced to and apply calculus to physical concepts and their engineering applications. Topics include mechanics, kinematics, rotational mechanics, simple harmonic motion, mechanical waves, and sound. Co-Requisites: MATH 1130
Exclusion: PHYS 1150
For more information, search for this course here.

MATH 1130
Calculus 1 for Engineering (3,1.5,0)

MATH 1130 Calculus 1 for Engineering (3,1.5,0)

Credits: 3 credits
Delivery: Campus

Students build a strong mathematical foundation for engineering by learning ideas, methods and applications of single-variable differential calculus. Limits and derivatives are defined and calculated, derivatives are interpreted as slopes and rates of change, and derivatives are then applied to many sorts of problems, such as finding maximum and minimum values of functions.
Prerequisite: Admission to the Engineering program.
Note: Students can get credit for only one of the following MATH 1130, MATH 1140, MATH 1141, MATH 1150, MATH 1157, MATH 1170 or MATH 1171.
For more information, search for this course here.

MATH 1300
Linear Algebra for Engineers (3,1.5,0)

MATH 1300 Linear Algebra for Engineers (3,1.5,0)

Credits: 3 credits
Delivery: Campus

This course is designed for engineering students, with applications chosen accordingly. Topics include real vectors in two and three dimensions, systems of linear equations and row-echelon form, span and linear dependence, linear transformations and matrices, determinants, complex numbers, eigenvalues and eigenvectors, and orthogonality and Gram-Schmidt orthogonalization.
Prerequisite: Admission to the Engineering Program
Corequisite: MATH 1130 Exclusions: Students will receive credit for only one of MATH 1300, MATH 2120 or MATH 2121.
For more information, search for this course here.

Winter, Term 2 — 18 credits
EPHY 1270
Physics for Engineering 2 ( 4,0,3)

EPHY 1270 Physics for Engineering 2 ( 4,0,3)

Credits: 3 credits
Delivery: Campus

This course continues from EPHY 1170. Topics include electricity and magnetism; DC and AC electrical circuits; geometric and wave optics; and thermodynamics. Prerequisites:Admission to the Engineering Program; EPHY 1170, MATH 1130 Co-Requisite: Math 1230
Exclusion:PHYS 1250
For more information, search for this course here.

EPHY 1700
Engineering Mechanics 1 (3,1,0)

EPHY 1700 Engineering Mechanics 1 (3,1,0)

Credits: 3 credits
Delivery: Campus

This is an introductory course in engineering mechanics. The first part of the course deals with statics and the second part with dynamics of particles and systems of particles.
Prerequisite: Admission to the Engineering Program
For more information, search for this course here.

MATH 1230
Calculus 2 for Engineering (3,1.5,0)

MATH 1230 Calculus 2 for Engineering (3,1.5,0)

Credits: 3 credits
Delivery: Campus

Students learn the ideas and techniques of single-variable integral calculus from an engineering perspective. Integrals are defined, evaluated and used to calculate areas, volumes, arc lengths and physical quantities such as force, work and centres of mass. Differential equations are introduced and used to model various physical phenomena. Ideas about infinite series are pursued, including some convergence tests, with particular emphasis on Taylor series.
Prerequisite: MATH 1130 with a minimum grade of C.
Note: Students will get credit for only one of MATH 1230, MATH 1240, MATH 1241 or MATH 1250.
For more information, search for this course here.

SENG 1210
Programming for Engineers-2 (3,0,2)(L)

SENG 1210 Programming for Engineers-2 (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of object-oriented programming in designing, implementing and testing engineering problems. Students learn the principles of inheritance and polymorphism in designing of methods and classes in object-oriented approach. Students explore the techniques of reading and writing data to file, exceptional handling, pointers, and dynamic memory management, vectors, stacks and recursion.
Prerequisite: SENG 1110 with a minimum grade of C.
For more information, search for this course here.

ENGR 1200
Engineering Design II (3,0,2)

ENGR 1200 Engineering Design II (3,0,2)

Credits: 3 credits
Delivery: Campus

Students apply the knowledge of the engineering design process by developing and completing relatively complex and self-directed engineering project that consists of electrical, mechanical, and software sub-systems Students learn the incorporation of sustainability, regulatory, environmental, ethical, health, and safety-related issues relevant to the design of an engineering product. Students are exposed to several engineering tools to manage time and resources. Students learn theories related to teamwork and leadership. Students work in teams, complete design projects through several milestones, and generate technical reports and oral presentations. Students understand the role of an engineering profession towards society and ethical obligations. Prerequisites: ENGR 1100 with min C grade
Note: Students can only get credit for one of ENGR 1200 and EPHY 1990
For more information, search for this course here.

CMNS 1290
Introduction to Professional Writing (3,0,0)

CMNS 1290 Introduction to Professional Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students study the theories and practice of professional organizational communication, learning the importance of effective communication to meeting goals, developing and maintaining relationships and the overall facilitation of work. Students develop skills in evaluating communication scenarios, designing communication strategies that meet goals and audience need, including requests, information sharing and persuasion. In addition, students learn to employ writing techniques and editorial skills relevant to professional communication contexts.
Note: Students cannot receive credit for more than one of CMNS 1290, CMNS 1291, CMNS 1810, CMNS 1811
For more information, search for this course here.

Year 2
Fall, Term 3 — 18 credits
PHYS 2150
Circuit Analysis (3,1,3)(L)

PHYS 2150 Circuit Analysis (3,1,3)(L)

Credits: 3 credits
Delivery: Campus

This course is an analysis of linear electrical circuits, network theorems, first and second order circuits, and transfer functions.
Prerequisite: PHYS 1100 and PHYS 1200 (with written permission of the instructor); or PHYS 1103 and PHYS 1105 and PHYS 1203 and PHYS 1205 (with written permission of the instructor) or PHYS 1150 and PHYS 1250 or EPHY 1170 and EPHY 1270 and MATH 1130 and MATH 1230 or MATH 1140 and MATH 1240 or MATH 1141 and MATH 1241 or MATH 1150 and MATH 1250 (with permission of the instructor).
Note: Students may only receive credit for one of PHYS 2150 or EPHY 2150.
For more information, search for this course here.

EPHY 2200
Electrical Properties of Materials (3,1,0)

EPHY 2200 Electrical Properties of Materials (3,1,0)

Credits: 3 credits
Delivery: Campus

This course provides an introduction to the fundamental properties of solids that govern the behavior of electronic and photonic devices. The mechanisms underpinning the electrical conductivity of conductors, semiconductors, and insulators, as well as their interactions with light are introduced and explained.
Prerequisite: EPHY 1250 or PHYS 1250
Corequisite: PHYS 2250 and MATH 2110
For more information, search for this course here.

ENGR 2200
Engineering in Society, Health and Safety (3,1,0)

ENGR 2200 Engineering in Society, Health and Safety (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the process of hazard identification and control, and how it is applied to various physical, chemical, and biological hazards in both an occupational and public setting. Risk assessment and management of health and safety hazards are studied from an engineering perspective. The legal and professional responsibilities of an engineer in the workplace, and as related to engineering design, are examined in the context of health and safety. The importance of equity, diversity, and inclusion in the context of workplace health and safety and in engineering practice is discussed.
Prerequisite: ENGR 1100 or Instructor's Permission
For more information, search for this course here.

CENG 2010
Computer Architecture & Assembly Language (3,2,0)

CENG 2010 Computer Architecture & Assembly Language (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the basic concepts of computer architecture. Students learn about CPU, data bus, memory organization including cache, internal, external memory and pipelining. Students explore the I/O, interrupts, instruction sets, addressing modes, and ALU. Students are introduced to assembly language programming and its relationship with high-level language such as C.
Prerequisite: MATH 1230 with a minimum grade of C AND SENG 1210 with a minimum grade of C
For more information, search for this course here.

STAT 2230
Probability and Statistics for Engineers (3,1.5,0)

STAT 2230 Probability and Statistics for Engineers (3,1.5,0)

Credits: 3 credits
Delivery: Campus

his course is an introductory course in statistics.Students will learn how to summarize important characteristics of a data set using both pictures and numerical measures. Students will explore probability concepts and some useful probability distributions. Finally, students will understand and learn to apply methods using probability to infer some characteristics of the population from the information contained in the data. Throughout the course students will learn what assumptions are necessary to make our techniques valid.The course will emphasize applications in Engineering and Science.
Corequisite: MATH 2110 or MATH 2650 or MATH 2111
For more information, search for this course here.

MATH 1700
Discrete Mathematics 1 (3,1.5,0)

MATH 1700 Discrete Mathematics 1 (3,1.5,0)

Credits: 3 credits
Delivery: Campus

This course is an introduction to the foundation of modern mathematics including basic set theory; solution to recurrence relations; logic and quantifiers; properties of integers; mathematical induction; introduction to graphs and trees; Boolean algebra and finite state machines. Students will apply the critical thinking skills developed in Mathematics to derive meaning from complex problems. Prerequisites: Pre-calculus 12 with a minimum C+ or Foundations of Math 12 with a minimum C+ or MATH 0600 with a minimum grade of B or MATH 0610 with a minimum grade of C- or MATH 0630 with a minimum grade of C- or MATH 0633 with a minimum grade of C- or MATH 0650 with a minimum grade of C-
Note: Students can get credit for only one of the following MATH 1220, COMP 1390, MATH 1390, MATH 1700 or MATH 1701.
For more information, search for this course here.

Winter, Term 4 — 18 credits
CENG 2030
Introduction to Signal Processing (3,2,0)

CENG 2030 Introduction to Signal Processing (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the basic theory of continuous-time and discrete-time signals and systems, with emphasis on linear time-invariant systems. Students learn the representation of signals and systems in both time and frequency domains. Students explore the linearity, time-invariance, causality, stability, convolution, and sampling. Students develop and apply Fourier, Laplace transforms, discrete-time Fourier Transform, z-transform for frequency domain analysis of continuous-time and discrete-time signals and systems.
Prerequisite: MATH 1230 with a minimum grade of C
For more information, search for this course here.

EPHY 2300
Digital and Semiconductor Electronics (3,0,3)(L)

EPHY 2300 Digital and Semiconductor Electronics (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

This course is an introduction to Boolean algebra and logic gates; the analysis and the design of combinational and sequential digital circuits. It also looks at the science and operation of semiconductor devices such as diodes, transistors and FETs. Students design, assemble, and test digital logic circuits using discrete gates and FPGAs; and solve practical problems using semiconductor devices. Prerequisites: PHYS 2150-Circuit Analysis. A minimum of grade "C" or better in prerequisite course. Exclusion Requisites: PHYS 3100-Digital Electronics
For more information, search for this course here.

ENGR 2300
Engineering Management (3,1,0)

ENGR 2300 Engineering Management (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of engineering project management from conception, commissioning to decommissioning phases. Students explore fundamentals of planning, design, value, quality, milestone monitoring and earned value analysis in managing engineering projects. Students learn contractor strategy, selection, contract management, partnership.
Prerequisite: ENGR 1100 with a minimum grade of C
For more information, search for this course here.

ENGR 2400
Engineering Economics (3,1,0)

ENGR 2400 Engineering Economics (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of engineering economics to be able to evaluate projects from a financial perspective that are needed in the decision making process. Students learn various financial and analytical techniques such as cash flow analysis, comparison methods, time value, capital management, inflation, sensitivity and risk analysis.
Prerequisite: ENGR 1100 with a minimum grade of C
For more information, search for this course here.

CHEM 1520
Principles of Chemistry (3,0,3)(L)

CHEM 1520 Principles of Chemistry (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

This course is the second half of first year chemistry designed for students with a strong background in Chemistry. The Department of Chemistry defines a strong background as at least a B in Chemistry 12 or CHEM 0600; however, the course is available to any student with CHEM 1500 and Chemistry 12 or CHEM 0600. The topics include gas laws, equilibrium, redox reactions, electrochemistry, thermochemistry, entropy and free energy. Students are expected to become familiar with these topics during the course, and demonstrate their proficiency in various laboratory techniques. The laboratory stresses fundamental precision techniques in quantitative analytical and physical chemistry.
Prerequisite: CHEM 1500 (C- minimum) and Chemistry 12 or CHEM 0600 (a grade of B or better is recommended) or acceptance into the Engineering Program
For more information, search for this course here.

ENGR 2000
Engineering Design III (3,0,2)

ENGR 2000 Engineering Design III (3,0,2)

Credits: 3 credits
Delivery: Campus

Students apply the design process to provide a solution to an engineering problem using engineering best practices. Students are introduced to measurement and control of physical quantities of interest in engineering and scientific applications using embedded system programming. Students are introduced to the use of electronics, circuits and testing concepts in product development environment. Student develop the understanding of impact of design decisions on human life and society. Students focus on technical documentation, prepare design documents, user manual and engage in teamwork. Students investigate the influence of technology on the social, political, economic, and environmental aspects of society.
Prerequisite: ENGR 1200 or EPHY 1990
Note: Students can only get credit for one of ENGR 2000 and EPHY 2990
For more information, search for this course here.

Year 3
Fall, Term 5 — 18 credits
SENG 3110
Algorithms & Data Structure (3,0,2)(L)

SENG 3110 Algorithms & Data Structure (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of evaluating complexity analysis of the algorithms. Students learn various data structure techniques including lists, stacks, queues, tree, and graphs and its application to engineering discipline. Students explore various sorting and searching algorithms.
Prerequisite: CENG 2030 with a minimum grade of C AND STAT 2230 with a minimum grade of C
For more information, search for this course here.

CENG 3010
Digital Systems Design (3,2,0)

CENG 3010 Digital Systems Design (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the basic concepts of industry-standard hardware description language VHDL into the digital design process. Students explore designing the implementation of multiplexers, registers, counters, high-speed adders, shift and logical operations, hardware multipliers/dividers, data path, control unit and microprogramming using VHDL. Students learn about different types of programmable logic devices with an emphasis on the FPGAs and cover some advanced topics in VHDL such as functions and procedures.
Prerequisite: EPHY 2300 with a minimum C or better and ENGR 2000 with a minimum C or better
For more information, search for this course here.

CENG 3310
Communication Systems (3,2,0)

CENG 3310 Communication Systems (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of analog and digital communication systems such as various modulation techniques, frequency multiplexing, line coding, pulse shaping, and time division multiplexing. Students explore noise in various modulation schemes, error detecting codes and signal detection techniques. Students learn fundamentals of information theory.
Prerequisite: CENG 2030 with a minimum grade of C or better.
For more information, search for this course here.

EENG 3010
Introduction to Control Systems (3,2,0)

EENG 3010 Introduction to Control Systems (3,2,0)

Credits: 3 credits
Delivery: Campus

Students learn fundamental concepts of control system. Students are introduced to the concepts of impulse response functions, transfer functions, system input-output and convolution. Students explore Root locus analysis and design method, Feedback and stability, Nyquist stability criterion, frequency domain design and analysis, PID control systems.
Prerequisite: MATH 1300 with a minimum grade of C
For more information, search for this course here.

SENG 3130
Software Requirements & Specifications (3,0,2)(L)

SENG 3130 Software Requirements & Specifications (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of software requirements engineering process from elicitation to documentation. Students explore requirements prioritization, trade-off analysis, negotiation, risk analysis, and impact analysis. Students learn to identify functional, non-functional and quality related requirements of software projects in the context of varying application domains and development methodologies.
Prerequisite: ENGR 1200 with a minimum grade of C AND ENGR 2300 with a minimum grade of C.
For more information, search for this course here.

ENGR 3300
Engineering Professional Ethics (3,1,0)

ENGR 3300 Engineering Professional Ethics (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the professional and ethical responsibilities of a professional engineer and regulations of the practice. Students learn the concepts of impact of engineering product on society. Students explore a wide variety of ethical issues related to consulting, private practice, business, hazards, liabilities, standards, safety, computers, software, intellectual property, fairness and equity in the professional workplace.
Prerequisite: ENGR 2200 with a minimum grade of C
For more information, search for this course here.

Winter, Term 6 — 18 credits
COMP 3410
Operating Systems (3,1,0)

COMP 3410 Operating Systems (3,1,0)

Credits: 3 credits
Delivery: Campus

The purpose of this course is to provide students basic knowledge of operating systems, difference between the kernel and user modes, concepts of application program interfaces, methods and implementations of interrupts. Students are introduced to the schedulers, policies, processes, threads, memory management, virtual memory, protection, access control, and authentication. Students learn system calls in different popular operating systems used in the industry.
Prerequisite: C or better in COMP 2130 or COMP 2131 and COMP 2230 or COMP 2231
Note: Students cannot get credit for more than one of COMP 3410, COMP 3411
For more information, search for this course here.

COMP 3610
Database Systems (3,1,0)

COMP 3610 Database Systems (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the database concepts. Students review the underlying data structures that make up databases. Students learn database design techniques using both the Entity Relationship model as well as an object oriented approach to designing database systems. Students study the relational database model and data normalization as they design and implement a case study project. Students also learn data description language, data manipulation language (updates, queries, reports), and data integrity. Students complete a case study work using a relevant and current relational database management system, database management system, software product. Prerequisite/
Corequisite: C or better in COMP 2230 or COMP 2231
For more information, search for this course here.

SENG 3120
Software Engineering Design: Process & Principles (3,0,2)(L)

SENG 3120 Software Engineering Design: Process & Principles (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students learn the concept of software engineering design process and principles in the context of product development and evaluation. Students are introduced with various modeling techniques of UML used in software design process to illustrate modularity and decomposition, components and their interface. Students learn to model the static and dynamic behavior of the software product. Students explore theoretical aspects, and practical techniques to develop software architecture. Students explore the concept of design patterns.
Prerequisite: ENGR 2000 with a minimum grade of C or better.
For more information, search for this course here.

SENG 3210
Applied Software Engineering (3,0,2)(L)

SENG 3210 Applied Software Engineering (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students learn various software process models and understand the commonalities and variabilities among them and understand methodologies to assess the software process. Students explore the concepts of software quality assurance and learn the measuring techniques to assess software product quality. Students are introduced to the concepts of how to manage the software source code and changes, build and software release management process.
Prerequisite: SENG 3110 with a minimum grade of C
For more information, search for this course here.

CENG 3020
Real Time Systems Design and Analysis (3,2,0)

CENG 3020 Real Time Systems Design and Analysis (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of real-time systems from hardware and software perspectives with a specific focus on exploring real-time operating systems covering the concepts of concurrency, exception handling, synchronization and scheduling techniques. Students explore and investigate theoretical aspects through research and practical techniques that can be used to develop product that operates in real time. Students learn capturing requirements of designing real-time systems and applying the concepts of resource management, reliability, fault tolerance and performance analysis. Students are introduced to the techniques of operational data collection for reliability and fault tolerance of the real time systems. Students learn to write specifications and requirements document that describe quantitative and qualitative performance analysis of the real time systems.
Prerequisite: CENG 3010 with a minimum grade of C
For more information, search for this course here.

One of
BIOL 3220
Natural History (2,0,4)

BIOL 3220 Natural History (2,0,4)

Credits: 3 credits
Delivery: Campus

Defined as "the direct knowledge of organisms in their environments," natural history remains a critical link between science and society. In this course, students learn to identify the dominant flora and fauna, as well as their patterns of distribution, in key ecosystems throughout southern British Columbia (or another regional location). Students synthesize key climatic, geological and biotic processes responsible for the observed patterns. Through close reading and emulation of writer-naturalists, students relate the science of natural history to a larger human truth or societal concern. In addition, students evaluate the changing relationship between humans and their inhabited landscapes by considering such topics as invasive species, habitat fragmentation and climate change.
Prerequisite: Completion of 60 credits or permission of the instructor.
Note: Students cannot get credit for more than one of BIOL 3220, BIOL 2270.
For more information, search for this course here.

BIOL 3410
Year 4
Fall, Term 7 — 3 credits
COOP 3080
Engineering Co-op Work-Term 1 (420 Hours)

COOP 3080 Engineering Co-op Work-Term 1 (420 Hours)

Credits: 3 credits
Delivery: Campus

The Co-op Work Term Course provides students the opportunity to engage in valuable experiential learning activities outside of the regular classroom. While on a co-op work term, co-op students are able to use the knowledge and skills acquired in classes in real world settings, learn new skills, build on existing skills, gain career-related experience and grow their career network. As the co-op work term is a course, co-op students are expected to reflect on and demonstrate the learning that has occurred during the work term through a variety of assignments. Students must successfully complete all of the assignments to pass the course. Students who successfully complete three co-op work terms will have Co-operative Education designation on their degree.
Prerequisite: COOP 1000
For more information, search for this course here.

COOP 3180
Engineering Co-op Work-Term 2 (420 Hours)

COOP 3180 Engineering Co-op Work-Term 2 (420 Hours)

Credits: 3 credits
Delivery: Campus

This course provides TRU students access to Co-op Education. Co-operative Education integrates academic studies with paid periods of relevant work experience and provides students with the opportunity to develop specific competencies, professional skills and technical knowledge related to their field of study. Prerequisites: COOP 1000 AND COOP 3080
For more information, search for this course here.

Year 5
Fall, Term 9 — 21 credits
SENG 4100
Software Engineering Capstone Project (3,0,0)

SENG 4100 Software Engineering Capstone Project (3,0,0)

Credits: 6 credits
Delivery: Campus

This course represents the culmination of students' knowledge and skills in their final year of software engineering degree program. Students use prior academic experience to produce quality software product, which is within budget, on time and has desirable level of reliability. Students learn the fundamental idea of what makes a good design as a key aspect within software engineering. Students explore working in team, creativity and aspects of entrepreneurial skills to apply software engineering methods and techniques into real practice. Students either individually or form two- or four-person software teams to analyze, design, build, test, and evaluate a software system to meet the requirements of a client.
Prerequisite: SENG 3120 with a minimum grade of C
For more information, search for this course here.

SENG 4120
Software Model Engineering & Formal Methods (3,0,2)(L)

SENG 4120 Software Model Engineering & Formal Methods (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Software system is critical to many aspects of our lives. Students explore the mathematical foundations of software modeling including propositional logic, proof theory and semantics of predicate logic, and extended finite state machines. Students learn model verification using linear-time temporal logic, branching-time logic, and explore various model-checking algorithms. Students are introduced to the techniques of program verification, partial and total correctness, proof calculus, modal logics, and binary decision trees. Students gain hands-on experience using a tool for model checking.
Prerequisite: SENG 3210 with a minimum grade of C
For more information, search for this course here.

SENG 4110
Software Testing & Verification (3,0,2)(L)

SENG 4110 Software Testing & Verification (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Software systems are becoming increasingly complex and there is a growing awareness that comprehensive software testing is required to deal with not only this growing complexity but also to increase the quality and reliability. Students explore and investigate theoretical aspects through research and practical techniques that can be used to test software systems at unit, module, subsystem, and at system level. Students learn the important phases of testing and the significance of testing different types of software. Students are introduced to the techniques of data collection for static and dynamic analysis, functional, data, class, integration, user interface testing of the software. Students learn to write software testing documents to communicate the quantitative and qualitative analysis of the software testing data.
Prerequisite: SENG 3210 with a minimum grade of C
For more information, search for this course here.

SENG 4XXX Upper-level technical elective
SENG 4XXX Upper-level technical elective
CMNS 3510
Intercultural and Cross-Cultural Communication (3,0,0)

CMNS 3510 Intercultural and Cross-Cultural Communication (3,0,0)

Credits: 3 credits
Delivery: Campus

Students examine the way culture shapes communication practices, and focus on the issues that arise within organizations when individuals from different cultural perspectives attempt to work together. Students also investigate the ways in which different cultures interact in practice. This course qualifies as a Writing Intensive designated course.
Prerequisite: Completion of 45 credits (any discipline)
For more information, search for this course here.

Winter, Term 10 — 18 credits
CENG 4320
Communication Networks (3,2,0)

CENG 4320 Communication Networks (3,2,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the concepts of communication networks including various protocol layers and their service models. Students explore the topics related to the communication network design and deployment principles. Students learn error-detection and -correction techniques, flow control, congestion control, switching principles, routing essentials, network resource management, performance issues, security fundamentals, multimedia networks and wireless networks design fundamentals.
Prerequisite: CENG 3310 with a minimum grade of C
For more information, search for this course here.

SENG 4130
Software Design Patterns (3,0,2)(L)

SENG 4130 Software Design Patterns (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Reusability is a key factor in modern software development. Students are introduced to software design patterns. Students explore different design patterns and understand the solution that pattern is providing in a specific context. Students learn strategy, observer, factory, singleton, command, adapter, facade, template method, iterator, composite, and state patterns in implementation of a programming problem.
Prerequisite: SENG 3120 with a minimum grade of C
For more information, search for this course here.

SENG 4220
Software Security Engineering (3,0,2)(L)

SENG 4220 Software Security Engineering (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students explore the various software security issues in the context of software development lifecycle. Students are introduced to set of processes, policies, and techniques that are appropriate for software security management, maturity, and risk tolerance. Students learn how to incorporate practical security techniques into all phases of the development lifecycle. Students learn writing secure software application by exploring various commonly known security flaws.
Prerequisite: SENG 3210 with a minimum grade of C
For more information, search for this course here.

SENG 4140
Software Quality Engineering (3,0,2)(L)

SENG 4140 Software Quality Engineering (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Software quality management ensure that quality principles are applied to the software development. Students are introduced to the basic concepts of software quality management and economic impact of low-quality and high-quality software. Students explore economic value of software quality, software Defect detection, removal, and prevention techniques. Students learn measuring the application structural quality and post-release defect removal. Students are introduced to the industry standards of software quality, including ISO 9001 and software process assessment and improvement techniques.
Prerequisite: SENG 3210 with a minimum grade of C
For more information, search for this course here.

SENG 4XXX Upper-level technical elective
SENG 4XXX Upper-level technical elective