- ESOF-3558
- Software Engineering
- Completed
Numerical method algorithms for modeling and solving engineering problems with a predictable error rate. Topics include numerical calculus, optimization, initial value problems, boundary value problems, and the software development of these algorithms.
- MATH-4030
- Math
- Completed
Probability and relative frequency; joint probabilities of related and independent events; Bayes’ Theorem; statistical independence; random variables; cumulative distribution functions; probability density functions; parameters describing the central tendency and dispersion of distribution; probability distribution functions in engineering; law of large numbers; central limit theorem; testing hypotheses and goodness of fit; sampling theory; linear correlation and regression.
- ECON-1100
- Misc
- Completed
Definition of the economic problem. Theory of the firm. Theory of competitive supply. Theory of demand. Monopoly and other market forms. Markets for land, labour, and capital. Income distribution. National income determination and causes of unemployment and inflation. Economic fluctuations and growth. International trade. Flexible and fixed foreign exchange rates. Canadian economic problems and policies.
- ESOF-3251
- Software Engineering
- Completed
Major concepts of compiler and algorithm design are introduced. Topics include: regular expressions, automata theory, syntactical analyzers, context free grammars and parsers, algorithms complexity, asymptotics, summations, recurrences, intractability and NP-hard problems, sorting algorithms, searching algorithms, dynamic programming and greedy algorithms.
- MATH-2050
- Math
- Completed
An introductory course in ordinary differential equations. First order differential equations; exact equations; separation of variables, integrating factors, linear and non-linear equations, higher order differential equations, linear, constant co-efficients, homogeneous, non-homogeneous. Systems of differential equations, Laplace transforms, series solution. The emphasis is on applications to engineering problems.
- EELE-3312
- Electrical Engineering
- Completed
Characteristics and design of high-performance embedded systems; system partitioning and hardware/software co-design; design of embedded systems with performance constraint; programming for heterogeneous embedded platforms; and synchronization for parallel kernels in embedded systems.
- ENGL-1015
- Misc
- Completed
An introduction to university-level standards of composition, revision, editing, research, and documentation. A review of English grammar (word and sentence level) and rhetorical forms (paragraph level and beyond), and a study of the methods and conventions of academic argumentation and research, with an emphasis on finding and evaluating sources, formulating research questions, developing arguments, and composing various types of analyses including academic essays.
- SOCI-2755
- Misc
- Completed
Examines the relationships between science, technology, social institutions and culture, with a focus on how these issues impact Canada’s Indigenous Peoples.
- COMP-2412
- Computer Science
- Completed
The design and analysis of data structures and algorithms including Stacks, Link Lists, Trees, Graphs, Searching, Sorting and their complexity analysis. The theory is reinforced by working examples, laboratories, projects, and the use of abstract data types from the C and C++ standard libraries.
- PHYS-2331
- Misc
- Completed
Relativity, the photon, the wave-particle aspects of electromagnetic radiation and matter; introduction to wave mechanics; the hydrogen atom and atomic line spectra; orbital and spin angular momenta.
- MATH-1210
- Math
- Completed
Application of differentiation; definite and indefinite integrals; transcendental functions; complex numbers; techniques of integration.
- EELE-1637
- Electrical Engineering
- Completed
Introduction to fundamental concepts of digital logic circuits and design with Verilog HDL. Topics include principles of number systems, operations, codes, logic gates, Boolean algebra and logic simplification, PAL and PLD based combinational logic functions, synchronous and asynchronous logic circuits, state transition diagrams, latches, flip-flops, counters, shift registers, memory, Mealy and Moore finite state machines.
- GEOL-1130
- Misc
- Completed
Emphasis is placed on the Earth’s crust especially on near-surface processes and their products. The principles of stratigraphy, significance of fossils, variety of depositional environments and hydrogeology are some topics that will be presented. Discussion of geology and the environment will include geological resources, energy consumption and changes to the natural environment caused by human activity.
- BUSI-1511
- Misc
- Completed
An introduction to the fundamental principles involved in the management of organizations. Specific emphasis is placed on the functions of management related to the planning, organizing, decision-making and controlling of organizational activities. Provides a comprehensive overview of the dynamic relationships which exist between the many interacting components which comprise the whole organization (i.e., goals, structure, technology, human resources and the relevant external environment). Systems theory is used to develop a framework which can be used to illustrate these relationships. Course content covers the following general core areas: technology and organization, decision-making, management of human resources, and interactions with the environment.
- COMP-1411
- Computer Science
- Completed
A first course in programming given in C – mathematical problem solving, program development, C grammar and simple system functions. Students will develop and write their own programs and run them in a time-sharing environment.
- ESOF-3255
- Software Engineering
- Completed
Software testing strategies, software testing techniques, test standards, verification and validation, object oriented testing and metrics, software quality and reliability, software quality engineering, software reliability engineering, quality management standards, software quality metrics and measurement.
- ESOF-3655
- Software Engineering
- Completed
Main components of modern operating systems; computer and OS architecture; processes and process management; threading; CPU scheduling; memory management; file management; I/O device management; with implementation examples taken from real-world operating systems including real-time OS and distributed OS; and coding exercises.
- PHYS-1070
- Misc
- Completed
Physics of semiconductors including crystal structure, conductivity, photoelectric effect, Hall effect, atomic energy levels and band theory, Fermi-Dirac statistics and density of states, intrinsic and extrinsic properties. The physics of common semiconductor devices are also discussed.
- ESOF-3675
- Software Engineering
- Completed
Introduction to database management systems; logical database design; schema refinement and normal forms; storage and indexing; database security; data warehousing and data mining; database application development.
- ESOF-2571
- Software Engineering
- Completed
Hardware and software structure of modern computer systems; input and output devices and ports; low level system programming; basics of operating systems structure and organization; overview of types of operating systems.
- EELE-1232
- Electrical Engineering
- Completed
Hardware and software aspects of microcontrollers and their applications in embedded systems; assembly language programming; architecture and addressing structures; serial and parallel input/output interfaces; timer programming; memory interfacing; interrupts and interrupt service routines; programming in C for microcontrollers; ADC, DAC and sensor interfacing.
- ENGI-4539
- Misc
- Completed
Professional Engineers Act: Regulations, Code of Ethics, registration and licensing. Professional Practice: responsibility to public, case studies covering engineering practice. Law and liability: Tort liability and contract law, legal and ethical aspects of engineering practice; Intellectual property. Sustainable Development: Innovation, economic sustainability, and social responsibility in engineering practices and processes.
- ESOF-2254
- Software Engineering
- Completed
Basic foundations of data management and information systems are introduced. Topics include: data modeling; Entity-Relationship (ER) modeling; relational model; basic queries in SQL; transformation of ER models to SQL; database architectures; database implementation issues and applications.
- BUSI-1511
- Misc
- Completed
An introduction to the fundamental principles involved in the management of organizations. Specific emphasis is placed on the functions of management related to the planning, organizing, decision-making and controlling of organizational activities. Provides an overview of the dynamic relationships which exist between the many components which comprise the whole organization. Systems theory is used to develop a framework which can be used to illustrate these relationships. Course content covers: technology and organization, decision-making, management of human resources, and interactions with the environment.
- EELE-4054
- Electrical Engineering
- Completed
Digital CMOS VLSI circuit design, layout and simulations; basic computer architecture and design of VLSI circuits to implement the architecture; design for testability.
- EMEC-1552
- Misc
- Completed
Fundamentals of statics, dynamics and mechanics of materials with applications to engineering problems.
- COMP-1431
- Computer Science
- Completed
Substantially extends the programming skills development, with more complex programs, using advanced C and C++ features. Good programming style and documentation are stressed throughout. Advanced data types, program structures and other advanced topics in C and C++ languages are discussed.
- ESOF-0151
- Software Engineering
- Completed
Discusses the sources and characteristics of large scale data, i.e., “big data”, large scale data analysis, benefits of large scale data analysis to various industry domains, programming paradigms and middleware technologies for scalable data analysis, algorithms that enable large scale data processing, application of large scale data algorithms in selected application domains. Big data analytics methodologies/platforms and frameworks such as Hadoop, MapReduce, Spark, H2O, will be discussed. The students will be introduced to various machine learning algorithms with examples using the Spark MLlib and H2O frameworks, and visualizations. The students will be introduced to data storage, batch and real-time analysis, and interactive querying frameworks.
- EELE-2453
- Electrical Engineering
- Completed
Layered protocol architecture; data-link control including error control and flow control; circuit switching and packet switching; bridging and routing; local area networks, internetworking; TCP/IP architecture and addressing structure; network management.
- MATH-1230
- Math
- Completed
Applications of integration, introduction to multiple integrals sequences and series; power series.
- ESOF-4559
- Software Engineering
- Completed
maging geometry; Image representation; introduction to image processing; Filtering and enhancement; image transformations; texture analysis; Computer vision; Basics of advanced image analysis using machine learning.
- ESOF-2570
- Software Engineering
- Completed
Use of object oriented approaches to solve GUI problems. Topics include object oriented concepts including inheritance, polymorphism, exception handling and GUI design techniques.
- ESOF-2670
- Software Engineering
- Completed
Introduction to the concepts of software engineering: software life cycle, project planning and estimation, Computer Aided Software Engineering (CASE) tools, software requirements elicitation, analysis and specification, design, implementation, testing techniques, software maintenance, risk assessment, and documentation standards.
- ESOF-4250
- Software Engineering
- Completed
Network Security: concepts and principles, network security tools (e.g. firewalls, HIDS); Host-Based Safety: fault handling, model checking, static analysis of software, runtime monitoring; Advanced Topics of Security: type-based security, cryptography, authentication, trusted programming, automated theorem proving, proof-carrying code; Ethics and Privacy: security/privacy trade-off, cybercrime, economic and psychological aspects of security.
- ESOF-2918
- Software Engineering
- Completed
Students learn the basics of problem investigation by conducting research. Students work in a team on a project to learn how to identify and formulate research problems, conduct critical appraisal of existing literature, develop questions and hypotheses, prototype, data analysis and visualization, interpretation of results, formal presentation of the project and technical report writing.
- EELE-2151
- Electrical Engineering
- Completed
Basic electronic materials-physical concepts; semiconductor materials; principles of operation of semiconductor devices-diodes and transistors; fundamentals of DC and AC circuit analysis; concepts of magnetism; principles of DC and AC machines and transformers; safety considerations; operational amplifiers and their applications.
- ESOF-0152
- Software Engineering
- Completed
Introduces students to Agile methods (eg. Scrum, Extreme Programming, Lean, Dynamic Systems Development Method). Emphasis will be on Agile software development methodologies including: Agile practices and design principles, introduction to scrum, scrum-prioritizing, estimating, and planning; Agile modeling, Agile software development tools, team forming, Agile project lifecycle, user stories, release planning, iteration, acceptance testing, Agile and documentation, extreme programming.
- MATH-2070
- Math
- Completed
The first part of the course is an introduction to matrix algebra. Solutions of simultaneous equations. Gaussian elimination. Vector and matrix notation. Determinants. Linear independence. Eigenvectors and diagonalization.
The second part of the course is an introduction to probability and statistics. Simple ways of analyzing data. Concept of probability. Discrete and continuous probability. Point and interval estimation. Significance tests. Regression and correlation analysis.
- ESOF-3050
- Software Engineering
- Completed
A project oriented course in which students apply software engineering principles of requirements elicitation, specifications, design, implementation and testing to solve engineering problems. The course content focuses on object oriented methodology and the use of Unified Modeling Language (UML) to specify, visualize, construct and document the artifacts of the software system. Topics include: concepts of object orientation; UML modeling and class diagrams; developing software requirements; client-server architecture; software design patterns; software implementation and testing; basic architectural patterns.
- ESOF-4969
- Software Engineering
- In-Progress
The fourth year degree project is restricted to students enrolled in the Bachelor of Engineering program. The student’s degree project is to be completed and written up in an acceptable report form. Adjudicated oral presentations of progress in the project are required. Instructions on the basics of preparing and presenting engineering reports are available.
- MATH-3071
- Math
- Completed
Basic set theory. Introduction to logic and proofs. Functions and relations. Mathematical induction and recursion. Algorithms; time estimates and orders of magnitude. Basic combinations. Graphs. Boolean algebras.
- ESOF-3350
- Software Engineering
- Completed
Basic principles of Software Performance Engineering (SPE) are introduced. Topics include introduction to software performance using UML, software performance engineering models, software execution models, system execution models, performance oriented design, performance testing, performance solution, performance tuning and applications.
