Untitled

advertisement
TABLE OF CONTENTS
GLOSSARY
ELECTRICAL ENGINEERING
SECOND YEAR COURSE DESCRIPTIONS
THIRD YEAR COURSE DESCRIPTIONS
FOURTH YEAR COURSE DESCRIPTIONS
TECHNICAL ELECTIVE COURSE DESCRIPTIONS
GROUP A QUALIFIED ENGINEERING DESIGN ELECTIVE COURSES
GROUP B TECHNICAL ELECTIVE COURSES
ELECTIVE COURSES NOT OFFERED IN 2016-2017
COMPUTER ENGINEERING
SECOND YEAR COURSE DESCRIPTIONS
THIRD YEAR COURSE DESCRIPTIONS
FOURTH YEAR COURSE DESCRIPTIONS
TECHNICAL ELECTIVE COURSE DESCRIPTIONS
ELECTIVE COURSES NOT OFFERED IN 2016-2017
Electrical and Computer Engineering
Electrical and Computer Department Office
EITC E2-390
ece-inquiries@lists.umanitoba.ca
474-9603
http://umanitoba.ca/faculties/engineering/departments/ece
Department Head:
Associate Head, Electrical:
Associate Head, Computer:
Joe LoVetri (Joe.LoVetri@umanitoba.ca)
Derek Oliver (Derek.Oliver@umanitoba.ca)
Dean McNeill (Dean.McNeill@ad.umanitoba.ca)
The work of Computer Engineers is sometimes hidden and embedded into
everyday objects such as cars, bank machines and smartphones. Computer
Engineering students receive a broad education which encompasses both the
hardware and software aspects of any application. In addition to the standard
Computer Engineering program, the department offers three focus areas for
interested students. These include the study of Embedded Systems, Communication
Networks and Machine Vision. Students interested in any of these programs should
consult with the Electrical and Computer Department Office to select an appropriate
set of elective courses.
Electrical and electronic systems are present in every aspect of life, from the
power that lights a house at night to the toaster that prepares breakfast in the
morning. Life would be very different without the benefits of these and other
devices designed chiefly by electrical engineers. In addition to the traditional fields
of electric power systems and telecommunications, today’s electrical engineers are
also expanding their work into fields such as biomedical devices and microelectronics. In addition to the standard Electrical Engineering program, the
department offers four focus areas for interested students. These include the study
of Power and Energy Systems, Wireless Communication Devices, Biomedical
Engineering and Engineering Physics. Students interested any of these programs
should consult with the Electrical and Computer Department Office to select an
appropriate set of elective courses.
GLOSSARY
These terms will help guide you through the Department Handbook and through your years
in engineering!
●
●
●
●
●
CAD Lab: This refers to one of the three computer labs that have the software you will
need in your courses such as Solidworks.
Core Courses: All of these courses must be taken and passed.
Co-Requisite: Refers to a course which must be taken concurrently with another
course.
Prerequisite: Refers to a course that must be completed with a letter grade of D or
higher before beginning a subsequent course.
Tech Shop - E2-541.There are resistors, capacitors and wires available for students
in drawers at the front of the tech shop. You need to ask one of the technicians for
op amps, inductors and transistors.
GENERAL TIPS FOR INCOMING ECE STUDENTS
1. In your circuits labs you will be taught how to use an oscilloscope and function
generator. Make sure you fully understand how to use them, as they will be
necessary for many subsequent courses.
2. You can buy a student version of multisim (a circuit simulator) for $60. This is a
great investment, as it will help you complete design projects, labs and assignments
more efficiently.
3. You can buy a student version of matlab for $100. Matlab will be used in labs for
several different courses, so it is important to become proficient at matlab
programming. There are lots of free tutorials available online.
4. Design projects are an important part of many of the courses in electrical
engineering. Get started as early as possible on all design projects and keep in mind
that the physical circuit will not behave exactly like the simulation. The Engineers in
Residence are a great source of information about design, so make sure to ask lots of
questions about the design process and your projects.
5. The concepts covered in Math 1-3 are extremely important for a lot of your
electrical courses, so make sure you understand these topics very well.
6. Always use a multimeter to check the values of your resistors and capacitors. The
components often get mixed up and this will save you a lot of time in the lab. You
can also memorize the resistor colour codes.
7. If you need to pick up components for your projects or labs, visit the tech shop (E3541). There are resistors, capacitors and wires available for students in drawers at
the front of the tech shop. You need to ask one of the technicians for op amps,
inductors and transistors.
8. Many of your courses will have weekly quizzes or assignments. Even though they
aren’t worth a large percentage of your grade, put in as much effort as you can. Your
marks in these sections of the course can help boost your overall grade.
9. Always complete the prelabs before your lab section. This will help to ensure you
are able to finish the lab on time. The prelabs and lab reports are also a good chance
to practice applying some of the topics you are covering in class.
10. If they are available, old midterms and finals are one of the best ways to prepare for
your exams. Pay attention to the style of questions your professor has given in the
past and to the concepts that were emphasized in previous years’ exams.
11. Buy a pair of wire strippers. They are available at the book store and will be very
useful in the labs and for your design projects.
ELECTRICAL ENGINEERING
SECOND YEAR COURSE DESCRIPTIONS
Engineering Communication (ENG 2030 or ENG 2040) 3CR
Take only one of ENG 2030: Students work in a team-based environment to produce
deliverables comparable to the engineering workplace. In-class tutorials focus on the
sharpening of individual students' writing skills through an analytical, problem-solving and
critical thinking approach. Students are exposed to a variety of communicative scenarios
and emphasis is placed on development of a repertoire of skills necessary for effective
communication in the engineering profession. OR ENG 2040: This team-based course
focuses on a rhetorical approach, communication strategies and guided practice in the
design of engineering communications. ENGL 1400/1310, ENG 1430 (or former ENG 2010)
prerequisite.
Difficulty: 3
Workload: 5
Tips: Make sure to get started on your final report early to allow lots of time for editing.
Wear business clothes for all presentations. Try to keep up with entries in your journal.
Engineering Mathematical Analysis 1 (MATH 2130) 3CR
Multivariable differential and integral calculus up to and including multiple integrals in
cylindrical and spherical coordinates. For Engineering and Geophysics students only.
Prerequisites: MATH 1210 or MATH 1211 and MATH 1710.
Difficulty: 3
Workload: 3
Tips: Make sure to review your notes from Calculus 2 before starting this class. The
textbook has lots of practice problems, which are a great way to prepare for the tests. Make
an effort to attend the tutorials, as the professors will go through practice problems.
Engineering Mathematical Analysis 2 (MATH 2132) 3CR
Infinite series, Taylor and Maclaurin Series; ordinary differential equations including
Laplace transforms. For Engineering and Geophysics students only. MATH 1210 and MATH
1710 are prerequisites.
Difficulty: 4
Workload: 3
Tips: The best way to prepare for your midterms and final is to do lots of practice problems
in the textbook. The tutorials are taught by the professor, so they are a great opportunity to
go through additional practice problems and ask your questions.
Engineering Mathematical Analysis 3 (MATH 3132) 3CR
Vector integral calculus; series of ordinary differential equations; Fourier series and Partial
differential equations. MATH 2130 and MATH 2132 are prerequisites.
Difficulty: 4
Workload: 3
Tips: Review your notes from Math 1 and 2 before starting this course. The textbook is an
excellent source of practice problems for the midterm and final. The topics covered in Math
3 will be used in many of the third year electrical engineering courses, so it is important to
understand all the concepts covered in the class.
Electric Circuits (ECE 2262) 4CR
The application of circuit concepts; network theorems and formal methods, steady state
analysis, frequency and transient response, application of the Laplace transform in the
analysis of linear time-invariant networks. Prerequisite: ENG 1450. Pre- or Corequisite:
MATH 2132.
Difficulty: 3.5 Workload: 3.5
Tips: Review your notes from ENG 1450. The concepts and analysis techniques you learn in
the labs (such as the use of an oscilloscope and function generator) will be used throughout
your degree. Practicing old exams and doing textbook problems are excellent ways to
prepare for the midterm.
Digital Logic Systems (ECE 2220) 5CR
Boolean algebra and logic primitives, net-work simplification techniques, physical
realizations, number systems and codes; analysis and design of asynchronous and
synchronous sequential circuits; applications to computation, measurements, and control.
Prerequisite ENG 1450
Difficulty: 3 Workload: 4
Tips: This course includes an open ended design project. Get started on it early to allow
plenty of time for debugging. The TA’s and Professors like to see creativity on the design
project. The textbook for this course is very expensive but is an excellent source of practice
problems, so it is worth the investment.
Ecology, Technology and Society (ANTH 2430) 3CR
Ecological analysis of the interplay of socio-political and technological processes in different
types of societies. Focus upon the ecological side-effects and selected technologies,
economic mechanisms and political institutions.
Difficulty: 2
Workload: 2
Tips: This course requires students to write several essays. If you send a draft of your essay
to the TA, they will be able to give you comments and feedback before the final paper is due.
Modern Physics for Engineers (PHYS 2152) 3CR
An overview of topics in modern physics including wave particle duality, atomic structure
and quantum mechanics. Elementary classical electromagnetic theory and wave theory are
reviewed as an introduction to the modern physics concepts. For Engineering students only.
Not to be held with PHYS 1070 or PHYS 1071. Prerequisites: a “C” or better in one of PHYS
1050, and a “C” or better in MATH 1510; and a ”C” or better in MATH 1710, or MATH 1690.
Prerequisite or concurrent requirement: MATH 2130.
Difficulty: 3
Workload: 2
Tips: The midterm and final are both multiple choice. Practicing old exams (which are
available in your lab manual) is an excellent way to prepare. Lab reports have to be handed
in by the end of the lab section, so make sure to come prepared.
Numerical Methods for Electrical Engineers (ECE 2240) 4CR
Numerical methods applied to Electrical Engineering problems; mathematical models of
physical systems, solutions of linear and non-linear equations, numerical differentiation and
integration methods and associated errors, introduction to solution analysis. Prerequisites
ECE 2262, COMP 1012, MATH 2132.
Difficulty: 3.5 Workload: 3.5
Tips: You are not provided with a formula sheet for the exams, so make sure to memorize
all the necessary equations. All labs are completed on Matlab, so spend some time at the
beginning of the semester learning basic Matlab syntax.
Electronics 2E (ECE 2160) 5CR
Characteristics of integrated circuits and transistors; design of DC and AC amplifiers in the
steady state. Prerequisite: ECE 2262.
Difficulty: 3.5 Workload: 3.5
Tips: This course includes a design project. It is important to get started early to allow
yourself plenty of time to work on your simulation, and then perform physical testing. Keep
in mind that the actual behaviour of your circuit will be different than the simulation. Each
semester an engineer in residence will be assisting with the design project. Ask lots of
questions and consult them if you encounter problems with the design process.
Microprocessing Systems (ECE 3610) 4CR
Fundamentals of microprocessors and microcomputers; data flow; machine programming;
architectures and instructions sets; stacks, subroutines, I/0, and interrupts; interfacing
fundamentals; designing with microprocessors. Prerequisite: ECE 2220.
Difficulty: 3
Workload: 4
Tips: The labs for this course require students to code in assembly language. Make sure to
prepare before the labs so that you are able to finish on time. Old midterms should be
available on the course website and are an excellent way to prepare for the term tests.
THIRD YEAR COURSE DESCRIPTIONS
Electrical Engineering
Foundations of Electromagnetics (ECE 3580) 4CR
Fundamental laws of field theory; Maxwell's equations in integral and point form. This
course introduces students to electrostatics, magnetostatics and basics of electromagnetics.
Prerequisite: ECE 2240, PHYS 2152, and MATH 3132.
Difficulty: 5
Workload: 4
Tips: The labs in this course are completed on Matlab. Make sure to review Matlab before
the first lab, to ensure that you will be able to finish on time. In the past, this course has
included 5 quizzes. Spend some time practicing the old quizzes and reviewing the concepts
covered in class to prepare for them. There may also be a tutorial session each week. The
tutorial is an excellent chance to practice additional problems and to get your questions
answered. Old midterms are a good tool to prepare for the midterm and final, but make sure
to review the course notes as well, as it is likely that your exams will include types of
questions that are not on any of the old tests.
Contemporary Statistics for Engineers (STAT 2220) 3CR
Descriptive statistics, basic probability concepts, special statistical distributions, statistical
inference-estimation and hypothesis testing, regression, reliability, statistical process
control. Prerequisite: MATH 1710.
Difficulty: 2.5 Workload: 2
Tips: Make sure to memorize all the equations you will need for the tests, as you will not be
given a formula sheet. Practicing old exams is a great way to prepare for the midterm and
final.
Signal Processing 1 (ECE 3780) 4CR
Introduction to signals and systems; spectral analysis (Fourier Series) of continuous-time
periodic signals; spectral analysis of aperiodic signals (Fourier Transform); the impulse
response and convolution operator; frequency analysis of linear time-invariant systems;
applications to filtering, communications systems, and biological systems; A/D conversion;
sampling. Laboratory periods will be used to give students hands-on experience in
programming many of the techniques covered in the theoretical parts of the course.
Prerequisites: ECE 2262 or ECE 2260 and MATH 3132 or MATH 3100.
Difficulty: 5
Workload: 3
Tips: Ensure that you are comfortable with the concepts covered in math 2 and 3 before
starting ECE 3780. The textbook has a lot of sample problems, which are a good way to
prepare for the tests and quizzes. The labs are a great way to deepen your understanding of
the concepts covered in class.
Electric Power and Machines (ECE 3720) 4CR
Principles and applications of electric power, energy conversion and machines.
Prerequisite: ECE 2262 or ENG 1180.
Difficulty: 3
Workload: 3
Tips: The textbook is an excellent source of sample problems that will help you prepare for
the midterm and final. Try to complete the calculation portion of the labs before your lab
section. This will allow you to compare your measured values to the theoretical values to
ensure that you are building your circuits and taking the measurements properly.
Electronics 3E (ECE 3670) 4CR
Continuation of ECE 2160, including device models, feedback, regulators, frequency effects,
oscillators, and bistability and gates. This course is design based. Prerequisite: ECE 2160.
Difficulty: 4 Workload: 5
Tips: The majority of the exam problems in this class are design based. When you are
preparing for exams, you can test your solutions by building your design on multisim and
comparing the simulated output to the design requirements.
Electromagnetic Theory (ECE 3590) 4CR
Maxwell's equations; plane electromagnetic waves; transmission line theory;
electromagnetic radiation and introduction to antennas. Prerequisite: ECE 3580.
Difficulty: 3
Workload: 3
Tips: Review your notes from ECE 3580 (particularly plane waves) before starting this
course. The old tests posted on the course website are an excellent way to prepare for the
exams. Make sure to complete the prelabs to ensure that you are prepared for the in-lab
quizzes.
Physical Electronics (ECE 3600) 4CR
Basic solid state theory; properties of semi-conductors; principles of metal-semiconductor
junctions, p-n junctions and transistors; optoelectronic processes. Prerequisites: PHYS
2152, MATH 3132, ECE 3670.
Difficulty: 5
Workload: 4
Tips: This course introduces a lot of new and complex concepts. Make sure to keep up with
your studying and practice problems throughout the semester.
Communications Systems (ECE 4260) 4CR
Development and applications of random processes. Analysis and comparison of
modulation schemes: AM, FM, PM, PCM. Prerequisites: ECE 3780, and STAT 2220.
Difficulty: 3
Workload: 2
Tips: Review your notes from Signal Processing before starting this course. The labs are
very long so come prepared. The labs also introduce you to a lot of new equipment (such as
the spectrum analyzer) so make sure to ask the TA’s if you are struggling with using the
equipment.
Advanced Circuit Analysis and Design (ECE 3540) 4CR
Application of the Laplace Transform in the analysis of linear time-invariant networks,
poles, zeros and frequency response; natural frequencies; general network theorems; two
ports; energy and passivity; transmission lines; time and frequency domain. Prerequisite:
ECE 2262, MATH 3132.
Difficulty: 4
Workload: 4
Tips: Review the concepts from the first circuits course before starting this class. The
assignments for this course are very lengthy. Try to use matlab to help you complete the
assignments more efficiently.
Principles of Embedded System Design (ECE 3730) 4CR
This course will introduce students to the design and implementation of embedded systems.
Topics include introduction to UML and data structures, A-to-D, D-to-A, serial bus
architectures, embedded computing, bus-based computer systems, program design and
analysis, networks, and hardware-software co-design. Prerequisites: ECE 2160, ECE 3610
and COMP 1012.
Difficulty: 4
Workload: 5
Tips: The assignments and labs for this course are very extensive. Make sure to start on
your assignments as early as possible, and get started on the lab before your scheduled lab
period. In the past, the assignments have been submitted through the U of M email. Make
sure to follow all submission procedures exactly to avoid losing points.
FOURTH YEAR COURSE DESCRIPTIONS
Electrical Engineering
Control Systems (ECE 4150) 4CR
Principal methods of analysis and design for feedback control systems. Prerequisite: ECE
2160 and ECE 3780.
Difficulty: 3
Workload: 3.5
Group Design Project (ECE 4600) 6CR
The engineering curriculum must culminate in a significant design experience which is
based on the knowledge and skills acquired in earlier course work and which gives students
an exposure to the concepts of teamwork and project management. Prerequisites: [ENG
2030 or ENG 2040] and ECE 3780 and [(ECE 3580, ECE 3720, ECE 3670 and ECE 3610) or
(ECE 3700, ECE 3760 and ECE 3740)].
Difficulty: 5
Workload: 5
Engineering Economics (CIVL 4050) 3CR
Introduction to engineering economics. Time value of money and discounted cash flow
calculations. Comparing alternatives. Replacement analysis and life-cycle costing. Public
sector engineering economy studies. Private sector engineering economy studies. Before
and after-tax analysis. Applications in cost-estimating. Applications in asset management
systems. Basic accounting. Accommodating capital limitations. Dealing with inflation.
Dealing with risk and uncertainty. STAT 2220 is a prerequisite.
Difficulty: 3
Workload: 3
TECHNICAL ELECTIVE COURSE DESCRIPTIONS
Electrical Engineering
Seven (7) technical electives are required, at least three (3) must be from Group A.
*This requirement applies to students admitted September 2016 and later,
consult ECE department website for more detailed information.
GROUP A QUALIFIED ENGINEERING DESIGN ELECTIVE COURSES
Control Engineering (ECE 4160) 4CR
Design of control systems by frequency domain and root locus method; state equations;
introduction to nonlinear analysis. Prerequisite: ECE 4150.
Digital Communications (ECE 4250) 4CR
Transmission of digital data; error rates, interference. Information measures, information
rate and channel capacity. Coding. Prerequisite: ECE 4260 and ECE 3780.
Microwave Engineering (ECE 4290) 4CR
Microwave circuit analysis; passive and active devices; communication system power
budget and signal-to-noise ratio calculations. Prerequisite: ECE 3590.
Power Electronics (ECE 4370) 4CR
Thyristor device theory and operation, controlled rectifiers and line-commuted inverters,
and forced commutation as applied to d/c choppers and a/c variable frequency and voltage
inverters. Prerequisites: ECE 3720 and ECE 2160.
Difficulty: 4
Workload: 3.5
Signal Processing 2 (ECE 4830) 4CR
Representation of discrete-time signals and systems in the time and frequency domains; the
z-transform; application to various discrete-time linear time-invariant systems; design of
digital filters. Laboratory periods will be used to give students hands-on experience in
programming many of the techniques covered in the theoretical parts of the course.
Prerequisite: ECE 3780.
Difficulty: 4
Workload: 3
GROUP B TECHNICAL ELECTIVE COURSES
Electric Machines (ECE 3650) 5CR
Continuation of ECE 3270 (Electric Power and Machines), including steady state and
transient performance and introductory power systems theory. Prerequisite: ECE 3720.
Difficulty: 3.5 Workload: 3.5
Telecommunication Networks Engineering (ECE 3700) 4CR
This course will introduce modem concepts in telecommunications, including LANs, WANs,
telephone networks, wireless and mobile networks, and Internet networks. Focus will be on
design engineering, and management of networks, and on network programming for client
server architectures. Prerequisite: COMP 2140.
Difficulty: 3.5 Workload: 3.5
Introduction to Microelectronic Fabrication (ECE 4100) 4CR
Introduction to the fabrication of integrated circuits (ICs). Emphasis is on silicon based
devices. Topics include water preparation, oxidation, thin film deposition, diffusion and ion
implantation, lithography, wet and dry etching and metallization. An introduction to MEMS
and micromachining technology is given. Prerequisite: ECE 3670.
Difficulty: 3
Workload: 3
Introduction to Robotics (ECE 4180) 4CR
This course provides fundamental concepts of robotics, including robot classification and
applications, robot kinematics, sensor and actuators, sensor interfacing, motor control,
trajectory planning, and robot programming. Prerequisites: ECE 4150 and (ECE 4240 or
ECE 3730).
Difficulty: 3
Workload: 2.5
Antennas (ECE 4270) 4CR
Radiation fundamentals, linear antennas, point source arrays, aperture antennas, antenna
impedance, antenna systems. Prerequisite: ECE 3590.
High Voltage Engineering (ECE 4360) 4CR
The course serves as an introduction to high voltage engineering, including basics of
electrical breakdown, high voltage generation, high voltage test systems, measurement and
analysis techniques as applied to power system apparatus, such as cables, insulators,
transformers, and generators. Prerequisite: ECE 3580, ECE 3720.
Difficulty: 4
Workload: 4
Engineering Computation 4E (ECE 4390) 4CR
Development and application of numerical methods for the solution of electrical and
computer engineering problems. Optimization techniques. Finite difference, finite element
and boundary element methods. Solution of large systems of linear and non-linear
equations. Prerequisite: MATH 3132, ECE 2240.
Tips: There is a lot of information in this course and the labs and assignments require a lot
of time. However, the quizzes, test and exam are open book. It is suggested to get ahold of
Joe Lovetri’s notes from the old website for these tests.
Difficulty: 4
Workload: 5
Computer Vision (ECE 4440) 4CR
Image formation and sensing, image compression degradation and restoration, geometrical
and topological properties, pattern classification, segmentation procedures, line-drawing
images, texture analysis, 3-D image processing. Prerequisite: ECE 3780.
Parallel Processing (ECE 4530) 4CR
Classification of parallel processors, SIMD vs. MIMD, multiprocessing Vs parallel processing,
interconnection topology, communications, and node complexity, pipelining and vector
processors, array algorithmic machines. Prerequisites: COMP 2140 and ECE 3760.
Wireless Networks (ECE 4540) 4CR
Introduction to wireless communications systems, network architectures, protocols and
applications. Topics include mobile computing systems, signals propagation, channel
modelling, modulation, and networking standards. Prerequisite: ECE 3700 and ECE 3780.
Optoelectronics (ECE 4580) 4CR
Basic theory of quantum mechanics; solution of Shrodinger equations; interaction of
radiation with matter; masers and lasers; propagation, modulation, excitation and detection
in optical waveguides; introduction to fiber and integrated optics. Prerequisite: ECE 3600.
Biomedical Instrumentation and Signal Processing (ECE 4610) 4CR
Introduction to biological systems and application of engineering principles to medical
problems. Students design systems to acquire and analyze biological signals in the
laboratory. Content includes introduction to relevant physiology and anatomy of cells,
skeletal muscles, heart and cardiovascular systems, human balance and biomechanics,
recording and analyzing amplifiers for signal conditioning, medical instrumentation safety
and health hazards. Prerequisites: ECE 2160 and ECE 3780.
Digital System Implementation (ECE 4740) 4CR
Implementation methodologies and technologies for digital systems, including VLSI
implementations, PCB implementations, and rapid prototyping (FPGA). Prerequisite: ECE
4240. Not to be held with ECE 4500.
(T01) Modern Computing Systems (ECE 4850) 4CR
Prerequisite: ECE 3610.
(T02) Applied Computational Intelligence (ECE 4850) 4CR
Prerequisite: MATH 3132.
(T01) Random Signals and Processes (ECE 4860) 4CR
Prerequisite: STAT 2220, ECE 3780.
(T02) Biomedical Signal Processing (ECE 4860) 4CR
Prerequisite: Permission of the Instructor (S. Sherif).
(T03) Design of RF Devices and Wireless Systems (ECE 4860) 4CR
Prerequisite: ECE 3590.
(T05) Materials Characterizations (ECE 4860) 4CR
Prerequisite: Permission of the Instructor (D. Oliver).
Computer Science 2 (COMP 1020) 3CR
More features of a procedural language, elements of programming. Not to be held with
COMP 1021. Prerequisite: COMP 1010 or COMP 1011; or COMP 1012, COMP 1013 (C) or
High School Computer Science 40S (75%) and any grade 12 or 40S Mathematics, or
equivalent.
Data Structures and Algorithms (COMP 2140) 3CR
Introduction to the representation and manipulation of data structures. Topics will include
lists, stacks, queues, trees, and graphs. Not to be held with COMP 2061. Prerequisites: one of
COMP 1020, COMP 1021.
Introduction to Artificial Intelligence (COMP 3190) 3CR
Principles of artificial intelligence: problem solving, knowledge representation and
manipulation; the application of these principles to the solution of 'hard' problems.
Prerequisite: one of COMP 2140, or COMP 2061(C).
Machine Learning (COMP 4360) 3CR
Learning strategies; evaluation of learning; learning in symbolic systems; neural networks,
genetic algorithms. Prerequisite: COMP 3190(C).
Applied Discrete Mathematics (MATH 3120) 3CR
Sets, groups, graphs, and Boolean algebra. For Engineering students only. Not to be held
with COMP 2130. Prerequisites: ECE 2220 (C) and MATH 2130 (C).
Complex Analysis 1 (MATH 3340) 3CR
Analytic functions, Cauchy's theorem and integral formula, series representation of analytic
functions, calculus of residues, Rouche's theorem and the principle of the argument. Not to
be held with the former MATH 3710. Prerequisites: [MATH 2180 (C) or the former MATH
3230 (C)] and [MATH 2150 (C) or MATH 2720 (B) or MATH 2721 (B) or the former MATH
2750 (C)].
Partial Differential Equations (Math 3460) 3CR
Method of characteristics for first order PDEs, wave, beam, heat and Laplace equations,
derivation of PDEs, existence and uniqueness, energy estimates, well-posedness, maximum
principles, separation of variables. Not to be held with the former MATH 3810.
Prerequisites: [MATH 2150 (C) or ((MATH 2720 (B) or MATH 2721 (B)) and (the former
MATH 2730 (B) or MATH 2731 (B)))] and [MATH 3440 (C)].
Optics (PHYS 2260) 3CR
A survey of refraction, reflection, simple lens systems and optical systems, dispersion,
achromatism and an elementary treatment of diffraction, interference, and polarization. Not
to be held with PHYS 2261. Prerequisites: A “C” or better in PHYS 1050 or PHYS 1051, or a
“C+” or better in PHYS 1020 or PHYS 1021; and a "C" or better in one of MATH 1230, MATH
1500, MATH 1501, MATH 1510, MATH 1520, or MATH 1690. Prerequisite or Corequisite:
one of PHYS 1070, PHYS 1071, PHYS 1030, PHYS 1031 or PHYS 2152; and one of MATH
1220, MATH 1300, MATH 1301, or MATH 1310; and one of MATH 1232, MATH 1690, MATH
1700, MATH 1701, MATH 1710.
Medical Physics and Physiological Measurement (PHYS 3220) 3CR
This course will introduce the core subject areas of Medical Physics, in particular the
physics of physiology and of radiology. The mechanics of body systems and the theory,
medical applications and safety issues relating to the production, use, detection and
measurements of electromagnetic radiation (both ionizing and non-ionizing) will be
included. It will also cover Medical imaging (Ultrasound, CT and MRI) and will provide the
student with an understanding of the physics underlying neurological, audiological,
respiratory and vascular function and measurements. Prerequisite: one of PHYS 2600
(016.260) (C) or PHYS 2210 (or the former PHYS 2200)(C), or ECE 3580, or consent of the
department.
Electro- and Magnetodynamics and Special Relativity (PHYS 3640) 3CR
Topics covered will include time dependent Maxwell's equations, Ohm's and Faraday's Law,
electromagnetic waves, potential and fields, radiation, and special relativity including the
Lorentz transformations. Prerequisite: PHYS 3630 or ECE 3590(C).
Advanced Optics (PHYS 4590) 3CR
Light as a classical electromagnetic wave, optical fields in media, interference by wavefront
and amplitude splitting, diffraction, diffraction theory of image formation, spatial filtering
and image processing, coherence theory. Not to be held with the former 016.458.
Prerequisites: PHYS 2260 (C); and PHYS 3640 (C).
ELECTIVE COURSES NOT OFFERED IN 2016-2017
Digital Systems Design 2 (ECE 3770) 4CR
Executable system specification and a methodology for system partitioning and refinement
into system-level components. Models and architectures, specification languages,
translation to an HDL, system partitioning, design quality estimation, specification
refinement into synthesizable models. Prerequisite: ECE 4240 and MATH 3120.
Power Transmission Lines (ECE 4140) 4CR
AC and DC transmission line corona and its environmental effects. Electric field calculations;
design methods to reduce electric field. Electrostatic and electromagnetic effects. Insulation
design for power frequency, switching and lightning induced surges. Insulation
coordination - conventional and probabilistic methods. Power apparatus testing - criteria
and significance. Prerequisite: ECE 3720.
Electronic Filter Design (ECE 4200) 4CR
Realizability theory, approximation of filtering characteristics, ladder networks and
transmission zeros, active RC filter design with regard to sensitivity minimization, phaseshifting and time-delay filters, impulse response of filters, rudiments of digital filters.
Prerequisite: ECE 3540 (or ECE 3530).
Engineering Electromagnetics (ECE 4280) 4CR
Plane, cylindrical and spherical waves, introduction to scattering and diffraction,
waveguides, transmission line applications. Prerequisite: ECE 3590.
Difficulty: 4
Workload: 3.5
Electric Energy Systems 2 (ECE 4310) 4CR
Generating stations. Power system stability and optimal operation. EHV-ac and HVDC
power transmission. Power system protective relaying and reliability evaluation.
Prerequisite: ECE 4300.
Difficulty: 3
Workload: 3
Digital Control (ECE 4420) 4CR
Mathematical modelling of sampling switches. Z-transforms. Response and stability of
systems involving sampling. Design of digital compensators. Prerequisites: ECE 4830 and
ECE 4150.
Simulation and Modelling (ECE 4520) 4CR
Monte Carlo Methods, random processes, simulation of complex systems in the design of
computer systems. Use of statistical interference and measures of performance in
hardware and software systems. Prerequisites: STAT 2220 and COMP 2140.
COMPUTER ENGINEERING
SECOND YEAR COURSE DESCRIPTIONS
Engineering Communications (ENG 2030) 3CR
Students work in a team-based environment to produce deliverables comparable to the
engineering workplace. In-class tutorials focus on the sharpening of individual students'
writing skills through an analytical, problem-solving and critical thinking approach.
Students are exposed to a variety of communicative scenarios and emphasis is placed on
development of a repertoire of skills necessary for effective communication in the
engineering profession. Prerequisites: (ENGL 1200 or ENGL 1300 or ENGL 1310 or ENGL
1340 or ENGL 1400) and ENG 1430.
Difficulty: 3
Workload: 5
Tips: Make sure to get started on your final report early to allow lots of time for editing.
Wear business clothes for all presentations. Try to keep up with entries in your journal.
Engineering Communications (ENG 2040) 3CR
This team-based course focuses on a rhetorical approach, communication strategies and
guided practice in the design of engineering communications. Prerequisites: (ENGL 1200 or
ENGL 1300 or ENGL 1310 or ENGL 1340 or ENGL 1400) and ENG 1430.
Difficulty: 3
Workload: 5
Tips: Make sure to get started on your final report early to allow lots of time for editing.
Wear business clothes for all presentations. Try to keep up with entries in your journal.
Engineering Mathematical Analysis 1 (MATH 2130) 3CR
Multivariable differential and integral calculus up to and including multiple integrals in
cylindrical and spherical coordinates. For Engineering and Geophysics students
only.Prerequisites: MATH 1210 or MATH 1211 and MATH 1710.
Difficulty: 3
Workload: 3
Tips: Make sure to review your notes from Calculus 2 before starting this class. The
textbook has lots of practice problems, which are a great way to prepare for the tests. Make
an effort to attend the tutorials, as the professors will go through practice problems.
Engineering Mathematical Analysis 2 (MATH 2132) 3CR
(Lab required) Infinite series, Taylor and Maclaurin Series; ordinary differential equations
including Laplace transforms. For Engineering and Geophysics students only. MATH 1210
and MATH 1710 are prerequisites.
Difficulty: 4
Workload: 3
Tips: The best way to prepare for your midterms and final is to do lots of practice problems
in the textbook. The tutorials are taught by the professor, so they are a great opportunity to
go through additional practice problems and ask your questions.
Electric Circuits (ECE 2262) 4CR
The application of circuit concepts; network theorems and formal methods, steady state
analysis, frequency and transient response, application of the Laplace transform in the
analysis of linear time-invariant networks. Prerequisite: ENG 1450. Pre- or Corequisite:
MATH 2132
Difficulty: 3.5 Workload: 3.5
Tips: Review your notes from ENG 1450. Practicing old exams and doing textbook problems
are excellent ways to prepare for the midterm.
Digital Logic Systems (ECE 2220) 5CR
Boolean algebra and logic primitives, net-work simplification techniques, physical
realizations, number systems and codes; analysis and design of asynchronous and
synchronous sequential circuits; applications to computation, measurements, and control.
Prerequisite ENG 1450
Difficulty: 3 Workload: 4
Tips: This course includes an open ended design project. Get started on it early to allow
plenty of time for debugging. The TA’s and Professors like to see creativity on the design
project. The textbook for this course is very expensive but is an excellent source of practice
problems, so it is worth the investment.
Computer Science 2 (COMP 1020) 3CR
More features of a procedural language, elements of programming. Not to be held with
COMP 1021. Prerequisite: COMP 1010 or COMP 1011; or COMP 1012, COMP 1013 (C) or
High School Computer Science 40S (75%) and any grade 12 or 40S Mathematics, or
equivalent.
Modern Physics for Engineers (PHYS 2152) 3CR
(Lab Required) An overview of topics in modern physics including wave particle duality,
atomic structure and quantum mechanics. Elementary classical electromagnetic theory and
wave theory are reviewed as an introduction to the modern physics concepts. For
Engineering students only. Not to be held with PHYS 1070 or PHYS 1071. Prerequisites: a
“C” or better in one of PHYS 1050, and a “C” or better in MATH 1510; and a ”C” or better in
MATH 1710, or MATH 1690.
Prerequisite or concurrent requirement: MATH 2130.
Difficulty: 3
Workload: 2
Tips: The midterm and final are both multiple choice. Practicing old exams (which are
available in your lab manual) is an excellent way to prepare. Lab reports have to be handed
in by the end of the lab section, so make sure to come prepared.
Engineering Mathematical Analysis 3 (MATH 3132) 3CR
Vector integral calculus; series of ordinary differential equations; Fourier series and Partial
differential equations. MATH 2130 and MATH 2132 are prerequisites.
Difficulty: 4
Workload: 3
Tips: Review your notes from Math 1 and 2 before starting this course. The textbook is an
excellent source of practice problems for the midterm and final.
Electronics 2E (ECE 2160) 5CR
Characteristics of integrated circuits and transistors; design of DC and AC amplifiers in the
steady state. Prerequisite: ECE 2262.
Difficulty: 3.5 Workload: 3.5
Tips: This course includes a design project. It is important to get started early to allow
yourself plenty of time to work on your simulation, and then perform physical testing. Keep
in mind that the actual behaviour of your circuit will be different than the simulation. Each
semester an engineer in residence will be assisting with the design project. Ask lots of
questions and consult them if you encounter problems with the design process.
Microprocessing Systems (ECE 3610) 4CR
Fundamentals of microprocessors and microcomputers; data flow; machine programming;
architectures and instructions sets; stacks, subroutines, I/0, and interrupts; interfacing
fundamentals; designing with microprocessors. Prerequisite: ECE 2220
Difficulty: 3
Workload: 4
Tips: The labs for this course require students to code in assembly language. Make sure to
prepare before the labs so that you are able to finish on time. Old midterms should be
available on the course website and are an excellent way to prepare for the term tests.
Data Structures and Algorithms (COMP 2140) 3CR
Introduction to the representation and manipulation of data structures. Topics will include
lists, stacks, queues, trees, and graphs. Not to be held with COMP 2061. Prerequisites: one of
COMP 1020, COMP 1021.
Engineering Algorithms (ECE 3790) 4CR
Numerical algorithms, optimization, statistical description of data random number
generation, string processing, geometric algorithms, algorithm machines, dynamic
programming and NP complete problems. Pre- or Corequisite: Comp 2140 and Math 3132.
-
THIRD YEAR COURSE DESCRIPTIONS
Computer Engineering
Statistics for Engineers (STAT 2220) 3CR
Descriptive statistics, basic probability concepts, special statistical distributions, statistical
inference-estimation and hypothesis testing, regression, reliability, statistical process
control. Prerequisite: MATH 1710.
Difficulty: 2
Workload: 2
Tips: Make sure to memorize all the equations you will need for the tests, as you will not be
given a formula sheet. Practicing old exams is a great way to prepare for the midterm and
final.
Applied Discrete Mathematics (MATH 3120) 3CR
Sets, groups, graphs, and Boolean algebra. For Engineering students only. Not to be held
with COMP 2130. Prerequisites: ECE 2220 (C) and MATH 2130 (C).
Signal Processing 1 (ECE 3780) 4CR
Introduction to signals and systems; spectral analysis (Fourier Series) of continuous-time
periodic signals; spectral analysis of aperiodic signals (Fourier Transform); the impulse
response and convolution operator; frequency analysis of linear time-invariant systems;
applications to filtering, communications systems, and biological systems; A/D conversion;
sampling. Laboratory periods will be used to give students hands-on experience in
programming many of the techniques covered in the theoretical parts of the course.
Prerequisites: ECE 2262 or ECE 2260 and MATH 3132 or MATH 3100.
Difficulty: 5
Workload: 3
Tips: Ensure that you are comfortable with the concepts covered in math 2 and 3 before
starting ECE 3780. The textbook has a lot of sample problems, which are a good way to
prepare for the tests and quizzes. The labs are a great way to deepen your understanding of
the concepts covered in class.
Microprocessor Interfacing (ECE 4240) 4CR
Interfacing of microcomputers to the external world: interfacing of I/0 devices with
minimum hardware and software; data acquisition with and without microprocessors; data
communication, transmission and logging with small computers. Prerequisite: ECE 2160
and ECE 3610.
Systems Engineering Principles 1 (ECE 3740) 4CR
Complexity and other system measures and analysis, system architectures and architectural
elements for embedded systems, hardware and software, incremental design elaboration.
Coding, testing, debugging, verification and validation. Project planning, cost analysis and
maintenance. Real-time systems, graphical user interfaces and computational models.
Prerequisite: COMP 2140.
Communication Systems (ECE 4260) 4CR
Development and applications of random processes. Analysis and comparison of
modulation schemes: AM, FM, PM, PCM. Prerequisites: ECE 3780, and STAT 2220
Difficulty: 3
Workload: 2
Tips: Review your notes from Signal Processing before starting this course. The labs are
very long so come prepared. The labs also introduce you to a lot of new equipment (such as
the spectrum analyzer) so make sure to ask the TA’s if you are struggling with using the
equipment.
Signal Processing 2 (ECE 4830) 4CR
Representation of discrete-time signals and systems in the time and frequency domains; the
z-transform; application to various discrete-time linear time-invariant systems; design of
digital filters. Laboratory periods will be used to give students hands-on experience in
programming many of the techniques covered in the theoretical parts of the course.
Prerequisite: ECE 3780.
Difficulty: 4
Workload: 3
Ecology, Technology and Society (ANTH 2430) 3CR
Ecological analysis of the interplay of socio-political and technological processes in different
types of societies. Focus upon the ecological side-effects and selected technologies,
economic mechanisms and political institutions.
Difficulty: 2
Workload: 2
Tips: This course requires students to write several essays. If you send a draft of your essay
to the TA, they will be able to give you comments and feedback before the final paper is due.
Digital Systems Design 1 (ECE 3760) 4CR
Design methodologies for the development of digital hardware, including system
specification, component allocation, functional partitioning, specification refinement,
implementation, verification, and testing. Hardware-software co-design. Prerequisite: ECE
4240.
-
Introduction to Operating Systems (COMP 3430) 3CR
Operating systems, their design, implementation, and usage. Prerequisites: one of COMP
2140 (or COMP 2061)(C); and COMP 2280 (C) or ECE 3610 (C). COMP 2160 is
recommended.
Telecomm. Network Engineering (ECE 3700) 4CR
This course will introduce modem concepts in telecommunications, including LANs, WANs,
telephone networks, wireless and mobile networks, and Internet networks. Focus will be on
design engineering, and management of networks, and on network programming for client
server architectures. Prerequisite: COMP 2140.
Difficulty: 3.5 Workload: 3.5
FOURTH YEAR COURSE DESCRIPTIONS
Computer Engineering
Control Systems (ECE 4150) 4CR
Principal methods of analysis and design for feedback control systems. Prerequisite: ECE
2160 and ECE 3780.
Group Design Project (ECE 4600) 6CR
The engineering curriculum must culminate in a significant design experience which is
based on the knowledge and skills acquired in earlier course work and which gives students
an exposure to the concepts of teamwork and project management. Prerequisites: [ENG
2030 or ENG 2040] and ECE 3780 and [(ECE 3580, ECE 3720, ECE 3670 and ECE 3610) or
(ECE 3700, ECE 3760 and ECE 3740)].
Engineering Economics (CIVL 4050) 3CR
Introduction to engineering economics. Time value of money and discounted cash flow
calculations. Comparing alternatives. Replacement analysis and life-cycle costing. Public
sector engineering economy studies. Private sector engineering economy studies. Before
and after-tax analysis. Applications in cost-estimating. Applications in asset management
systems. Basic accounting. Accommodating capital limitations. Dealing with inflation.
Dealing with risk and uncertainty. STAT 2220 is a prerequisite.
Difficulty: 3
Workload: 3
TECHNICAL ELECTIVE COURSE DESCRIPTIONS
Computer Engineering
Five (5) technical electives are required.
*Note: A maximum of two (2) Electrical Engineering technical electives may be
taken as part of the Computer Engineering Program.
*Advanced Circuit Analysis and Design (ECE 3540) 4CR
Application of the Laplace Transform in the analysis of linear time-invariant networks,
poles, zeros and frequency response; natural frequencies; general network theorems; two
ports; energy and passivity; transmission lines; time and frequency domain. Prerequisite:
ECE 2262, MATH 3132.
Difficulty: 4
Workload: 4
Tips: Review the concepts from the first circuits course before starting this class. The
assignments for this course are very lengthy. Try to use matlab to help you complete the
assignments more efficiently.
*Foundations of Electromagnetics (ECE 3580) 4CR
Fundamental laws of field theory; Maxwell's equations in integral and point form. This
course introduces students to electrostatics, magnetostatics and basics of electromagnetics.
Prerequisite: ECE 2240, PHYS 2152, and MATH 3132.
Difficulty: 5
Workload: 4
Tips: The labs in this course are completed on Matlab. Make sure to review Matlab before
the first lab, to ensure that you will be able to finish on time. In the past, this course has
included 5 quizzes. Spend some time practicing the old quizzes and reviewing the concepts
covered in class to prepare for them. There may also be a tutorial session each week. The
tutorial is an excellent chance to practice additional problems and to get your questions
answered. Old midterms are a good tool to prepare for the midterm and final, but make sure
to review the course notes as well, as it is likely that your exams will include types of
questions that are not on any of the old tests.
*Physical Electronics (ECE 3600) 4CR
Basic solid state theory; properties of semi-conductors; principles of metal-semiconductor
junctions, p-n junctions and transistors; optoelectronic processes. Prerequisites: PHYS
2152, MATH 3132, ECE 3670.
Difficulty: 5
Workload: 4
Tips: This course introduces a lot of new and complex concepts. Make sure to keep up with
your studying and practice problems throughout the semester.
*Electronics 3E (ECE 3670) 4CR
Continuation of ECE 2160, including device models, feedback, regulators, frequency effects,
oscillators, and bistability and gates. This course is design based. Prerequisite: ECE 2160
Difficulty: 4 Workload: 5
Tips: The majority of the exam problems in this class are design based. When you are
preparing for exams, you can test your solutions by building your design on multisim and
comparing the simulated output to the design requirements.
*Electric Power and Machines (ECE 3720) 4CR
Principles and applications of electric power, energy conversion and machines.
Prerequisite: ECE 2262 or ENG 1180.
Difficulty: 3
Workload: 3
Tips: The textbook is an excellent source of sample problems that will help you prepare for
the midterm and final. Try to complete the calculation portion of the labs before your lab
section. This will allow you to compare your measured values to the theoretical values to
ensure that you are building your circuits and taking the measurements properly.
*Introduction to Microelectronic Fabrication (ECE 4100) 4CR
Introduction to the fabrication of integrated circuits (ICs). Emphasis is on silicon based
devices. Topics include water preparation, oxidation, thin film deposition, diffusion and ion
implantation, lithography, wet and dry etching and metallization. An introduction to MEMS
and micromachining technology is given. Prerequisite: ECE 3670.
Difficulty: 3
Workload: 3
*Control Systems (ECE 4150) 4CR
Principal methods of analysis and design for feedback control systems. Prerequisite: ECE
2160 and ECE 3780.
*Control Engineering (ECE 4160) 4CR
Design of control systems by frequency domain and root locus method; state equations;
introduction to nonlinear analysis. Prerequisite: ECE 4150.
Introduction to Robotics (ECE 4180) 4CR
This course provides fundamental concepts of robotics, including robot classification and
applications, robot kinematics, sensor and actuators, sensor interfacing, motor control,
trajectory planning, and robot programming. Prerequisites: ECE 4150 and (ECE 4240 or
ECE 3730).
Difficulty: 3
Workload: 2.5
Digital Communications (ECE 4250) 4Cr
Transmission of digital data; error rates, interference. Information measures, information
rate and channel capacity. Coding. Prerequisite: ECE 4260 and ECE 3780.
*Communication Systems (ECE 4260) 4CR
Development and applications of random processes. Analysis and comparison of
modulation schemes: AM, FM, PM, PCM. Prerequisites: ECE 3780, and STAT 2220
Difficulty: 3
Workload: 2
Tips: Review your notes from Signal Processing before starting this course. The labs are
very long so come prepared. The labs also introduce you to a lot of new equipment (such as
the spectrum analyzer) so make sure to ask the TA’s if you are struggling with using the
equipment.
*Engineering Computation 4E (ECE 4390) 4CR
Development and application of numerical methods for the solution of electrical and
computer engineering problems. Optimization techniques. Finite difference, finite element
and boundary element methods. Solution of large systems of linear and non-linear
equations. Prerequisite: MATH 3132, ECE 2240.
Computer Vision (ECE 4440) 4CR
Image formation and sensing, image compression degradation and restoration, geometrical
and topological properties, pattern classification, segmentation procedures, line-drawing
images, texture analysis, 3-D image processing. Prerequisite: ECE 3780.
Parallel Processing (ECE 4530) 4CR
Classification of parallel processors, SIMD vs. MIMD, multiprocessing Vs parallel processing,
interconnection topology, communications, and node complexity, pipelining and vector
processors, array algorithmic machines. Prerequisites: COMP 2140 and ECE 3760.
Wireless Networks (ECE 4540) 4CR
Introduction to wireless communications systems, network architectures, protocols and
applications. Topics include mobile computing systems, signals propagation, channel
modelling, modulation, and networking standards. Prerequisite: ECE 3700 and ECE 3780.
*Biomedical Instrumentation and Signal Processing (ECE 4610) 4CR
Introduction to biological systems and application of engineering principles to medical
problems. Students design systems to acquire and analyze biological signals in the
laboratory. Content includes introduction to relevant physiology and anatomy of cells,
skeletal muscles, heart and cardiovascular systems, human balance and biomechanics,
recording and analyzing amplifiers for signal conditioning, medical instrumentation safety
and health hazards. Prerequisites: ECE 2160 and ECE 3780.
Digital System Implementation (ECE 4740) 4CR
Implementation methodologies and technologies for digital systems, including VLSI
implementations, PCB implementations, and rapid prototyping (FPGA). Prerequisite: ECE
4240. Not to be held with ECE 4500.
(T01) Modern Computing Systems (ECE 4850) 4CR
Prerequisite: ECE 3610.
(T02) Applied Computational Intelligence (ECE 4850) 4CR
Prerequisite: MATH 3132.
(T01) Random Signals and Processes (ECE 4860) 4CR
Prerequisite: STAT 2220, ECE 3780.
(T02) Biomedical Signal Processing (ECE 4860) 4CR
Prerequisite: Permission of the Instructor.
Object Orientation (COMP 2150) 3CR
Design and development of object-oriented software. Topics will include inheritance,
polymorphism, data abstraction and encapsulation. Examples will be drawn from several
programming languages. Prerequisite: COMP 2160; and one of COMP 2140, or COMP
2061(C).
Programming Practices (COMPT 2160) 3CR
Introduction to issues involved in real-world computing. Topics will include memory
management, debugging, compilation, performance, and good programming practices.
Prerequisite: COMP 1020 or COMP 1021 (C).
Distributed Computing (COMP 3010) 3CR
An introduction to the development of client server and peer-to-peer systems through web
applications, distributed programming models, and distributed algorithms. Prerequisite:
COMP 2150 (C).
Human-Computer Interaction 1 (COMP 3020) 3CR
Human-computer interaction: human factors and usability, user-centered design,
prototyping, usability evaluation. Prerequisite: one of COMP 2140, or COMP 2061 (C). A
course in cognitive psychology, such as PSYC 2480, is recommended.
Introduction to Artificial Intelligence (COMP 3190) 3CR
Principles of artificial intelligence: problem solving, knowledge representation and
manipulation; the application of these principles to the solution of 'hard' problems.
Prerequisite: one of COMP 2140, or COMP 2061(C).
Introduction to Compiler Construction (COMP 3290) 3CR
Introduction to the standard compiler phases: scanning, parsing, symbol-table
management, code generation, and code optimization. The emphasis is on the simpler
techniques for compiler construction such as recursive descent. Prerequisites: COMP 2140
(or COMP 2061)(C) and COMP 2280 (or ECE 3610)(C). COMP 2160 is recommended.
Software Engineering 1 (COMP 3350) 3CR
Introduction to software engineering. Software life cycle models, system and software
requirements analysis, specifications, software design, testing and maintenance, software
quality. Prerequisites: COMP 2150 (C), or COMP 2061 (C).
Database Concepts and Usage (COMP 3380) 3CR
An introduction to database systems including the relational, hierarchical, network and
entity-relationship models with emphasis on the relational model and SQL. Prerequisite:
one of COMP 2140, or COMP 2061(C).
Computer Graphics 1 (COMP 3490) 3CR
An introductory course in computer graphics including topics such as raster graphics, two
and three dimensional transforms, and simple rendering. Prerequisite: COMP 2140 (C); and
either COMP 2190 (C), or a C in both: MATH 1300 (or MATH 1220, MATH 1310, MATH
1301, MATH 1210 or MATH 1211) and MATH 1500 (or MATH 1230, MATH 1501, MATH
1510 or MATH 1520).
Human-Computer Interaction 2 (COMP 4020) 3CR
Advanced issues in the field of human-computer interaction. Topics will be selected from
current research and development issues in the field of HCI. Prerequisite: COMP 3020 (C). A
course in cognitive psychology such as PSYC 2480 is recommended.
Introduction to Cryptography and Cryptosystems (COMP 4140) 3CR
Description and analysis of cryptographic methods used in the authentication and
protection of data. Classical cryptosystems and cryptoanalysis, the Advanced Data
Encryption Standard (ADES) and Public-key cryptosystems. Prerequisite: COMP 2130 (C).
Students must be registered in fourth year of a Major or Honours programme in the
Department of Computer Science.
Artificial Intelligence (COMP 4190) 3CR
Reasoning with temporal knowledge; causal reasoning; plausible reasoning; nonmonotonic
reasoning; abductive reasoning. Prerequisite: COMP 3190 (C).
Software Engineering 2 (COMP 4350) 3CR
Advanced treatment of software development methods. Topics will be selected from
requirements gathering, design methodologies, prototyping, software verification and
validation. Prerequisite: COMP 3350(C).
Machine Learning (COMP 4360) 3CR
Learning strategies; evaluation of learning; learning in symbolic systems; neural networks,
genetic algorithms. Prerequisite: COMP 3190(C).
Database Implementation (COMP 4380) 3CR
Implementation of modern database systems including query modification/optimization,
recovery, concurrency, integrity, and distribution. Prerequisite: COMP 3380 (C).
Operating Systems 2 (COMP 4430) 3CR
Design and implementation of modern operating systems. Detailed analysis of an open
source modern operating system and hands-on experience with its kernel and major
components. Prerequisites: COMP 2160(C) and COMP 3430(C).
Computer Graphics 2 (COMP 4490) 3CR
Methods in computer graphics including topics such as representation of curves and
surfaces, viewing in three dimensions, and colour models. Prerequisite: COMP 3490 (C).
Computer Security (COMP 4580) 3CR
Computer security and information management. This course will examine state-of-the-art
knowledge about the issues relevant to data and computer security. Prerequisite: COMP
3430 (C) and COMP 3010 (C).
Introduction to Data Mining (COMP 4710) 3CR
Introduction to data mining concepts and their applications. Prerequisite: COMP 3380 or
consent of department.
ELECTIVE COURSES NOT OFFERED IN 2016-2017
Digital Systems Design 2 (ECE 3770) 4CR
Executable system specification and a methodology for system partitioning and refinement
into system-level components. Models and architectures, specification languages,
translation to an HDL, system partitioning, design quality estimation, specification
refinement into synthesizable models. Prerequisite: ECE 4240 and MATH 3120.
Power Transmission Lines (ECE 4140) 4CR
AC and DC transmission line corona and its environmental effects. Electric field calculations;
design methods to reduce electric field. Electrostatic and electromagnetic effects. Insulation
design for power frequency, switching and lightning induced surges. Insulation
coordination - conventional and probabilistic methods. Power apparatus testing - criteria
and significance. Prerequisite: ECE 3720.
Electronic Filter Design (ECE 4200) 4CR
Realizability theory, approximation of filtering characteristics, ladder networks and
transmission zeros, active RC filter design with regard to sensitivity minimization, phaseshifting and time-delay filters, impulse response of filters, rudiments of digital filters.
Prerequisite: ECE 3540 (or ECE 3530).
Engineering Electromagnetics (ECE 4280) 4CR
Plane, cylindrical and spherical waves, introduction to scattering and diffraction,
waveguides, transmission line applications. Prerequisite: ECE 3590.
Difficulty: 4
Workload: 3.5
Electric Energy Systems 2 (ECE 4310) 4CR
Generating stations. Power system stability and optimal operation. EHV-ac and HVDC
power transmission. Power system protective relaying and reliability evaluation.
Prerequisite: ECE 4300.
Difficulty: 3
Workload: 3
Digital Control (ECE 4420) 4CR
Mathematical modelling of sampling switches. Z-transforms. Response and stability of
systems involving sampling. Design of digital compensators. Prerequisites: ECE 4830 and
ECE 4150.
Simulation and Modelling (ECE 4520) 4CR
Monte Carlo Methods, random processes, simulation of complex systems in the design of
computer systems. Use of statistical interference and measures of performance in
hardware and software systems. Prerequisites: STAT 2220 and COMP 2140.
Download