Computer engineering (CE) is a challenging curriculum that prepares graduates to design computer hardware components and expects students to complete coursework in several knowledge areas. CE programs in the United States are regulated by the Accreditation Board for Engineering and Technology (ABET) and generally require basic chemistry and physics, advanced mathematics including calculus and differential equations, and extensive classes in electronics, computer programming and computer system design. Most colleges will also require a few hours in English composition, humanities, social sciences and ethics to round out the curriculum. Some of the coursework will overlap with the related fields of computer science and software engineering.
Students entering a computer engineering program are expected to have a strong foundation in math and science and should be qualified to take calculus-level courses in their first year of college. They should also expect to take introduction to chemistry and physics courses, along with the respective laboratory classes, in their first two years. The English composition requirement is generally completed during the freshman year so the student will be prepared for any writing assignments in his upper-level classes. The humanities and social science electives can be filled at any time, but many students space them out throughout the four-year program to provide a broader academic experience each term.
Mathematics is an important component of computer engineering courses and students will need to take at least three calculus courses and one class covering differential equations. Most colleges will require at least one more math elective on top of this progression, and some may require students to complete matrix theory, probability or discrete mathematics. Students will need to complete these classes to understand the concepts used in higher-level engineering classes.
Computer engineering courses will vary from school to school. Many programs require an introduction to engineering class for all of the students in that department. CE students will also take a few classes to familiarize themselves with the basics of computer science, programming and electronics. Once the students have completed these introductory classes, they should be prepared for the higher-level engineering classes during their junior and senior years.
The third and fourth years of computer engineering courses offer a thorough education in the design and application of computer systems. These years typically include classes on computer architecture, digital design, operating systems and networking. They may also include lab work or a senior design project to give students practical experience in the field. Once a student has completed a CE program, he may enter the workplace or choose to continue taking computer engineering courses in a graduate program.