BS in Computer Engineering

Computer Engineering is the design and prototyping of computing devices and systems.  While sharing much history and many areas of interest with Computer Science, Computer Engineering concentrates its effort on the ways in which computing ideas are mapped into working physical systems.

Emerging equally from the disciplines of Computer Science and Electrical Engineering, Computer Engineering rests on the intellectual foundations of these disciplines, the basic physical sciences and mathematics.

On this page:

Did You Know?

  • Starting salary for undergraduate degree holders: $69,000 - $100,920
  • According to the US Bureau of Labor Statistics, employment for computer systems and network engineers is projected to increase by 20 percent through 2022.  Our graduates are aggressively recruited by top companies nationwide.
  • Graduates from the CSE department also go on to pursue graduate studies and often receive scholarships for Masters and doctoral studies at prestigious institutions.

Computer Engineers Design and Develop Practical Systems

Computer and information technologies are critical to the nation’s technological infrastructure and competitive advantage in the knowledge-based global economy of the 21st century. These technologies have enabled discoveries and inventions in diverse fields of study, and have transformed society and our daily lives in dramatic ways.

Computer engineers are engaged in designing a wide range of devices, systems, software, and services.  They design the control systems for automated production lines in industry, create software for digital telephone switching systems, and develop the installation of a local area network (LAN). Thus, computer engineers work in every sector of industry, government, and society in general. 

Computer engineers use their knowledge to:

  • Analyze users’ needs, and then design, test, develop, and maintain software or specialized utility programs to meet those needs;
  • Design, develop, test, and evaluate hardware and systems that make computers work, including computer games, business applications, operating systems and network distribution, and compilers, which convert programs to machine language for execution on a computer;
  • Use different programming languages, including C, C++, Java, Python, and Scala;
  • Work as part of a team that designs new hardware, software, and systems.


Curriculum Overview


The first two years build a strong foundation in object-oriented programming, data structures, and digital systems.  During this period, students also develop the necessary foundations in calculus, differential equations, discrete mathematics, and linear algebra.  Basic science (physics and chemistry) and electronic circuits are included. 


The junior year covers the study of applied probability, computer organization, embedded and real-time operating systems, and microprocessors.  Circuits, signals and electronics are also studied during the junior year.  These courses provide core concepts necessary for more advanced study of both hardware and software systems. 


The required courses of the first three years serve as preparation for a pair of important courses in the senior year: software engineering and hardware/software integrated systems design.  This year is also devoted to the study of elective courses on a variety of topics in hardware and software systems such as computer architecture, networks, database, and VLSI systems. 

The Main Branches of Computer Engineering

  • Edge Computing and Embedded Systems and Robotics
    Hardware and software co-design on embedded/ASIC computing performance optimization.
  • Human-Computer Interaction
    Human-computer interaction (HCI) is a multidisciplinary field of study focusing on the design of computer technology, in particular, the interaction between humans (the users) and computers. HCI researchers observe the ways humans interact with computers and design technologies that allow humans to interact with computers in novel ways.
  • Distributed Systems and Networks
    Research in networking and distributed systems focuses on enabling communication of and orchestrating coordination of a large number of computing nodes.
  • Computer Architecture and Hardware
    Hardware and software issues from the circuit to the system have three main foci: Very Large Scale Integration (VLSI) circuits and systems, computer architecture, and computer security.
  • Mobile Computing
    Mobile systems research focuses on the design and implementation of next-generation systems for mobile devices.  Research topics include mobile data management, wireless networks, sensing systems, static analysis and instrumentation for mobile apps, mobile image and video analytics, and secure and low-power hardware for mobile devices.

Other important topics in Computer Engineering include Display Engineering, Image and Speech Processing, Pattern Recognition, Robotics, Sensors and Computer Perception.




These industry and government employers represent a sample of where our undergraduate CEN program graduates work:

Alcatel, Apple, Bellcore, Brookhaven National Laboratory, Cisco, Conexant, General Electric (GE), Hewlett-Packard (HP), IBM Almaden Research Center, IBM's T. J. Watson Research Center, Kodak Research Labs, Lucent Technologies, Microsoft, Motorola-Lexicus Division, NASA-Ames, National Institutes of Health (NIH), Oracle, Panasonic, Qualcomm, Ricoh California Research Center, Samsung, Viewlogic Systems


  • 8/21/19
    Bich Vu (BS CEN ‘13, MS CSE ‘15) graduated with a triple major in CEN, EE and Math, and minor in Japanese in 2013. She earned her MS in CSE and MIS with the Information Assurance Certificate in 2015.  At UB, she enjoyed volunteering, being a teaching assistant, and contributing as president of the Society of Women Engineers.  She spent her summers studying abroad and interning at DHS and MIT Lincoln Lab, where she currently works. 
  • 8/21/19
    Tom Occhino (BS CEN ‘07) is an Engineering Manager at Facebook overseeing JavaScript Infrastructure.  Tom manages a number of Facebook’s open source projects including React, React Native, and Flow.  As part of the Product Infrastructure organization at Facebook, his teams are responsible for developing core tools that engineers rely on every day.  He serves on UB Engineering’s Young Advisory Board and UB’s San Francisco Bay Network Board.  Although he now resides in California, he still misses the chicken finger melt from Bert’s in Talbert Hall!

Program Enrollment

The BS in Computer Engineering program currently enrolls 258 students—254 majors and 4 subsequent bachelor's degree majors. (May 20, 2024)