A computer engineering curriculum prepares a student for various positions in computer hardware design, software design and network engineering. The curriculum typically involves groups of courses that focus on general education classes, advanced mathematics and science courses, and electrical and computer engineering courses. Most schools require some kind of final requirement that usually comes in the form of an internship, thesis or final project. The student will also get to take several elective courses that interest him or her, but they do not have to relate to computer engineering.
The first part of a computer engineering curriculum involves general education and elective courses. Each school sets a specific requirement for the number and type of general education courses one must take. Some of these courses prepare the student for more advanced math and science courses, but the advanced math and science courses might also be a part of the general education requirements. Other classes include languages, the social sciences, writing, computer classes, philosophy and other science courses. The student will also need to take elective courses of his or her choice and might take additional courses in the general education areas or courses in an unrelated professional field.
Math and science courses form the foundation of a computer engineering curriculum and typically include physics, calculus, discrete structures, chemistry and differential equations. The math portion of the degree is critical for understanding and doing well in the technical courses involved with engineering, so the curriculum usually requires more than one course in each area. The advanced science courses usually require laboratory work so the student can get practical experience in the field.
Engineering courses make up a large portion of the computer engineering curriculum and cover electric circuits, logic design, digital electronics, computer design, system theory, computer programming and operating systems. The various courses educate the student in computer science, hardware design and network design and teach the student about how the internal structures of a computer work together. Many of the courses involve a significant amount of lab work and projects, and some theoretical courses might require a separate lab course. After the student takes all of the courses in computer and electrical engineering, he or she usually does an internship or a final project that can be an individual work or a group project. Some schools require both an internship and a final project to graduate from the program.