Department of Electrical and Computer Engineering
Faculty of Engineering
Undergraduate Courses
Some Faculty of Engineering courses are only open to students in the faculty or in specific programs. Courses and applicable restrictions are listed at www.uvic.ca/engineering/courseaccess.php
Courses offered by the Faculty of Engineering are also found under the following course codes: BME (Biomedical Engineering), CSC (Computer Science), ELEC (Electrical Engineering), ENGR (Engineering), MECH (Mechanical Engineering) and SENG (Software Engineering).
CENG 241 Units: 1.5 Schedule
Formerly: 290
Digital Design
Boolean algebra, canonical expressions, logic gates and their physical realization. Fan-in and fan-out, timing, rise and fall times, delay. Combinational circuits minimization (Karnaugh map, Quine-McCluskey, Tools-Expresso, others). Standard circuits-adders, multiplexers, demultiplexers, etc. Memory elements, flip-flops. State transition diagrams, Mealy-Moore finite state machines. State assignment and machine realization, counters. Introduction to Verilog and its use to design combinational and sequential circuits. Advanced topics to include design with PLDs, PLAs, FPGAs.
Note: Credit will be granted for only one of 241, 290.
Prerequisites: Second-year standing.
CENG 242 Units: 1.5 Schedule
Discrete Structures in Engineering
Introduction to the use of recurrence relations and generating functions in engineering problems. Engineering modeling with graphs. Graph representation and traversal techniques, and their computational complexity. Use of branch-and-bound, divide-and-conquer, greedy, network flow, dynamic programming, approximation, and heuristic algorithms in Electrical and Computer Engineering applications.
Note: May not be counted for credit towards a Computer Science degree.
Prerequisites: MATH 101 and 110.
CENG 420 Units: 1.5 Schedule
Formerly: 490
Artificial Intelligence
Philosophy of artificial intelligence. AI programs and languages, representations and descriptions, exploiting constraints. Rule-based and heuristic systems. Applications to engineering.
Note: Credit will be granted for only one of 420, 490. Credit will not be granted for both 420 and CSC 421 without permission of the Chair or Director responsible for the student's degree program.
Prerequisites: Fourth-year standing in the Faculty.
CENG 441 Units: 1.5 Schedule
Design of Digital and VLSI Systems
Advanced combinational and sequential logic design. Optimization of finite state machines; timing methodologies and synchronization issues. Hardware description languages (HDL): structural and behavioural descriptions, simulation and testbenches, coding styles, design with HDL and FPGA implementation. Design for test: testing concepts, scan-based design and built-in self-test (BIST). Design for high speed: timing analysis, pipelining and retiming. Design for low power: sources of power dissipation, design transformations.
Note: Credit will be granted for only one of 441, 440, or 441, 465.
Prerequisites: 241 or 290.
CENG 453 Units: 1.5 Schedule
Parallel and Cluster Computing
Overview of massively parallel and cluster computers. Processing models (shared memory versus message passing). Processes and threads. Standard algorithms utilizing parallelism. Matrix and vector operations, N-body problems, collective communications. Parallel application environments MPI and OpenMP. Includes significant exposure to parallel applications including developing and coding parallel codes.
Prerequisites: Fourth-year standing in the Faculty or permission of the department.
CENG 499 Units: 1.5 Schedule
Formerly: 499A and 499B
Design Project II
A significant technical design project in Computer Engineering completed under the supervision of a faculty member. This design experience is based on the knowledge and skills acquired in earlier course work. Projects may originate from faculty members, students, or external sources. They may have a diverse nature and serve diverse needs. Multi-disciplinary projects are encouraged.
Note: Credit will be granted for only one of 499, 499A, or 499B.
Prerequisites: 399 or MECH 350, and fourth-year standing in the Computer Engineering Program or permission of the department.