Computer Engineering

Computer Engineering focuses on the design of hardware and software that jointly comprise computer systems. While some schools offer specialized computer engineering degrees, the HMC philosophy is to provide broader training at the undergraduate level. HMC students with interests in computer engineering can major either in engineering or in computer science. Both majors offer students strong foundational preparation to work in industry or pursue graduate studies in computer engineering.

One option is to major in computer science and take some elective courses in engineering. The Department of Engineering offers a number of excellent courses related to computer engineering and these courses may be used to satisfy the elective requirements in the Computer Science major.

Many CS majors who are interested in hardware take E85/E85A, E155, and/or E158.

E85 covers digital design and computer architecture. The first half of the course focuses on digital design including combinational and sequential logic design and Verilog. The second half covers assembly language programming and microarchitecture. Engineering 85 - and particularly the second half of that course - has some overlap with CS60 and CS105. it is therefore possible to take just the first half of E85 under the course number E85A.

E155, offered each fall, is the embedded systems laboratory. Students learn to program FPGAs and microcontrollers using Verilog, assembly language, and C. For a final project, students utilize this knowledge to build a real system. E155 has a prerequisite of E85, or CS60 and E85A. Some CS majors who have taken CS105 choose to take E155 without E85A. This requires faculty approval and some self study of Verilog and combinational and sequential logic design.

E158, offered each spring, is the integrated circuit design course. Students learn to design and build their own chips. This course has a prerequisite of E84 and E85A. The critical parts of E84 are familiarity with transistors and the ability to analyze RC circuits. Historically, CS majors who are willing to do a little extra reading to catch up can take the course without the E84 prereq.