Computer Engineering

Undergraduate Program

The computer engineering curriculum is designed to cover the engineering aspects of both hardware and software — a total computer systems perspective. All computer engineering students take courses in the following areas: electrical circuits, electronics, digital circuits, computer architecture ranging from microcomputers to mainframes, interfacing, programming languages ranging from assembler to high level, data structures, analysis of algorithms, operating systems, software engineering, and microcomputer systems. A solid foundation in the basic sciences of physics, chemistry, and mathematics is used to support these courses.

There are two distinct tracks in this curriculum, the Electrical and Computer Engineering Track (ECE) and the Computer Science and Engineering Track (CSE), both culminating in the same computer engineering degree. The tracks are substantially similar, each providing a broad coverage of the computer engineering discipline, but each has a slightly different emphasis. Note that students in either track can take courses from the other as electives, or they can use their electives to further specialize within their own track. Although students are required to select a track immediately upon entering the Computer Engineering Program, it is usually possible to change tracks as late as the junior year.

The ECE track of the computer engineering degree places stronger emphasis on digital Very Large Scale Integrated (VLSI) circuits and systems, microprocessor interfacing and system design, and computer system architecture and design. The track is primarily administered by the Department of Electrical and Computer Engineering and is designed to encompass nearly all of the core material of the electrical engineering degree but provides much more depth in computing than is possible within the context of an electrical engineering degree.

The CSE track of the computer engineering degree provides students the freedom to enhance their knowledge in the broad range of topics comprising computer engineering: computer networks, computer architecture, artificial intelligence, computer graphics, robotics, real-time computing, computer languages, microcomputers, VLSI, and large-scale hardware and software systems. The track is primarily administered by the Department of Computer Science and Engineering and encompasses nearly all of the core material of the computer science degree, but its greater emphasis on design and engineering fundamentals prepares the student for registration as a professional engineer.

Throughout this program, the student works with state-of-the-art computers and laboratory equipment and is exposed to the most recent analytical techniques and technological developments. Significant association with the program's faculty, who are actively engaged in research and professional consulting activities, serves to acquaint the student with the opportunities and rewards available to the practicing computer engineering professional.