BS in Computer Science

Meg Arnold (CS BS/MTH BS '17), Josh Bueno (CS BS '16), Alex Rookey (CS BS '16), and AJ Stohr (CS BS '16) at UB Hacking '15, November 14, 2015. Photo credit: Ken Smith

Computer Science is the systematic study of algorithmic methods for representing and transforming information, including their theory, design, implementation, application, and efficiency.

The discipline emerged in the 1950s from the development of computability theory and the invention of the stored-program electronic computer. The roots of computer science extend deeply into mathematics and engineering. Mathematics imparts analysis to the field; engineering imparts design.

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 scientists is projected to increase 20 percent through 2022, much faster than the average for most occupations.  Our graduates are aggressively recruited by top companies nationwide.
  • CS graduates often receive scholarships to pursue masters and doctoral studies at prestigious institutions.

Computer Scientists: Transforming Society with Critical Technologies

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

Computer Science (CS) is a systematic study of the concepts, foundations and applications of software, hardware, and intelligent systems. Typical subjects include: programming languages, data structure, algorithms, computer organization, operating systems and machine learning.

Computer scientists are engaged in understanding the algorithmic complexity of problems and the limits of computability, automating human intelligence, providing ubiquitous access to information, or designing secure and effective software, computer, and communication systems. Computer scientists work in every sector of industry, government, and society in general. 

Computer scientists use their knowledge to:

  • Analyze problems in hardware, software, and systems;
  • Design, test, and evaluate network and communications systems;
  • Meet an organization’s system software and infrastructure needs;
  • Work as researchers, or inventors, innovating to solve complex problems, and create or apply new technology.  CS research may be multidisciplinary, such as developing and advancing uses of virtual reality, extending human-computer interaction, or designing robots;
  • Administrate database management systems software.

Academics

Which Degree is Better—the BS or BA in Computer Science?

Both the BS and BA in Computer Science prepare students well for graduate work or for professional positions in computing and information technology fields.  The primary difference is that the BS program provides a more concentrated approach to computer science (depth), while the BA program encourages students to combine computer science with studies in another field (breadth).

Curriculum Overview

First year-Sophomore

The first two years build a strong foundation in object-oriented programming, data structures, and digital systems.  During the first two years, CS majors also develop the necessary foundations in calculus, probability/statistics, and discrete mathematics.  The student also takes a two-semester sequence in any science discipline during this period.

Junior

The junior year is devoted to the study of algorithms, programming languages, computer organization, and theory of computing.  These courses continue to provide important core concepts necessary for more advanced study of both hardware and software systems.

Senior

The first three years prepare students to take a pair of required courses in the senior year: software engineering and operating systems.  The final year is devoted to elective courses in topics such as software systems, networking, and artificial intelligence. 

The Main Branches of Computer Science

  • Artificial Intelligence and Machine Learning and Data Mining
    1/26/23
    Artificial Intelligence (AI) researchers now predict that computers will be able to perform tasks that were once considered the prerogative of human beings.
  • Databases and Data Science
    1/17/23
    Algorithms for data mining have a close relationship to methods of pattern recognition and machine learning. Focuses on developing fundamental techniques, prototype systems and applications in databases and data science.
  • Programming Languages and Software Engineering
    1/17/23
    Programming Language research focuses on type systems, program logics, language-based and differential privacy and security; language, compiler, and run-time design for reliable systems; static and dynamic analyses for real-time Android; run-time visualization and verification; adaptive memory management; language concepts for database programming; logic- and constraint-based systems.
  • Algorithms and Complexity
    8/13/24
    Computer science theory assesses which problems are possible and feasible to solve through theories of computability, undecidability, complexity, reducibility, and approximability.

Other important topics in Computer Science include Computer Graphics, Databases, Networks and Protocols, Numerical Methods, Operating Systems, Parallel Computing, Simulation and Modeling, and Software Engineering.

Careers

Employers

These industry and government employers represent a sample of where our undergraduate CS 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

Program Alumni

  • 8/21/19
    Nick DiRienzo (BS CS ’15) was president of UB ACM and started UB Hacking, worked with faculty on research for four years, and interned every summer in California—twice at Google and once at Optimizely.  After graduating in May 2015, he returned to Optimizely as a full-time Software Engineer in San Francisco, CA.
  • 8/21/19
    Natasha Sanford (BS CS ‘15) graduated in 2015 with a double major in computer science and mathematics and a minor in linguistics. She helped found UB Scientista, was president of the Swing Dance Club, worked as a teaching assistant her senior year, and spent one summer each participating in study abroad, research, and interning at FactSet Research Systems Inc., in Norwalk, CT, where she currently works.

Program Enrollment

The BS in Computer Science program currently enrolls 1,624 students—1,606 majors and 18 subsequent bachelor's degree majors. (December 20, 2024)