Computer Engineering
What are Computer Engineers ?
Computer Engineers are responsible for designing the next generation of electronic devices. This includes creating both hardware and software for millions of different kinds of devices: cell phones, robotics, medical devices, satellites, self-driving cars and more.
This huge demand for Computer Engineers means that our students often have multiple job offers at graduation, and are some of the highest paid graduates at BYU.
The wide breadth of technologies also means you will have the flexibility to choose many different career directions. At graduation, some of our students pursue purely software jobs, while others decide they would prefer a job designing computer chips. Many others decide they enjoy the intersection of hardware and software and find there are endless companies, large and small, looking to hire engineers to design self-driving cars, robotics, wearable electronics and more.
Here are a few of the technologies that Computer Engineers work on:
Programming Computers. Computer Engineers write software for every kind of device:
This huge demand for Computer Engineers means that our students often have multiple job offers at graduation, and are some of the highest paid graduates at BYU.
The wide breadth of technologies also means you will have the flexibility to choose many different career directions. At graduation, some of our students pursue purely software jobs, while others decide they would prefer a job designing computer chips. Many others decide they enjoy the intersection of hardware and software and find there are endless companies, large and small, looking to hire engineers to design self-driving cars, robotics, wearable electronics and more.
Here are a few of the technologies that Computer Engineers work on:
Programming Computers. Computer Engineers write software for every kind of device:
- Mobile Devices (Android and iOS)
- Embedded systems (computers inside devices)
- Desktop and laptop computers
- Cloud servers
- ...and software for just about every other technology you see on this webpage.
- Medical monitoring devices
- Smart watches, fitness trackers, and wearable devices.
- Building and deploying environmental sensors
- Household devices: Smart home systems, televisions, cameras
- Computer chips that power your mobile device (Apple, Samsung, and Qualcomm processors)
- Processors for your computer (Intel, AMD, and ARM processors)
- Custom computer chips for communications (all of the equipment that supports the backbone of the internet)
- Specialized processors for aircraft, satellites, machine learning, and more!
- Self Driving Cars
- Robotic Systems, drones, and autonomous underwater vehicles
- Robotic-assisted surgery devices
- Developing algorithms for mapping and navigation
- Designing AI devices and systems
- Designing new algorithms for image recognition
- Visual inspection automation
- Creating new wireless network protocols (WiFi and mobile)
- Building Internet infrastructure systems
- Designing next-generation modems for mobile devices
What Companies Hire Computer Engineers?
Pretty much every company in the world that develops or uses electronic technology in any way hires computer engineers to design hardware and/or software. Some examples:
- Chip designers: Apple, NVIDIA, Intel, Qualcomm
- Cloud providers: Amazon, Google, Microsoft
- Self driving cars: Waymo, Toyota Research Institute, Argo, Uber
- Robotics: Boston Dynamics, WHOI, MBARI
- Defense Contractors: L3Harris, Raytheon, Lockheed Martin
- Sensor Systems: Velodyne, LUCID Vision Labs, FLIR
- Network infrastructure: Cisco, Ubiquiti
- National Research Labs: Sandia, Los Alomos, Lawrence Livermore
Computer Engineering Faculty
- Brad Hutchings (Configurable Computing Lab)
- Brent Nelson (Configurable Computing Lab)
- D.J. Lee (Robotic Vision Lab)
- Jeff Goeders (Configurable Computing Lab)
- Joshua Mangelson
- Mike Wirthlin (Configurable Computing Lab)
- Phil Lundrigan (NET Lab)
- Scott Lloyd
Computer Engineering Courses
These courses focus on Computer Engineering concepts:
- EC EN 220 - Fundamentals of Digital Systems
- EC EN 323 - Computer Organization
- EC EN 330 - Introduction to Embedded System Programming
- EC EN 390 - Junior Team Design Project
- EC EN 424 - Computer Systems
- EC EN 427 - Embedded Systems
- EC EN 445 - Introduction to Mixed-Signal VLSI
- EC EN 493R - Computer Networking
- EC EN 521 - Introduction to Algorithm Design