Undergraduate Program

This undergraduate program incorporates most of the core curricula in both electrical engineering and computer science so that students will be well prepared to work in the area of computer engineering, which substantially overlaps both fields. Both hardware and software aspects of computer science are included, and, in electrical engineering, students receive a solid grounding in circuit theory and in electronic circuits. The
program includes several electrical engineering laboratory courses as well as the Computer Science Department’s advanced programming course. Detailed lists of requirements can be found at www.compeng.columbia.edu.

Students will be prepared to work on all aspects of the design of digital hardware, as well as on the associated software that is now often an integral part of computer architecture. They will also be well equipped to work in the growing field of telecommunications. Students will have the prerequisites to delve more deeply into either hardware or software areas, and enter graduate programs in computer science, electrical engineering, or computer engineering. For example, they could take more advanced courses in VLSI, communications theory, computer architecture, electronic circuit theory, software engineering, or digital design.

Minors in electrical engineering and computer science are not open to computer engineering majors, due to excessive overlap.

Technical Electives

The Computer Engineering Program includes 15 points of technical electives. Any 3000-level or higher courses listed in the Computer Science or Electrical Engineering sections of this bulletin can be used for this requirement with the following exceptions: COMS W3101, W3251, courses used for other computer engineering requirements and courses that have significant overlap with other required or elective courses (e.g., COMS W3134 and W3137), and courses with significant amounts of nontechnical content such as EEHS E3900. Courses at the 3000 level or higher in other areas of engineering, math, and science can be considered for approval, as long as they do not significantly overlap with other required or elective courses. Economics courses cannot be used as technical electives.

Starting Early

Students are strongly encouraged to begin taking core computer engineering courses as sophomores. They start with ELEN E1201: Introduction to electrical engineering in the second semester of their first year and may continue with other core courses one semester after that. For sample “early-starting” and “late-starting” programs, see the degree track charts. It must be emphasized that these charts present examples only; actual schedules may be customized in consultation with academic advisers.