The Bachelor of Science in Computer Engineering at Columbia University is an engineering degree that integrates electrical engineering and computer science to train students in both hardware and software design. It suits students who want a solid grounding in circuits, digital systems and computer architecture while also gaining strong programming, systems and algorithmic skills for work in hardware, embedded systems or systems-level software.
What you'll study
The Computer Engineering curriculum blends foundational engineering and mathematical sciences with core topics in electrical engineering and computer science. Early years focus on calculus, physics and core engineering principles; later years emphasise digital logic, circuits, computer architecture, operating systems, embedded systems, and software engineering. Students take laboratory courses that develop hands-on skills in electronics, microcontrollers, FPGA prototyping, and systems programming.
- Core mathematics and sciences: calculus, linear algebra, differential equations, and physics for engineers.
- Electrical engineering fundamentals: circuits, signals and systems, analog and digital electronics.
- Computer engineering foundations: digital design, computer organisation and architecture, microprocessors, embedded systems, hardware description languages (e.g. VHDL/Verilog), and VLSI concepts.
- Computer science and software: data structures and algorithms, operating systems, systems programming, networks, and software engineering practices.
- Laboratories and design: hands-on lab sequences, project-based courses, and a senior design or capstone project integrating hardware and software.
- Electives and specialisation: options typically include machine learning, robotics, cyber-physical systems, computer vision, security, high-performance computing, and semiconductor devices.
- Undergraduate research and interdisciplinary study: opportunities to work with faculty on research in areas such as embedded systems, nanotechnology, distributed systems and applied machine learning.
Entry requirements
Admission to Columbia's engineering programmes is selective and looks for students with strong preparation in mathematics and science. Typical academic preparation includes high school coursework in calculus, physics, and computer science or programming where available. Admissions consider the whole application: academic transcript, school recommendations, personal statements, and any portfolio or project evidence of technical experience.
- Strong secondary-school academic record with emphasis on mathematics and sciences.
- Evidence of programming experience and familiarity with laboratory or project work is highly recommended.
- Standardised tests policies are set by the university; applicants should consult Columbia's admissions pages for current requirements and guidance.
- International applicants should demonstrate equivalent preparation and proficiency in English.
Career prospects
Graduates with a Computer Engineering B.S. have flexible career pathways across hardware and software domains. Employers value the combination of circuit-level understanding and systems programming skills.
- Hardware and semiconductor roles: hardware design engineer, ASIC/FPGA developer, circuit designer, test engineer.
- Embedded and systems engineering: embedded systems engineer, firmware developer, IoT systems engineer, robotics engineer.
- Systems and software roles: systems software engineer, operating systems developer, network systems engineer.
- Cross-disciplinary and emerging areas: machine learning systems engineer, cyber-physical systems developer, security engineer for hardware and firmware.
- Further study: many graduates pursue graduate degrees in electrical engineering, computer science, or related applied fields, or enter research roles.
Why study at Columbia University
Columbia combines a rigorous engineering education with the resources of a major research university and the professional ecosystem of New York City. Students benefit from close faculty mentorship, access to advanced research labs and centres, and numerous industry connections for internships and projects.
- Research and facilities: opportunities to work in campus research groups focused on nanotechnology, embedded systems, networking, and machine learning, and to use dedicated labs and prototyping spaces.
- Interdisciplinary environment: easy collaboration with departments across the university—from computer science to data science, biomedical engineering and the arts—supporting creative, real-world projects.
- Location and industry links: proximity to a broad tech and finance industry base enables internships, startups, and partnerships with companies in hardware, software and systems domains.
- Undergraduate support: advising, career services, and student organisations focused on robotics, hardware, and coding help students build portfolios and transition to employment or graduate study.
Explore more on ScholarshipsAds