Computer Engineering
In this program you’ll learn how software and hardware interact in computers. You’ll learn software design and how to integrate computer systems with the larger world. You’ll study:
- control systems
- high performance supercomputers
- sensor systems
- software for low-energy/high-performance systems
- embedded systems
Potential careers
What can you do with a computer engineering degree? Here are a few jobs that relate to the program:
- biomedical implant controls designer
- computer network designer
- control systems engineer
- cyber-security officer
- data systems engineer
- design engineer
- design validator
- embedded system engineer
- embedded system software engineer
- hardware engineer
- microprocessor designer
- operations manager
- product manager
- program manager
- research engineer
- sensor systems designer
- supercomputing software developer
- systems designer
- wireless network systems engineer
Some of these roles may require post-graduate ³Ô¹ÏÍø or training.
Find a career that fits you
- Explore your career options at an appointment with a career educator.
- Attend career development workshops as you search for work.
- Enrol in the Your Career Starts Here course to generate career ideas and plan your next steps.
Experience & connections
Opportunities in the computer engineering program
- With the Co-op Program you can alternate study with paid work.
Opportunities outside your program
- With a work study position you can develop skills during your study term.
- Volunteering is a great way to give back to your community while you build skills.
Networks you can connect to
Here are a few professional associations related to computer engineering:
Hands-on learning opportunities
These courses in the computer engineering program offer extensive hands-on learning.
Co-op
Co-op work terms
Alternate academic study with paid work terms to gain workplace experience
Creative or design project
ECE 299 - Introduction to Electrical and Computer Engineering Design
Gain experience with the tools used in electrical and computer engineering design
ECE 399 - Design Project I
Engage in real-world, team-based projects proposed by external clients
ECE 441 - Design of Digital and VLSI Systems
Learn about advanced combinational and sequential logic design through a design project
ECE 449 - Computer Systems and Architecture
Design and use a processor based on the specification of a simple instruction set
ECE 455 - Real Time Computer Systems Design Project
Complete a project involving real-time design and implementation
ECE 498 - Honours Thesis
Do a major engineering design and research project
ECE 499 - Design Project II
Do a technical design project
ENGR 110 - Design and Communication I
Work on practical projects and engage with industry experts
ENGR 120 - Design and Communication II
Work on practical projects and engage with industry experts
MECH 458 – Mechatronics
Design a mechatronics system, such as a conveyor belt system
SENG 440 - Embedded Systems
Program and design an application-specific instruction-set processor
Professional and technical skill development
ECE 299 - Introduction to Electrical and Computer Engineering Design
Gain experience with the tools used in electrical and computer engineering design
ENGR 110 - Design and Communication I
ENGR 120 - Design and Communication II
Develop writing and presentation skills
ENGR 130 - Introduction to Professional Practice
Gain skills like résumé writing and career development
Research project
ECE 498 - Honours Thesis
Research, write and orally defend a graduating honours design or research project
MECH 458 – Mechatronics
Design mechanical, electrical and software components of a mechatronic system
These courses are not always offered as described.
What you'll learn
Every student at UVic builds skills all employers look for. At UVic Co-op & Career we call these "competencies". This is what you’ll learn in the computer engineering program.
Professional practice
- focus on the safety, health and welfare of the public
- focus on environmental protection
- promote health and safety in the workplace
- take on professional assignments only when qualified
- maintain confidentiality and avoid conflicts of interest
- keep informed to maintain competence
- act with fairness, courtesy and good faith toward clients, colleagues and others
- extend public knowledge and appreciation of engineering
Reliability, safety and failure analysis
- understand quality assurance standards and testing procedures
- ensure that systems or components perform their required functions
- maintain a current knowledge of safety standards
- understand the consequences of failure and reduce their impact
- establish the mean time between failures when assessing reliability
Design
- gather full requirements for a project
- understand the client’s needs
- model a solution using the appropriate tools
- communicate the design process to the client
- use designs that are safe and effective
- understand how a design integrates into its environment
Engineering tools
- design equipment and systems using a variety of software packages
- simulate mechanical and electronic systems
- analyze systems, equipment and data
- operate mechanical equipment in a lab or workshop
- use electronics and electrical equipment
- develop software and scripts in a variety of environments and languages
- use computer software and systems
- understand and use databases
- research and recommend new tools where existing tools are inadequate
- choose tools based on their strengths and weaknesses
Engineering knowledge
- understand the mathematical fundamentals of engineering
- use the correct statistical methods to analyze and investigate data
- understand the natural sciences for their discipline of engineering
- understand engineering fundamentals
- understand engineering economics
- understand how engineering specifics integrate into a larger project
- study related subjects to help projects’ success
Computer hardware and systems
- use the fundamental components of electronic circuits
- assess the electrical properties of materials
- create test benches to verify design
- understand semiconductor structures
- use differential equations to analyze and design circuits
- read and interprets electrical schematics
- research and develop electronic devices
- use electronic test equipment
Software development, practice and theory
- work within different software development lifecycle stages
- take business, product and process requirements into consideration
- use different software development methodologies
- use process improvement models, such as ISO 9000
- solve software development problems using formal methods
- consider software evolution issues during development
- design and program embedded systems
Control theory and systems
- apply control theory in the design of dynamic systems
- understand feedback control systems
- identify design specifications
- assess system performance
- identify components of a dc servo system and its use in motion control
- use a control system using feedback circuits
- understand processors and microcontrollers
Circuits and electronics
- use the necessary tools to improve system performance
- understand the transfer of information from one system component to another
- compare the performance of similar systems using common metrics
- identify the optimal system for a given problem
- work with different CPU architectures
- use different operating systems
- use different memory management methods
Networks, hardware and communications
- understand layered network architecture
- use different digital communication networks to transmit data
- work with LANs and WANs
- use different network protocols at different layers
- protect networks from unauthorized access
- identify mobile wireless communications techniques and issues affecting multimedia quality of service
- use different types of buses, interrupts, families of processors and instruction sets