Computer Science (BS)
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 24 civilian occupation groups analyzed by The Bureau of Labor Statistics, Computer and Information Technology is rated third highest in median pay and second highest in projected employment growth for the period 2021 to 2031.
Related Programs
Curriculum
| Code | Title | Hours |
|---|---|---|
| Major Requirements | ||
| MATH 131 | Applied Calculus I 1 | 3-4 |
| or MATH 161 | Calculus I | |
| MATH 132 | Applied Calculus II 1 | 3-4 |
| or MATH 162 | Calculus II | |
| COMP 141 | Introduction to Computing Tools and Techniques | 3 |
| COMP 163 | Discrete Structures | 3 |
| or MATH 201 | Introduction to Discrete Mathematics & Number Theory | |
| COMP 170 | Introduction to Object-Oriented Programming | 3 |
| COMP 264 | Introduction to Computer Systems | 3 |
| COMP 271 | Data Structures I | 3 |
| COMP 272 | Data Structures II | 3 |
| COMP 310 | Operating Systems | 3 |
| or COMP 362 | Computer Architecture | |
| COMP 317 | Social, Legal, and Ethical Issues in Computing | 3 |
| COMP 363 | Design and Analysis Computer Algorithms | 3 |
| COMP 371 | Programming Languages | 3 |
| STAT 203 | Introduction to Probability & Statistics | 3 |
| COMP-BS Restricted Electives | 9 | |
Select nine credit hours from the following: | ||
| Introduction to Computer Security | ||
| Object-Oriented Design | ||
| Software Engineering | ||
| Requirements Engineering | ||
| Distributed Systems | ||
| Human-Computer Interaction | ||
| Computer Networks | ||
| Database Programming | ||
| Computer Architecture 2 | ||
or COMP 310 | Operating Systems | |
| High Performance Computing | ||
| Software Quality | ||
| Machine Learning | ||
| Practicum Capstone | 6 | |
Select six credits taken from one or more of the following: 3 | ||
| Open Source Software Practicum | ||
| Hands-on Approach to Security & Privacy | ||
| Broadening Participation in STEM (Computing, Math & Science) | ||
| Internship in Computer Science | ||
| Independent Study | ||
| Computer Science 300-Level Electives | 4 | |
COMP 300-Level Course(s) | ||
| Computer Science Free Electives | 3 | |
Select one of the following: | ||
COMP 300-Level Course | ||
| Visual Information Processing | ||
| Introduction to Computing | ||
| Total Hours | 61 | |
- 1
By arrangement with the Undergraduate Program Director, the extra credits from MATH 161 Calculus I/MATH 162 Calculus II may be applied towards the computer science electives.
- 2
You must take COMP 310 or COMP 362 as part of the Major requirements. The second one can be used as an elective if taken.
- 3
See the details of registering for these courses in the Computer Science Department website resources. Students are encouraged to complete these credits during junior and senior years to draw on prior experience. Note:
Suggested Sequence of Courses
COMP-BS Sample Schedule
The below sequence of courses is meant to be used as a suggested path for completing coursework. An individual student’s completion of requirements depends on course offerings in a given term as well as the start term for a major or graduate study. Students should consult their advisor for assistance with course selection
| Year 1 | ||
|---|---|---|
| Fall | Hours | |
| COMP 141 | Introduction to Computing Tools and Techniques | 3 |
| COMP 163 | Discrete Structures | 3 |
| COMP 170 | Introduction to Object-Oriented Programming 1 | 3 |
| MATH 131 | Applied Calculus I 2 | 3 |
| CORE: College Writing Seminar | 3 | |
| UNIV 101 | First Year Seminar | 1 |
| Hours | 16 | |
| Spring | ||
| COMP 271 | Data Structures I | 3 |
| MATH 132 | Applied Calculus II 3 | 3 |
| CORE: Philosophical Knowledge Tier 1 | 3 | |
| CORE: Historical Knowledge Tier 1 | 3 | |
| CORE: Ethics | 3 | |
| Hours | 15 | |
| Year 2 | ||
| Fall | ||
| COMP 264 | Introduction to Computer Systems | 3 |
| COMP 272 | Data Structures II | 3 |
| COMP 317 | Social, Legal, and Ethical Issues in Computing | 3 |
| STAT 203 | Introduction to Probability & Statistics 4 | 3 |
| CAS Language Requirement 101 level 5 | 3 | |
| Hours | 15 | |
| Spring | ||
| COMP 313 | Object-Oriented Design | 3 |
| COMP 330 | Software Engineering | 3 |
| CORE: Scientific Knowledge Tier 1 | 3 | |
| CORE: Societal & Cultural Knowledge Tier 1 | 3 | |
| CAS Language Requirement 102 level 5 | 3 | |
| Hours | 15 | |
| Year 3 | ||
| Fall | ||
| COMP 310 or COMP 362 |
Operating Systems or Computer Architecture |
3 |
| COMP 300-Level Elective (e.g. COMP 391 or 395 or 399) | 3 | |
| COMP Restricted Elective | 1 | |
| CORE: Literary Knowledge & Experience Tier 1 | 3 | |
| CORE: Theological and Religious Studies Tier 1 | 3 | |
| CORE: Philosophical Knowledge Tier 2 | 3 | |
| Hours | 16 | |
| Spring | ||
| COMP-BS Restricted Elective | 3 | |
| COMP-BS Restricted Elective | 3 | |
| CORE: Artistic Knowledge & Experience | 3 | |
| CORE: Scientific Knowledge Tier 2 | 3 | |
| CORE: Historical Knowledge Tier 2 | 3 | |
| Hours | 15 | |
| Year 4 | ||
| Fall | ||
| COMP 300-Level Elective | 3 | |
| COMP Practicum | 3 | |
| CORE: Literary Knowledge & Experience Tier 2 | 3 | |
| CORE: Societal & Cultural Knowledge Tier 2 | 3 | |
| CAS Elective | 3 | |
| Hours | 15 | |
| Spring | ||
| COMP Practicum | 3 | |
| COMP Free Elective 6 | 3 | |
| CORE: Theological and Religious Studies Tier 2 | 3 | |
| CAS Elective | 3 | |
| CAS Elective | 3 | |
| Hours | 15 | |
| Total Hours | 122 | |
- 1
COMP 170 Introduction to Object-Oriented Programming is designed to serve as a first introductory programming course. Students seeking a more gentle introduction may start with COMP 125 Visual Information Processing or COMP 150 Introduction to Computing; if one of those courses is taken, it can be counted into the "COMP Free Elective" category of the requirements of the major. Additionally, A score of 4 or 5 on the AP CS Principles Exam or AP CS A exam will earn actual credit for COMP 150 or COMP 170, respectively.
- 2
May substitute MATH 161 Calculus I and may use the extra credit towards COMP Free Electives.
- 3
May substitute MATH 162 Calculus II and may use the extra credit towards COMP Electives.
- 4
May substitute MATH 212 Linear Algebra
- 5
Language must be completed through the 102 course level or through an exam.
- 6
If COMP 150 not taken
General Notes
- 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).
- With permission, extra credits of MATH 161 Calculus I, MATH 162 Calculus II, or 300 level MATH, PHYS, or STAT for double majors can be applied to the "Computer Science 300-Level Electives" or "Computer Science Free Electives" categories.)
- It is usually not meaningful to combine a computing major or minor with another, the principal exception being CCFR-MINR; see more detail in the double-dipping rules.
College of Arts and Sciences Graduation Requirements
All Undergraduate students in the College of Arts and Sciences are required to take two Writing Intensive courses (6 credit hours) as well as complete a foreign language requirement at 102-level or higher (3 credit hours) or a language competency test. More information can be found here.
Additional Undergraduate Graduation Requirements
All Undergraduate students are required to complete the University Core, at least one Engaged Learning course, and UNIV 101. SCPS students are not required to take UNIV 101. Nursing students in the Accelerated BSN program are not required to take core or UNIV 101. You can find more information in the University Requirements area.
Learning Outcomes
- By the end of the program, students will be able to explain core computer science concepts as well as the operation of exemplars in areas such as abstract data types and data structures, algorithms, computer architectures, software engineering, databases, and networks.
- Students shall be able to write extensive computer programs in at least one high-level programming language and have sufficient experience with other languages and with general principles of programming to be able to use documentation to write small programs in other languages.
- Students will be able to use their knowledge of computer science to design, implement, and evaluate a computational system to meet a given set of requirements to solve a complex problem.
- Students shall be able to solve problems related to computer science by using mathematical and scientific principles in areas such as discrete mathematics, probability and statistics.
- Students shall demonstrate knowledge of and the ability to present well-structured arguments about professional, ethical, legal, security, and social issues and responsibilities as they pertain to computer science
- Students shall be able to work effectively on teams to accomplish a common goal, and they should be able to communicate design ideas and work effectively both verbally and in writing.