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.
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.
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.
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.
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.
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.
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.
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.
Theory and implementation of computationally intelligent algorithms to solve real world complex problems which have shown to be intractable with the application of conventional algorithms. The main thrust is on designing intelligent systems with reasoning, learning and adaptation capabilities. Topics include: problem solving and planning; knowledge representation and reasoning; expert systems, reasoning about uncertainty, machine learning techniques; and connectionist modeling based on artificial neural networks. An exploration of various engineering applications such as autonomous systems, pattern analysis, and game design.
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.
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.
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.
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.
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.
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.
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.
Examines the relationships between science, technology, social institutions and culture, with a focus on how these issues impact Canada’s Indigenous Peoples.
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.
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.
Application of differentiation; definite and indefinite integrals; transcendental functions; complex numbers; techniques of integration.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Digital CMOS VLSI circuit design, layout and simulations; basic computer architecture and design of VLSI circuits to implement the architecture; design for testability.
Fundamentals of statics, dynamics and mechanics of materials with applications to engineering problems.
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.
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.
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.
Applications of integration, introduction to multiple integrals sequences and series; power series.
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.
Use of object oriented approaches to solve GUI problems. Topics include object oriented concepts including inheritance, polymorphism, exception handling and GUI design techniques.
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.
Scroll to Top