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. All must be 3000-level or above, technical, and must not have significant overlap with other courses taken for the major. Adviser approval of technical electives is required.

Most courses at the 3000-level or above offered by the Computer Science and Electrical Engineering departments are eligible, and up to two from outside those departments can be considered for approval as well. If a department advertises that one of its courses can be used as a technical elective that does not necessarily mean it will be approved as a technical elective in the computer engineering program. There must be sufficient technical content and computer engineering connection within the entire 15 points, so approval of some courses may depend on the other electives chosen. Economics courses cannot be used as technical electives. COMS W3101 /W3102 courses, and not-very- technical courses within the school of engineering, cannot be used as technical electives either.

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.