Study of programming styles and paradigms. Included are object-oriented scripting functional and logic-based approaches. Languages that support these programming styles will be introduced. Languages treated include Python, Lisp or Scheme and Prolog.
Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the query language SQL. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management.
Theories and algorithms that capture (or approximate) some of the core elements of computational intelligence. Topics include: search; logical representations and reasoning, classical automated planning, representing and reasoning with uncertainty, learning, decision making (planning) under uncertainty. Assignments provide practical experience, in both theory and programming, of the core topics.
Compiler organization, compiler writing tools, use of regular expressions, finite automata and context-free grammars, scanning and parsing, runtime organization, semantic analysis, implementing the runtime model, storage allocation, code generation.
An overview of the physics of electricity and magnetism: Coulomb's law, Gauss' law, Ampere's law, Faraday's law. Physics of capacitors, resistors and inductors. An introduction to circuit analysis: resistive circuits, nodal and mesh analysis, 1st order RC and RL transient response and sinusoidal steady-state analysis.
Topics include: DC linear circuit elements; DC linear circuit analysis; Kirchhoff's Laws and superposition; Thevenin and Norton equivalents; nodal analysis; operational amplifier; transient response of linear circuits; sinusoidal steady state analysis; phasors; power in AC circuits; frequency response; and resonance phenomena.
This is a seminar series that will introduce first year students to the wealth of subjects within the field of Electrical and Computer Engineering. Instructors will be drawn from the various research groups within the Department. This course will be offered on a credit/no-credit basis. Credit will not be given to students who attend fewer than 70% of the seminars. Students who receive no credit for the course must re-take it in their 2S session. Students who have not received credit for this course at the end of their 2S session will not be permitted to register in session 3F.
This seminar introduces second year students to the various career pathways within the field of Electrical and Computer Engineering. Instructors from various areas will talk about third and fourth year ECE courses in weekly seminars to guide students with the selection of upper year courses. The course also offers talks and advice to aid students transitioning into second year, as well as enhance students' skills such as stress management and time management. This course will be offered on a credit/no credit basis. Credit will not be given to students who attend fewer than 70% of the seminars. Students who receive no credit for the course must re-take it in their 3F session. Students who have not received credit for this course at the end of their 3F session will not be permitted to register for their 3S session.
Methods for the analysis and design of electrical circuits and systems with an emphasis on the frequency domain. AC power system concepts such as real and reactive power, power factor, complex power and power flow analysis. For sinusoidal steady-state analysis, topics include phasor analysis, impedance and admittance. Review of circuit analysis techniques, differential equations and second-order RLC circuits. Frequency domain analysis, including the Laplace transform, poles and zeros, s-domain analysis, transfer functions, convolution, frequency response, Bode diagrams, frequency response and filter types (e.g. low-pass, high-pass) Circuit elements introduced include operational amplifiers, coupled inductors and ideal transformers, and the realization of active filters using operational amplifiers.
Fundamental discrete- and continuous-time signals, definition and properties of systems, linearity and time invariance, convolution, impulse response, differential and difference equations, Fourier analysis, sampling and aliasing, applications in communications.
The fundamental laws of electromagnetics are covered, including Coulomb's law, Gauss' law, Poisson's and Laplace's equations, the Biot-Savart law, Ampere's law, Faraday's law, and Maxwell's equations. Vector calculus is applied to determine the relationship between the electric and magnetic fields and their sources (charges and currents). The interaction of the fields with material media will be discussed, including resistance, polarization in dielectrics, magnetization in magnetic materials, properties of magnetic materials and boundary conditions. Other topics include: electric and magnetic forces, the electric potential, capacitance and inductance, electric and magnetic energy, magnetic circuits, and boundary-value problems.
Methods for the analysis and design of electronic circuits based on semiconductor nonlinear
components (diodes, bipolar junction transistors and field effect transistors) and operational amplifiers. The operational amplifier is introduced and its non-idealities are addressed, including the impact on circuit applications. Basic physical operation of semiconductor devices, current-voltage characteristics, operating regions, DC modeling, small-signal modelling and biasing. Fundamental circuits such as rectifiers, limiting and clamping circuits and transistor amplifiers.
Digital logic circuit design with substantial hands-on laboratory work. Algebraic and truth table representation of logic functions and variables. Optimizations of combinational logic, using "don't cares." Multi-level logic optimization. Transistor-level design of logic gates; propagation delay and timing of gates and circuits. The Verilog hardware description language. Memory in digital circuits, including latches, clocked flip-flops, and Static Random Access Memory. Set-up and hold times of sequential logic. Finite state machines - design and implementation. Binary number representation, hardware addition and multiplication. Tri-state gates, and multiplexers. There is a major lab component using Field-Programmable Gate Arrays (FPGAs) and associated computer-aided design software.
Basic computer structure. Design of central processing unit. Hardwired control. Input-output and the use of interrupts. Assembly language programming. Main memory organization and caches. Peripherals and interfacing. System design considerations. The laboratory will consist of experiments involving logic systems and microprocessors and a large open project. Design activity constitutes a major portion of laboratory work.
Provides a foundation in programming using an object-oriented programming language. Topics include: classes and objects, inheritance, exception handling, basic data structures (linked lists, binary trees, and hash tables), big-O complexity analysis, and testing and debugging. The laboratory assignments emphasize the use of object-oriented programming constructs in the design and implementation of reasonably large programs.
Digital system design principles. Logic circuits, logic synthesis. Registers, arithmetic circuits, counters, finite state machines, and programmable logic devices. Verilog hardware description language. Computer structure, machine language instruction execution and sequencing, addressing techniques. Processors, input/output techniques, and memory hierarchy. The laboratory work consists of exercises involving the design of logic circuits, and microprocessor systems. Modern computer-aided design tools and FPGA technology are used. Design aspects constitute a major portion of laboratory work.
The fundamental laws of electromagnetics are covered; including Coulomb's law, Gauss' law, Poisson's and Laplace's equations, the Biot-Savart's law, Ampere's law, Faraday's law, and Maxwell's equations. Vector calculus is applied to determine the relationship between the electric and magnetic fields and their sources (charges and currents). Field-matter interaction is studied, including polarization in dielectric materials and magnetization in magnetic materials. Circuit elements such as the resistor, capacitor and inductor are introduced from an electromagnetic point of view. Other topics include: electric and magnetic forces, the electric potential, capacitance and inductance, electric and magnetic energy, magnetic circuits, boundary-value problems and transmission-lines.
Introduction to engineering design processes for hardware systems. In addition to familiarizing students with hardware design practices, tools, and skill sets, it also aims to develop effective oral and written communication in a team context. Principles of engineering design, project management and teamwork are developed and applied as students work in teams to create and implement a complex hardware system comprising analog and digital electronic circuits. Students learn how to synthesize, prototype, and assemble designs realized using printed circuit board technology, as well as how to test them using modern measurement equipment. They learn about computer-aided design (CAD) and other development tools including those for electronic circuit simulation, schematic capture, board layout, version control (git), and instrument control. Students develop and apply communication skills by preparing a variety of documents and presentations, including proposals, status reports, design reviews, and presentations.
An introduction to engineering design processes, illustrated by the design and implementation of a software system, and to effective oral and written communication in a team context. Principles of software design, project management and team work are developed in the lectures and tutorials, and students apply these concepts in the laboratories as they work in a team to design and implement a complex software system. Students learn and practice oral and written communication techniques in lectures and in meetings with their communication instructor, and apply these techniques in a variety of documents and presentations, such as short status reports and longer design proposals and design reviews. Students learn software development tools such as version control (git), debuggers, code verifiers and unit test frameworks and gain experience in graphical user interface design and algorithm development.
Events, sample space, axioms of probability. Discrete and continuous random variables, distribution and density functions. Bernoulli trials, Binomial, geometric, Poisson, exponential and Gaussian distributions.
Expectation, moments, characteristic function and correlation coefficient. Functions of random variables. Random vectors, joint distributions, transformations. Applications will be chosen from communication theory, estimation and hypothesis testing, predictive analytics and other areas of electrical and computer engineering.
An introduction to dynamic systems and their control. Differential equation models of mechanical, electrical, and electromechanical systems. State variable form. Linearization of nonlinear models and transfer functions. Use of Laplace transform to solve ordinary differential equations. Conversion of models from state variable form to transfer function representation and vice versa. Block diagrams and their manipulation. Time response: transient analysis and performance measures. Properties of feedback control systems. Steady state tracking:the notion of system type. The concept of stability of feedback systems, Routh-Hurwitz stability criterion. Frequency response and stability in the frequency domain. Root locus. Bode and Nyquist plots and their use in feedback control design.
Three-phase systems; steady-state transmission line model; symmetrical three-phase faults; power system stability; symmetrical components; unsymmetrical faults and fault current calculation; distribution network; equivalent steady-state model of voltage-sourced converter; distributed energy resources (DR); distributed energy storage; interface between DR and power system.
High-efficiency energy conversion via switched-mode power electronic circuits: design and steady-state modeling of DC/DC converters, DC/AC converters using pulse-width modulation. Transistor switch realization and basic efficiency analysis in power electronic converters. AC power quality and power factor, including non-sinusoidal currents. Energy conversion via magnetic devices: Faraday's law for time varying fields, characterization of hysteresis and eddy current losses in magnetic materials, modelling of magnetic circuits, transformer and inductor modelling and design. Introduction to electromechanical energy conversion: Lorentz Force, concepts of energy, co-energy, forces between ferromagnetic materials carrying flux, simple magnetic actuators, introduction to synchronous machines.
An introductory course in analog and digital communication systems. Analog and digital signals. Signal representation and Fourier transforms; energy and power spectral densities; bandwidth. Distortionless analog communication; amplitude, frequency and phase modulation systems; frequency division multiplexing. Sampling, quantization and pulse code modulation (PCM). Baseband digital communication; intersymbol interference (ISI); Nyquist's ISI criterion; eye diagrams. Passband digital communications; amplitude-, phase- and frequency-shift keying; signal constellations. Performance analysis of analog modulation schemes in the presence of noise. Performance analysis of PCM in noise.
Geometric Optics: Spherical surfaces, lenses and mirrors, optical imaging systems, matrix method, and aberrations. Polarization: Polarizer and polarizations, anisotropic materials, dichroism, birefringence, index ellipsoid, waveplates, optical activity, Faraday effect. Interference: superposition of waves, longitudinal and transverse coherence, Young's double-slit experiment, Michelson and Fabry-Perot interferometer, thin-films. Diffraction and Fourier Optics: diffraction theory, single and double slits, diffraction gratings, spatial filtering, basic optical signal processing. (Background preparation in ECE320H1 F - Fields and Waves, or ECE357H1 S - Electromagnetic Fields, is strongly recommended.)
Voltage and current waves on a general transmission line, characteristic impedance, reflections from the load and source, transients on a transmission line, Smith's chart and impedance matching. Maxwell's equations, wave equation, constitutive relations, dispersion, boundary conditions. Plane wave propagation in lossless and lossy media, polarization, power flow and Poynting vector. Plane wave reflection and transmission at material boundaries. Waveguides; propagating and evanescent waveguide modes and cut-off frequencies.
An introduction to machine learning engineering, with a focus on neural networks. The entire process of developing a machine learning solution, from data collection to software development, as well as ethics in machine learning, will be discussed. Practical techniques in machine learning will be covered, including data augmentation and the use of pre-trained networks. Topics covered will include the fundamentals of neural networks, convolutional neural networks, recurrent neural networks, generative adversarial networks and transformer networks. Students will complete a major hands-on project in machine learning.
Study of programming styles and paradigms. Included are object-oriented scripting functional and logic-based approaches. Languages that support these programming styles will be introduced. Languages treated include Python, Lisp or Scheme and Prolog.
The course introduces the principles of quantum physics and uses them to understand the behaviour of semiconductors. Topics to be covered include wave-particle duality, Schrodinger's equation, energy quantization, quantum mechanical tunnelling, electrons in crystalline semiconductors and other physical concepts that form the basis for nanotechnology, microelectronics, and optoelectronics.
Transistor amplifiers with an emphasis on integrated circuit (IC) design. Building blocks include differential and multistage amplifiers, IC biasing techniques, and output stage design. Frequency response of amplifiers at low, medium and high frequencies. Feedback amplifier analysis. Stability and compensation techniques for amplifiers using negative feedback.