You're a binary boss in the making if you dream up new hardware, software and systems that make yesterday’s science fiction a dream come true. As computers continue to infiltrate our everyday lives, there’s a need for engineers who understand how technology works and can innovate new applications. Computer engineering integrates several fields of math, electrical engineering and computer science. If cybersecurity, networking, design automation, machine intelligence, computer software or embedded systems rank high on your Google search results, you belong in computer engineering at CMU.
Points of Pride
CMU's undergraduate engineering programs were ranked 86th among the nation's universities that offer bachelor's and master's degrees in engineering by U.S. News & World Report for their 2015 rankings of engineering programs without a doctorate degree.
Put Your Degree to Work
Computer engineering graduates have career opportunities in computer systems design, digital systems, systems analysis, software engineering and data communications.
U.S. Bureau of Labor Statistics sample data
|Job||Median Pay||Job Growth through 2022|
|Software developer||$93,350 per year||22% (222,600 more jobs)|
|Computer hardware engineers||$100,920 per year||7% (6,200 more jobs)|
|Computer programmer||$74,280 per year||8% (28,400 more jobs)|
The course listings below are a representation of what this academic program requires. For a full review of this program in detail please see our official online academic bulletin AND consult with an academic advisor. This listing does not include the General Education courses required for all majors and may not include some program specific information, such as admissions, retention, and termination standards.
(Click on the course name or number for a complete course description.)
Computer Engineering Major
Requirements for the Bachelor of Science in Computer Engineering include 30-42 hours of general education requirements, 37-41 hours of Mathematics and Science, for a minimum total of 130-136 hours for the degree.
Program Educational Objectives for Computer Engineering
Graduates of the computer engineering program shall exhibit excellence in their profession in a diverse range of industries, government agencies, and academic institutions as evidenced by:
- career satisfaction;
- ability to function independently and as members of cross functioning teams;
- gaining sequential promotions to leadership positions;
- professional visibility (e.g., patents, awards, invention disclosures, publications, presentations);
- engagement in entrepreneurial activities;
- matriculation in, and graduation from, high quality graduate programs at the masters or doctoral level;
- exhibiting the highest levels of professional ethics.
Computer Engineering Student Outcomes
By the time of graduation from the Computer Engineering Program, students are expected to have:
1. an ability to apply knowledge of mathematics, science and engineering;
2. an ability to design and conduct experiments, as well as to analyze and interpret data;
3. an ability to design systems, components, or processes to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability;
4. an ability to function in multidisciplinary teams;
5. an ability to identify, formulate and solve engineering problems;
6. an understanding of professional and ethical responsibility;
7. an ability to communicate effectively;
8. the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and social context;
9. a recognition of the need for and an ability to engage in life-long learning;
10. a knowledge of contemporary issues;
11. an ability to use the techniques, skills and modern engineering tools necessary for engineering practice;
12. an ability to apply advanced mathematics, including multivariate calculus, differential equations, linear algebra, complex variables, and discrete mathematics;
13. a knowledge of probability and statistics, including computer engineering applications;
14. a knowledge of basic sciences, computer science, and engineering sciences necessary to analyze and design complex electrical and electronic devices, software, and systems containing hardware and software components.
Total: 66 semester hours
Introduction to Data Structures
Continuation of CPS 180. Dynamic storage allocation, recursion, abstract data types (such as stacks, queues, linked lists, and binary trees), sorting and searching. Prerequisites: CPS 180; Corequisite: MTH 175.
Advanced Data Structures and Algorithms
Theory of and advanced techniques for representation of information; lists, trees, graphs; analysis of algorithms; sorting, searching and hashing techniques. Prerequisites: CPS 181, CPS 210 or EGR 396; MTH 223 or 232.
Introduction to Engineering
A general introduction to engineering with an emphasis on problem solving, engineering tools, engineering design processes, and teamwork. Pre/Co-requisite: One of the following: MTH 130, 132, 133.
Boolean algebra, logic functions, truth tables and Karnaugh maps, combinational circuits, sequential circuits, and finite state machines. Quantitative Reasoning. Prerequisites: One of the following with a grade of C- or better: MTH 130, 132, 133. Pre/Co-requisite: EGR 120.
Circuit Analysis I
Introduction to circuit elements, variables, resistive circuits, circuit analysis techniques, network theorems, inductance and capacitance, sinusoidal steady state analysis and power calculations. Prerequisites: MTH 133 with a grade of C- or better; PHY 145 with a grade of C- or better; permission of E&T advisor; cumulative GPA of 2.5 or higher. Pre/Co-requisite: EGR 120; PHY 146.
Circuit Analysis II
First- and second-order circuits, Laplace circuit analysis, transfer function, step and impulse responses, Fourier series, Fourier transforms, and three-phase circuits. Prerequisite: EGR 290 with a grade of C- or better, permission of E&T advisor; cumulative GPA of 2.5 or higher. Pre/Co-requisite: MTH 232 or MTH 334.
Microelectronic Circuits I
Introduction to diode, bipolar and MOS transistors and their circuit models; analysis and design of bipolar, CMOS and Op-Amp based amplifier circuits. Prerequisites: EGR 290 with a grade of C- or better; permission of E&T advisor; signed engineering major; cumulative GPA of 2.5 or higher.
Computer System Design using HDL
Review of combinational and sequential circuits, digital functional units, micro-operations and register transfers. Memory organization. Datapath and control units. Verilog Hardware Description Language. Prerequisites: EGR 190 with a grade of C- or better; permission of E&T advisor. Pre-requisite/Co-requisite: EGR 396.
Signal and System Theory
Continuous and discrete-time linear systems, time and frequency domain analysis of signals and systems, Laplace, Fourier and z-transforms. Applications to problems in electrical engineering. Prerequisites: EGR 290 with a grade of C- or better; permission of E&T advisor.
Microelectronic Circuits II
Design and analysis of electronics circuits including current mirrors, cascode amplifiers, differential amplifiers, feedback amplifiers, amplifier frequency response, and analog filters. Prerequisites: EGR 298; permission of E&T advisor.
Basic experimentation consistent with the theory in EGR 190, EGR 290 and EGR 292. Use laboratory equipment to investigate electrical and digital circuits. Prerequisites: EGR 190; permission of E&T advisor. Pre/Co- Requisite: EGR 292.
Computer Circuit Simulation
This course reinforces basic circuit analysis principles using computer software and teaches students various computer circuit analysis and design techniques. Prerequisite: permission of E&T advisor. Pre/Co- Requisite: EGR 392.
Introduction to architecture, operation, and application of microprocessor systems and microcontrollers. Prerequisites: CPS 180 or EGR 200; EGR 190 with grade of C- or better; permission of E&T advisor.
Microelectronics and Computer Lab
Laboratory exploration of semiconductor devices, discrete and integrated amplifiers; feedback; microcomputer systems including input/output, assembly language programming and interrupt processing. Prerequisite: permission of E&T advisor. Pre/Co-Requisites: EGR 392, 396.
Digital Integrated Circuit Design with FPGAs
Design and application of digital integrated circuits using programmable logic devices and field programmable gate arrays (FPGAs). Prerequisites: EGR 390; permission of E&T advisor.
Embedded System Design
Introduction to designing microcontroller-based embedded computer systems using assembly and C programs. Examination of real-time operating systems and their impact on performance. Prerequisites: CPS 180 or EGR 200; EGR 398; permission of E&T advisor.
Design and Organization of Computer Hardware Systems
Structural organization and hardware design of digital computers. Processing and control units, arithmetic algorithms, input-output systems and memory systems. Prerequisites: EGR 396; permission of E&T advisor.
Digital Signal Processing
Mathematical description of digital signals and systems via difference equations, discrete Fourier transform and z-transform. Examination of filter design techniques. Prerequisites: EGR 391; permission of E&T advisor.
Introduction to VLSI Systems
CMOS process technologies, logic families, custom, and semi custom design. Design of adders, counters, and arithmetic logic units. System design method and VLSI design tools. Prerequisites: EGR 392; permission of E&T advisor.
Senior Design I
First course in the senior capstone design sequence integrating design methods and engineering techniques in the context of a realistic engineering project. writing intensive. Prerequisites: Senior standing with a passing grade in all required 200 and 300 level EGR courses in a declared engineering major; permission of E&T advisor.
Senior Design II
Second course in the senior capstone design sequence integrating design methods and engineering techniques in the context of a realistic engineering project. Writing Intensive. Must be taken in the semester immediately following EGR 489. Prerequisites: EGR 489; permission of E&T advisor.
Select at least 3 hours from the following engineering courses:
The course will cover free body diagrams and equilibrium of particles and rigid bodies, internal forces in machines, and beams, friction, and application to machines. Prerequisite: MTH 132 with a grade of C- or better; PHY 145 with a grade of C- or better; permission of E&T advisor; cumulative GPA of 2.5 or higher. Pre/Co-Requisite: EGR 120.
Robotics & Automation
An introduction to the theory and application of robotics including robot fundamentals, kinematics, trajectory planning, actuators, sensors, and industrial robot programming. Prerequisites: CPS 180 or EGR 200; EGR 251, 290; MTH 232 or MTH 223, 334; permission of E&T advisor.
Introduction to Electromagnetics
A study of static and time-variant electric and magnetic fields, plane waves, guided waves, transmission line theory, radiation and antennas. Prerequisites: MTH 232 or MTH 223, 334; MTH 233 with a grade of C- or better; PHY 146 with a grade of C- or better; permission of E&T advisor.
Automatic Control Systems
Theory and design of automatic control systems including control system characteristics, system performance analysis, system stability analysis, frequency response analysis, and controller design. Prerequisites: EGR 391; permission of E&T advisor.
Overview of communication systems, Hilbert transform, analog AM/FM (de) modulation, probability and noise in analog communications, A/D conversion, digital pulse and carrier (de)modulation, introductory information theory. Prerequisites: EGR 391; STA 392; permission of E&T advisor.
CMOS Circuit Design
Design and simulation of analog integrated circuits and systems using transistor level differential amplifiers, operational amplifiers, oscillators, and data converters. Prerequisites: EGR 292, 392; or Graduate Student in Engineering; permission of E&T advisor.