BS in Computer Science

Our computer science B.S. degree prepares students for careers that provide both personal and societal rewards. As creators of information technologies our graduates are reaching out to people and the world by supporting and enhancing communication, health care, entertainment, scientific inquiry, transportation, business, and almost any other endeavor you can imagine.


The computer science BS degree prepares students for careers that provide both personal and societal rewards. As creators of information technologies our graduates are reaching out to people and the world by supporting and enhancing communication, health care, entertainment, scientific inquiry, transportation, business, and almost any other endeavor you can imagine. Computing connects closely with a wide range of disciplines including, but not limited to, the visual arts, music, life sciences, the physical sciences, linguistics, engineering, mathematics, and the social sciences.  The computer curriculum focuses on developing methods and tools for describing, implementing, and analyzing information processes and for managing complexity; including abstraction, specification, and recursion. 

The Bachelor of Science in Computer Science degree offered by the Department of Computer Science is accredited by the Computing Accreditation Commission of ABET. 

BSCS - Information & Curriculum

Requirements for the BSCS Major 

Required Core CS AND APMA Courses 

CS 1110, 1111, 1112 or 1113: Introduction to Computer Science (requirement waived with AP or IB credit, or by passing CS placement test)
CS 2110: Software Development Methods
CS 2102: Discrete Mathematics I
CS 2150: Program & Data Representation
CS/ECE 2330: Digital Logic
CS 2190: CS Seminar I
CS 3102: Theory of Computation
CS 3330: Computer Architecture
CS 3240: Advanced Software Development Techniques
CS 4102: Analysis of Algorithms
CS 4414: Operating Systems
Capstone course: CS 4971 or CS 4980
APMA 3100: Probability
APMA 2130 or 3080 or 3120 or 3150 (select 2, but cannot take both 3120 & 3150)

 

Required SEAS Courses

APMA 1110 &  2120
CHEM 1610 & 1611
ENGR 1620 & 1621
PHYS 1425, 1429, 2415, & 2419

 

Computer Science Electives (5 required) 

Any CS 3000 level or CS 4000 level courses not otherwise required. See the Undergraduate Handbook for a complete list and for restrictions.  Among the choices: 

CS 3205 HCl in Software Development
CS 4240 Principles of Software Design
CS 4330 Advanced Computer Architecture
CS 4444 Parallel Computing
CS 4457 Computer Networks
CS 4458 Internet Engineering
CS 4610 Programming Languages
CS 4620 Compilers
CS 4630 Defense Against the Dark Arts
CS 4710 Artificial Intelligence
CS 4720 Web and Mobile Systems
CS 4730 Game Design
CS 4750 Database Systems
CS 4753 Electronic Commerce Technology
CS 4810 Introduction to Computer Graphics

 

Science Elective (1 required) 

One course chosen from an approved list of Biology, Chemistry, Electrical Engineering, Materials Science, and Physics courses. 

For a list of acceptable courses, please visit: 
http://www.seas.virginia.edu/advising/pdf/seas-undergraduate-handbook2016.pdf 

 

Science, Technology & Society (STS) (4 required) 

STS 1500, 4500, & 4600, or one 2XXX/3XXX 

 

Humanities & Social Sciences (HSS) Electives (5 required) 

For a list of acceptable courses, please visit: 
http://www.seas.virginia.edu/advising/pdf/seas-undergraduate-handbook2016.pdf 

 

Unrestricted Electives (5 required)

For a list of acceptable courses, please visit: 
http://www.seas.virginia.edu/advising/pdf/seas-undergraduate-handbook2016.pdf 

BA vs. BS


Undergraduate Handbook

UVA Class Schedule