B.S. in Computer Science¶
The B.S. degree program in computer science provides a balance between theoretical foundations and applied computer science with the ultimate goal of presenting knowledge likely to be of ongoing value throughout one’s career. The preparation of the B.S. is aimed at students who want to pursue a career as an industry practitioner and/or as an academic.
Among the 25 occupation groups of The Bureau of Labor Statistics, Computer and Information Technology is rated second highest in median pay and fourth highest in projected employment growth for the period 2014 to 2024.
If you decided before Fall 2013 you may use the old Computer Science B.S. curriculum located here.
If you decided before Fall 2020 but after 2013 you may use the old Computer Science B.S. curriculum located at B.S. in Computer Science (Pre Fall 2020)
Major Requirements (61 Credit Hours)¶
Both of the following must be taken:
- MATH 161: Calculus I or MATH 131: Applied Calculus I
- MATH 162: Calculus II or MATH 132: Applied Calculus II
(By arrangement with the Undergraduate Program Director, the extra credits from MATH 161/162 may be applied towards the “Computer Science Free Electives” category.)
All of the following must be taken:
- COMP 141: Introduction to Computing Tools and Techniques
- COMP 163: Discrete Structures or MATH 201: Introduction to Discrete Mathematics and Number Theory
- COMP 170: Introduction to Object-Oriented Programming
- COMP 264: Introduction to Computer Systems
- COMP 271: Data Structures I
- COMP 272: Data Structures II
- COMP 310 (formerly 374): Introduction to Operating Systems
- COMP 317: Social, Legal, and Ethical Issues in Computing
- COMP 363: Design and Analysis of Computer Algorithms
- COMP 371: Programming Languages
- STAT 203: Statistics
COMP-BS Restricted Electives¶
Select 9 credits from:
- COMP 301: Introduction to Computer Security
- COMP 313: Intermediate Object-Oriented Development
- COMP 330: Software Engineering
- COMP 332: Requirements Engineering
- COMP 339: Distributed Systems
- COMP 341: Human-Computer Interaction
- COMP 343: Introduction to Computer Networks
- COMP 353: Database Programming
- COMP 364: High-Performance Computing
- COMP 370: Software Quality, Metrics, and Testing
- COMP 379: Machine Learning
Six (6) credits taken from one or more of COMP 312: Open Source Software Practicum, COMP 390: Broadening Participation in STEM (Computing, Math & Science), COMP 391: Internship in Computer Science, and COMP 398: Independent Study. See the details of registering in the links for each course. Students are encouraged to complete these credits during junior and senior years to draw on prior experience.
Computer Science Free Electives¶
- 3 credits of COMP 125: Visual Information Processing or COMP 150: Introduction to Computing or COMP 3xx
- 4 credits of COMP 3xx
( With permission, extra credits of MATH 161/162 or 300-level MATH, PHYS, or STAT for double majors, can be applied in this category.)
- Credits never can be double-counted for different categories of the requirements for the major. But a course may satisfy a major requirement and also satisfy a University and/or College requirement (e.g., Core, residency, Engaged Learning, Writing Intensive).
- It is usually not meant to combine a computing major or minor with another, the principal exception being CCFR-MINR; see more detail in the double-dipping rules.