The U.S. Naval Academy offers a wide variety of STEM-based majors, including computer engineering. A separate major from computer science, computer engineering is a combination of electrical engineering and computer science. Computer engineering majors will learn about the different aspects of the computer. From the low-level components to the software that runs the high-level operations. Midshipmen will be required to take courses in electrical engineering fundamentals (like AC and DC circuit analysis), signals and systems, data structures, and so much more. Midshipmen will also have the chance to take elective courses covering topics like mobile OS development, database systems, biometric signal process, and other unique and forefront courses. Students will also have a capstone project that integrates all of their skills to develop, implement, and test their project. Every year, two midshipmen are awarded the Hamming Prize for innovative work in computer engineering design. Those who major in computer engineering can also participate in summer internships and in foreign and service academy exchanges. The United States Navy is always in need of officers trained in computer engineering. Graduates from the Academy are prepared for many of the jobs available in the fleet and the fleet Marine force. A degree from the Academy will also prepare students for the civilian world, as it offers a strong fundamental background. Those who are looking to major in Computer Engineering at the Academy will need a strong background in science and math. Students will be expected to work on individual lab work and team lab assignments to solve design problems.