Computer Engineering (ECE)
The Discipline and the Major
Computer engineering is a discipline that combines fundamentals from both electrical engineering and computer science. Computer engineers must understand the many different aspects of a computer, ranging from the physics of its low-level components to the computer software that controls its high-level operations.
Computer Engineering majors are required to take courses in computer engineering fundamentals including AC and DC circuit analysis, digital logic systems, electronics and electromechanics, signals and systems, data structures, programming, computer architecture, design of microprocessor-based systems, and computer networking. Computer engineering students will have the opportunity to take electives in embedded systems, computer operating systems, mobile OS development, database systems, microcomputer interfacing, superscalar processor design, VLSI design, advanced computer architecture, computer hardware security, compilers, wireless networks, digital signal processing, computer graphics, biometric signal processing, computer vision, and various machine learning electives.
The capstone senior design laboratory sequence integrates the many skills acquired in preparatory courses so that students can design, implement, test, and demonstrate a significant project. Two midshipmen per year are awarded the Hamming Prize for innovative work in the computer engineering design laboratory course sequences.
A number of our students participate in summer internships, have been able to complete language minors, and we work with our majors to facilitate foreign and service academy exchanges. There are many benefits for a computer engineer inside and outside the Navy. The Navy needs officers trained in computer engineering to lead in the development, integration, and security of advanced computer-based systems. This is demonstrated by the recent growth of the Navy IW and Marine Cyber communities. Our computer engineers are uniquely prepared to serve in these roles because they fundamentally learn how to build and secure a computer. Our students’ education also prepares them well for any number of technical positions in the civilian world after they leave the Navy. There is currently a shortage of computer engineers in this country and around the world. The major also provides an excellent fundamental background and foundation for continued, more specialized study at the Naval Postgraduate School or any other graduate-level academic institution.
Considerations for those who might be interested in this major
Computer engineering is a good major for someone who enjoys problem solving, who did well with science and math courses in high school, and who is interested in technology. Computer engineering majors apply classroom concepts in the laboratory throughout the program. In fact, the majority of student learning will take place in the laboratory. The department uses a two-pronged strategy to emphasize skills needed by computer engineering majors: (a) individual learning at lab stations to ensure thorough understanding of required skills and (b) team efforts in solving design problems. Labs are regularly updated with leading-edge technology.