Graduate Program

The Computer Engineering Program offers a course of study leading to the degree of Master of Science (M.S.). The basic courses in the M.S. program come from the Electrical Engineering and Computer Science Departments. Students completing the program are prepared to work (or study further) in such fields as digital computer design, digital communications, and the design of embedded computer systems.

Applicants are generally expected to have a bachelor’s degree in computer engineering, computer science, or electrical engineering with at least a 3.2 GPA in technical courses. The Graduate Record Examination (GRE), General Test only, is required of all applicants.

Students must take at least 30 points of courses at Columbia University at or above the 4000 level. These must include at least 15 points from the courses listed below that are deemed core to computer engineering. At least 6 points must be included from each department. CSEE and EECS courses can count toward either department minimum. Other courses may be chosen with the prior approval of a faculty adviser in the Computer Engineering Program.

Core Computer Engineering Courses
   COMS W4113: Fundamentals of large-scale distributed systems
   COMS W4115:
Programming languages and translators
   COMS W4118: Operating systems, I
   CSEE W4119: Computer networks
   COMS W4130: Principles and practice of parallel programming
   CSEE W4140: Networking laboratory
   COMS W4180: Network security
   EECS E4321: Digital VLSI circuits
   EECS E4340: Computer hardware design
   ELEN E4350: VLSI design laboratory*
   ELEN E4702: Digital communications
   ELEN E4750: Signal processing and communications on mobile multicore processors
   ELEN E4810: Digital signal processing
   CSEE W4823: Advanced logic design
   CSEE W4824: Computer architecture
   ELEN E4830: Digital image processing
   CSEE W4840: Embedded systems
   ELEN E4896: Music signal processing
   COMS E6118: Operating systems, II
   CSEE E6180: Modeling and performance evaluation
   COMS E6181: Advanced Internet services
   EECS E6321: Advanced digital electronic circuits
   ELEN E6350: VLSI design laboratory
   ELEN E6488: Optical interconnects and interconnection networks
   ELEN E6761: Computer communication networks, I
   ELEN E6762: Computer communication networks, II*
   ELEN E6765: Internet of things
   ELEN E6770: Topic: Next generation networks
   CSEE E6824: Parallel computer architecture
   CSEE E6831: Sequential logic circuits*
   CSEE E6832: Topics in logic design theory*
   CSEE E6847: Distributed embedded systems
   ELEN E6850: Visual information systems
   ELEN E6860: Advanced digital signal processing
   CSEE E6861: Computer-aided design of digital systems
   CSEE E6868: System-on-chip platforms
   ELEN E6950: Wireless and mobile networking, I
   ELEN E6951: Wireless and mobile networking, II
   COMS W6998: Topic: Embedded scalable platforms
   COMS W6998: Topic: Resilient hardware systems
   COMS W6998: Topic: Formal verification of hardware/software systems

       *Occasionally offered

The overall program must include at least 15 points of 6000-level ELEN, EECS, CSEE, or COMS courses (exclusive of seminars). No more than 9 points of research may be taken for credit. No more than 3 points of a nontechnical elective (at or above the 4000 level) may be included. A minimum GPA of at least 2.7 must be maintained, and all degree requirements must be completed within five years of the beginning of the first course credited toward the degree.