Computer Engineering (BS)
Computer Engineering Program
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 PROGRAMMING LANGUAGES/COMS W3102 DEVELOPMENT TECHNOLOGY 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 INTRO-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.
An overview of the degree track in PDF format can be found here.
Early Starting Students
First Year | ||
---|---|---|
Semester I | ||
MATH UN1101 | CALCULUS I | |
Choose one of the following Physics courses depending on track: | ||
INTRO TO MECHANICS & THERMO | ||
PHYSICS I:MECHANICS/RELATIVITY | ||
ACCELERATED PHYSICS I | ||
Choose a one-semester Chemistry lecture (taken Semester I or II): | ||
GENERAL CHEMISTRY I-LECTURES | ||
GENERAL CHEMISTRY II-LECTURES | ||
INTENSVE ORGANIC CHEMISTRY | ||
2ND TERM GEN CHEM (INTENSIVE) | ||
Choose a lab from the following (taken Semester I or II): | ||
GENERAL CHEMISTRY LABORATORY | ||
INTRO TO EXPERIMENTAL PHYS-LAB | ||
ELEN E1201 (taken Semester l or ll) | INTRO-ELECTRICAL ENGINEERING | |
ENGL CC1010 (taken Semester l or ll) | UNIVERSITY WRITING | |
ENGI E1006 | INTRO TO COMP FOR ENG/APP SCI | |
PHED UN1001 | PHYSICAL EDUCATION ACTIVITIES | |
ENGI E1102 (taken Semester l or ll) | THE ART OF ENGINEERING | |
Semester II | ||
MATH UN1102 | CALCULUS II | |
Choose one of the following Physics courses depending on track: | ||
INTRO ELEC/MAGNETSM & OPTCS | ||
PHYSICS II: THERMO, ELEC & MAG | ||
ACCELERATED PHYSICS II | ||
Choose a one-semester Chemistry lecture (taken Semester l or ll): | ||
GENERAL CHEMISTRY I-LECTURES | ||
GENERAL CHEMISTRY II-LECTURES | ||
INTENSVE ORGANIC CHEMISTRY | ||
2ND TERM GEN CHEM (INTENSIVE) | ||
Choose a lab from the following (taken Semester l or ll): | ||
GENERAL CHEMISTRY LABORATORY | ||
INTRO TO EXPERIMENTAL PHYS-LAB | ||
ELEN E1201 (taken Semester l or ll) | INTRO-ELECTRICAL ENGINEERING | |
ENGL CC1010 (taken Semester l or ll) | UNIVERSITY WRITING | |
COMS W1004 or COMS W1007 | Introduction to Computer Science and Programming in Java | |
PHED UN1002 | PHYSICAL EDUCATION ACTIVITIES | |
ENGI E1102 (taken Semester l or ll) | THE ART OF ENGINEERING | |
Second Year | ||
Semester III | ||
APMA E2000 - APMA E2001 (taken Semester lll or lV) | MULTV. CALC. FOR ENGI & APP SCI | |
Choose one of the following lab courses depending on track: | ||
INTRO TO EXPERIMENTAL PHYS-LAB | ||
INTERMEDIATE LABORATORY WORK | ||
ELEN E3801 | SIGNALS AND SYSTEMS | |
ELEN E3084 | SIGNALS & SYSTEMS LABORATORY | |
Choose one of the following Required Nontechnical Electives:1 | ||
EURPN LIT-PHILOS MASTERPIECS I | ||
CONTEMP WESTERN CIVILIZATION I | ||
Global Core (3–4) | ||
HUMA UN1121 or UN1123 | MASTERPIECES OF WESTERN ART | |
COMS W3203 (taken Semester lll or lV) | DISCRETE MATHEMATICS | |
Semester IV | ||
APMA E2000 - APMA E2001 (taken Semester lll or lV) | MULTV. CALC. FOR ENGI & APP SCI | |
APMA E21012 | INTRO TO APPLIED MATHEMATICS | |
COMS W3134 or W3137 | Data Structures in Java | |
CSEE W3827 | FUNDAMENTALS OF COMPUTER SYSTS | |
ELEN E3082 | DIGITAL SYSTEMS LABORATORY | |
Choose one of the following Required Nontechnical Electives:1 | ||
EURPN LIT-PHILOS MASTRPIECS II | ||
CONTEMP WESTRN CIVILIZATION II | ||
Global Core (3–4) | ||
ECON UN1105 - ECON UN1155 | PRINCIPLES OF ECONOMICS | |
COMS W3203 (taken Semester lll or lV) | DISCRETE MATHEMATICS | |
Third Year | ||
Semester V | ||
IEOR E36583 | PROBABILITY FOR ENGINEERS | |
COMS W3157 | ADVANCED PROGRAMMING | |
ELEN E3201 | CIRCUIT ANALYSIS | |
ELEN E3081 | CIRCUIT ANALYSIS LABORATORY | |
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)4 | ||
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | ||
Semester VI | ||
ELEN E3331 | ELECTRONIC CIRCUITS | |
COMS W3261 | COMPUTER SCIENCE THEORY | |
Choose three of the following Core Required Courses (taken Semester Vl, Vll or Vlll): | ||
COMPUTER NETWORKS | ||
DIGITAL VLSI CIRCUITS | ||
Advanced Logic Design | ||
COMPUTER ARCHITECTURE | ||
EMBEDDED SYSTEMS | ||
SYSTEM-ON-CHIP PLATFORMS | ||
ELEN E3083 | ELECTRONIC CIRCUITS LABORATORY | |
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)4 | ||
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | ||
Fourth Year | ||
Semester VII | ||
COMS W4118 or W4115 (taken Semester Vll or Vlll) | OPERATING SYSTEMS I | |
Choose three of the following Core Required Courses (taken Semester Vl, Vll, or Vlll): | ||
COMPUTER NETWORKS | ||
DIGITAL VLSI CIRCUITS | ||
Advanced Logic Design | ||
COMPUTER ARCHITECTURE | ||
EMBEDDED SYSTEMS | ||
SYSTEM-ON-CHIP PLATFORMS | ||
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)4 | ||
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | ||
Semester VIII | ||
COMS W4118 or W4115 (taken Semester Vll or Vlll) | OPERATING SYSTEMS I | |
Choose three of the following Core Required Courses (taken Semester Vl, Vll, or Vlll): | ||
COMPUTER NETWORKS | ||
DIGITAL VLSI CIRCUITS | ||
Advanced Logic Design | ||
COMPUTER ARCHITECTURE | ||
EMBEDDED SYSTEMS | ||
SYSTEM-ON-CHIP PLATFORMS | ||
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)4 | ||
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) |
- 1
Some of these courses can be postponed to the junior or senior year to make room for taking the required core computer engineering courses.
- 2
APMA E2101 INTRO TO APPLIED MATHEMATICS may be replaced by MATH UN2030 ORDINARY DIFFERENTIAL EQUATIONS (formerly MATH E1210 ) and either APMA E3101 APPLIED MATH I: LINEAR ALGEBRA, or MATH UN2010 LINEAR ALGEBRA, or COMS W3251 COMPUTATIONAL LINEAR ALGEBRA.
- 3
SIEO W3600 INTRO PROBABILITY/STATISTICS, STAT GU4203 PROBABILITY THEORY, and STAT GU4001 INTRODUCTION TO PROBABILITY AND STATISTICS can be used instead of IEOR E3658 PROBABILITY FOR ENGINEERS, but SIEO W3600 INTRO PROBABILITY/STATISTICS and STAT GU4001 INTRODUCTION TO PROBABILITY AND STATISTICS may not provide enough probability background for elective courses such as ELEN E3701 INTRO TO COMMUNICATION SYSTEMS. Students completing an economics minor who want such a background can take IEOR E3658 PROBABILITY FOR ENGINEERS and augment it with IEOR E4307 STATISTICS AND DATA ANALYSIS.
- 4
The total points of technical electives is reduced to 12 if APMA E2101 INTRO TO APPLIED MATHEMATICS has been replaced by MATH UN2030 ORDINARY DIFFERENTIAL EQUATIONS (formerly MATH E1210 ) and either APMA E3101 APPLIED MATH I: LINEAR ALGEBRA or MATH UN2010 LINEAR ALGEBRA, or COMS W3251 COMPUTATIONAL LINEAR ALGEBRA. Combined-plan students with good grades in separate, advanced courses in linear algebra and ODEs can apply for this waiver, but the courses must have been at an advanced level for this to be considered.
For a discussion about programming languages used in the program, please see compeng.columbia.edu.
Late Starting Students
First Year | ||
---|---|---|
Semester I | Points | |
MATH UN1101 | CALCULUS I | 3.00 |
Choose one of the following Physics courses depending on track: | 3-4.5 | |
INTRO TO MECHANICS & THERMO | ||
PHYSICS I:MECHANICS/RELATIVITY | ||
ACCELERATED PHYSICS I | ||
Choose a one-semester Chemistry lecture (taken Semester I or II): | 3-4 | |
GENERAL CHEMISTRY I-LECTURES | ||
GENERAL CHEMISTRY II-LECTURES | ||
INTENSVE ORGANIC CHEMISTRY | ||
2ND TERM GEN CHEM (INTENSIVE) | ||
Choose a lab from the following (taken Semester I or II): | 3 | |
GENERAL CHEMISTRY LABORATORY | ||
INTRO TO EXPERIMENTAL PHYS-LAB | ||
ELEN E1201 (taken Semester l or ll)1 | INTRO-ELECTRICAL ENGINEERING | 3.50 |
ENGL CC1010 (taken Semester l or ll) | UNIVERSITY WRITING | 3.00 |
ENGI E1006 | INTRO TO COMP FOR ENG/APP SCI | 3.00 |
PHED UN1001 | PHYSICAL EDUCATION ACTIVITIES | 1.00 |
ENGI E1102 (taken Semester l or ll) | THE ART OF ENGINEERING | 4.00 |
Term Points | 26.5-29 | |
Semester II | ||
MATH UN1102 | CALCULUS II | 3.00 |
Choose one of the following Physics courses depending on track: | 3-4.5 | |
INTRO ELEC/MAGNETSM & OPTCS | ||
PHYSICS II: THERMO, ELEC & MAG | ||
ACCELERATED PHYSICS II | ||
Choose a one-semester Chemistry lecture (taken Semester I or II): | ||
GENERAL CHEMISTRY I-LECTURES | ||
GENERAL CHEMISTRY II-LECTURES | ||
INTENSVE ORGANIC CHEMISTRY | ||
2ND TERM GEN CHEM (INTENSIVE) | ||
Choose a lab from the following (taken Semester I or II): | 3 | |
GENERAL CHEMISTRY LABORATORY | ||
INTRO TO EXPERIMENTAL PHYS-LAB | ||
ELEN E1201 (taken Semester l or ll)1 | INTRO-ELECTRICAL ENGINEERING | 3.50 |
ENGL CC1010 (taken Semester l or ll) | UNIVERSITY WRITING | 3.00 |
COMS W1004 or COMS W1007 | Introduction to Computer Science and Programming in Java | 3 |
PHED UN1002 | PHYSICAL EDUCATION ACTIVITIES | 1.00 |
ENGI E1102 (taken Semester l or ll) | THE ART OF ENGINEERING | 4.00 |
Term Points | 23.5-25 | |
Second Year | ||
Semester III | ||
APMA E2000 - APMA E2001 (taken Semester III or IV) | MULTV. CALC. FOR ENGI & APP SCI | 4.00 |
Choose one of the following lab courses depending on track: | 3 | |
INTRO TO EXPERIMENTAL PHYS-LAB | ||
INTERMEDIATE LABORATORY WORK | ||
Choose one of the following Required Nontechnical Electives: | 3-4 | |
EURPN LIT-PHILOS MASTERPIECS I | ||
CONTEMP WESTERN CIVILIZATION I | ||
Global Core (3–4) | ||
HUMA UN1121 or UN1123 | MASTERPIECES OF WESTERN ART | 3.00 |
COMS W3203 | DISCRETE MATHEMATICS | 4.00 |
Term Points | 17-18 | |
Semester IV | ||
APMA E2000 - APMA E2001 (taken Semester III or IV) | MULTV. CALC. FOR ENGI & APP SCI | 4.00 |
APMA E21012 | INTRO TO APPLIED MATHEMATICS | 3.00 |
Choose one of the following Required Nontechnical Electives: | 3-4 | |
EURPN LIT-PHILOS MASTRPIECS II | ||
CONTEMP WESTRN CIVILIZATION II | ||
Global Core (3–4) | ||
ECON UN1105 - ECON UN1155 | PRINCIPLES OF ECONOMICS | 4.00 |
Term Points | 14-15 | |
Third Year | ||
Semester V | ||
IEOR E36583 | PROBABILITY FOR ENGINEERS | 3.00 |
COMS W3134 or W3137 | Data Structures in Java | 3 |
ELEN E3201 | CIRCUIT ANALYSIS | 3.50 |
ELEN E3801 | SIGNALS AND SYSTEMS | 3.50 |
ELEN E30814 | CIRCUIT ANALYSIS LABORATORY | 1.00 |
ELEN E30844 | SIGNALS & SYSTEMS LABORATORY | 1.00 |
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)5 | 15 | |
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | 27 | |
Term Points | 57 | |
Semester VI | ||
COMS W3157 | ADVANCED PROGRAMMING | 4.00 |
ELEN E3331 | ELECTRONIC CIRCUITS | 3.00 |
COMS W32616 | COMPUTER SCIENCE THEORY | 3.00 |
CSEE W3827 | FUNDAMENTALS OF COMPUTER SYSTS | 3.00 |
ELEN E30834 | ELECTRONIC CIRCUITS LABORATORY | 1.00 |
ELEN E30824 | DIGITAL SYSTEMS LABORATORY | 1.00 |
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)5 | 15 | |
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | 27 | |
Term Points | 57 | |
Fourth Year | ||
Semester VII | ||
COMS W4118 or W4115 (taken Semester Vll or Vlll) | OPERATING SYSTEMS I | 3.00 |
Choose three of the following Core Required Courses (taken Semester Vll or Vlll): | 9 | |
COMPUTER NETWORKS | ||
DIGITAL VLSI CIRCUITS | ||
Advanced Logic Design | ||
COMPUTER ARCHITECTURE | ||
EMBEDDED SYSTEMS | ||
SYSTEM-ON-CHIP PLATFORMS | ||
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)5 | 15 | |
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | 27 | |
Term Points | 54 | |
Semester VIII | ||
COMS W4118 or W4115 (taken Semester Vll or Vlll) | OPERATING SYSTEMS I | 3.00 |
Choose three of the following Core Required Courses (taken Semester Vll or Vlll): | 9 | |
COMPUTER NETWORKS | ||
DIGITAL VLSI CIRCUITS | ||
Advanced Logic Design | ||
COMPUTER ARCHITECTURE | ||
EMBEDDED SYSTEMS | ||
SYSTEM-ON-CHIP PLATFORMS | ||
Tech Electives (15 points required; see details within the text) (taken Semester V, Vl, Vll or Vlll)5 | 15 | |
Nontech Electives (Complete 27-point requirement) (taken Semester V, Vl, Vll, or Vlll) | 27 | |
Term Points | 54 | |
Total Points: | 303-309 |
- 1
Transfer and combined-plan students are expected to have completed the equivalent of the first- and second-year program listed above before starting their junior year. Note that this includes some background in discrete math (see COMS W3203 DISCRETE MATHEMATICS) and electronic circuits (see ELEN E1201 INTRO-ELECTRICAL ENGINEERING). Transfer and combined-plan students are also expected to be familiar with Java before they start their junior year. If students must take the one-point Java course (COMS W3101 PROGRAMMING LANGUAGES, COMS W3102 DEVELOPMENT TECHNOLOGY, COMS W3103 ) junior year, prerequisite constraints make it difficult to complete the remaining computer engineering program by the end of the senior year.
- 2
APMA E2101 INTRO TO APPLIED MATHEMATICS may be replaced by MATH UN2030 ORDINARY DIFFERENTIAL EQUATIONS (formerly MATH E1210 ) and either APMA E3101 APPLIED MATH I: LINEAR ALGEBRA, or MATH UN2010 LINEAR ALGEBRA, or COMS W3251 COMPUTATIONAL LINEAR ALGEBRA.
- 3
SIEO W3600 INTRO PROBABILITY/STATISTICS, STAT GU4203 PROBABILITY THEORY, and STAT GU4001 INTRODUCTION TO PROBABILITY AND STATISTICS can be used instead of IEOR E3658 PROBABILITY FOR ENGINEERS, but SIEO W3600 INTRO PROBABILITY/STATISTICS and STAT GU4001 INTRODUCTION TO PROBABILITY AND STATISTICS may not provide enough probability background for elective courses such as ELEN E3701 INTRO TO COMMUNICATION SYSTEMS. Students completing an economics minor who want such a background can take IEOR E3658 PROBABILITY FOR ENGINEERS and augment it with IEOR E4307 STATISTICS AND DATA ANALYSIS.
- 4
If possible, ELEN E3081 CIRCUIT ANALYSIS LABORATORY and ELEN E3084 SIGNALS & SYSTEMS LABORATORY should be taken along with ELEN E3201 CIRCUIT ANALYSIS and ELEN E3801 SIGNALS AND SYSTEMS, respectively, and ELEN E3083 ELECTRONIC CIRCUITS LABORATORY and ELEN E3082 DIGITAL SYSTEMS LABORATORY taken with ELEN E3331 ELECTRONIC CIRCUITS and CSEE W3827 FUNDAMENTALS OF COMPUTER SYSTS respectively.
- 5
The total points of technical electives is reduced to 12 if APMA E2101 INTRO TO APPLIED MATHEMATICS has been replaced by MATH UN2030 ORDINARY DIFFERENTIAL EQUATIONS (formerly MATH E1210 ) and either APMA E3101 APPLIED MATH I: LINEAR ALGEBRA or MATH UN2010 LINEAR ALGEBRA, or COMS W3251 COMPUTATIONAL LINEAR ALGEBRA. Combined-plan students with good grades in separate, advanced courses in linear algebra and ODEs can apply for this waiver, but the courses must have been at an advanced level for this to be considered.
- 6
COMS W3261 COMPUTER SCIENCE THEORY can be taken one semester later than pictured.
For a discussion about programming languages used in the program, please see compeng.columbia.edu.