Computer Science (BA)
Program Description
The BA in Computer Science is a particularly good major if you wish to double-major or minor in another field. This major emphasizes problem-solving, organizing and synthesizing ideas, and applications of computing theory. Graduates are well-suited for projects that apply computing to other disciplines.
Entering and Completing the Major
In order to earn a degree, you must complete at least one academic major. SPU encourages students to explore various academic paths, so if you change your mind about a major, or want to include an additional program, you are able to do so, as outlined below.
Note that the University encourages you to enter your chosen major(s) as soon as you have determined it and are eligible to join it, especially by the start of your junior year. Students who transfer as juniors and seniors should enter a major within their first two quarters at SPU.
- If this is your first quarter at SPU and you identified a major in this department as your first choice on your application for admission to the University, you have gained entry to the major. To change or add a major, follow these instructions.
- If you are an SPU student with an SPU cumulative GPA of 2.0 or better, follow these instructions to enter a major in this department.
- The University requires a grade of C- or better in all classes that apply to a major; however, programs may require higher minimum grades in specific courses. You may repeat an SPU course only once for a higher grade.
- To advance in this program, meet with your faculty advisor regularly to discuss your grades, course progression, and other indicators of satisfactory academic progress. If your grades or other factors indicate that you may not be able to successfully complete the major or minor, your faculty advisor can work with you to explore options, which may include choosing a different major.
- You must complete the major requirements that are in effect in the SPU Undergraduate Catalog for the year you enter the major.
Computer Science (BA)
80 Credits Minimum, Including 40 Upper Division (UD)
Code | Title | Credits |
---|---|---|
General Core | ||
CSC 1230 | Problem Solving and Programming | 5 |
CSC 2430 | Data Structures I | 5 |
CSC 2431 | Data Structures II | 5 |
CSC 3011 | Living in a Digital World | 3 |
CSC 3150 | Systems Design | 4 |
CSC 3220 | Applications Programming | 4 |
CSC 3221 | Netcentric Computing | 4 |
CSC 3310 | Concepts in Programming Languages | 4 |
CSC 3350 | Operating Systems Programming | 3 |
CSC 3430 | Algorithm Design and Analysis | 4 |
CSC 3750 | Computer Architecture and Organization | 5 |
CSC 4410 | Database Management | 5 |
MAT 1221 | Survey of Calculus | 5 |
MAT 1720 | Mathematics for Computer Science | 5 |
MAT 2360 | Introduction to Statistics for the Sciences | 5 |
Section Credits Required | 66 | |
Technical Electives | ||
Select one of the following: | 3 | |
Theory of Computation and Algorithm | ||
Cybersecurity Fundamentals | ||
Introduction to Artificial Intelligence | ||
Compiler Design | ||
Advanced Operating Systems | ||
Advanced Programming | ||
Computer Networks | ||
Advanced Computer Architecture | ||
Advanced Issues in Computer Science | ||
Introduction to Data Science | ||
Data and Society | ||
Fundamentals of Advanced Embedded Systems | ||
Introduction to Data Science | ||
Section Credits Required | 3 | |
Project & Internship | ||
CSC 3000 | Principles of Professional Practice | 1 |
or GS 3001 | Internship and Job Search Strategies | |
CSC 4151 | Software Engineering I | 3 |
CSC 4152 | Software Engineering II | 3 |
CSC 4898 | Senior Capstone Seminar | 3 |
CSC 4941 | Computer Science Professional Experience 1 | 1 |
Section Credits Required | 11 | |
Total Credits | 80 |
- 1
A tech internship or professional experience must be approved before enrolling in CSC 4941 and must be completed before passing CSC 4941.
Suggested Course Sequences
Four Year Plan
Check the quarter, day and time in the current time schedule as course offerings may change.
Freshman | ||
---|---|---|
Variable | Credits | |
UFDN 1000 | The Christian Faith | 5 |
WRI 1000 | Academic Inquiry and Writing Seminar | 5 |
WRI 1100 | Disciplinary Research and Writing Seminar | 5 |
Exploratory Curriculum | 0-10 | |
Credits | 15-25 | |
Autumn | ||
CSC 1230 | Problem Solving and Programming | 5 |
UCOL 1000 | University Colloquium | 1 |
MAT 1010 | College Algebra (if needed) | 3 |
Credits | 9 | |
Winter | ||
CSC 2430 | Data Structures I | 5 |
Credits | 5 | |
Spring | ||
CSC 2431 | Data Structures II | 5 |
MAT 1221 | Survey of Calculus | 5 |
Credits | 10 | |
Sophomore | ||
Variable | ||
MAT 2360 | Introduction to Statistics for the Sciences 1 | 5 |
GS 3001 | Internship and Job Search Strategies 2 | 1 |
Common Curriculum and Exploratory Curriculum courses as needed | ||
Credits | 6 | |
Winter | ||
CSC 3220 | Applications Programming | 4 |
MAT 1720 | Mathematics for Computer Science | 5 |
Credits | 9 | |
Spring | ||
CSC 3221 | Netcentric Computing | 4 |
Credits | 4 | |
Junior | ||
Variable | ||
Technical Elective Courses 3 | 3 | |
Select Common Curriculum and Exploratory Curriculum courses as needed | ||
Credits | 3 | |
Autumn | ||
CSC 3310 | Concepts in Programming Languages | 4 |
GS 3001 | Internship and Job Search Strategies 4 | 1 |
Credits | 5 | |
Winter | ||
CSC 3430 | Algorithm Design and Analysis | 4 |
CSC 3750 | Computer Architecture and Organization | 5 |
CSC 3011 | Living in a Digital World | 3 |
Credits | 12 | |
Spring | ||
CSC 3150 | Systems Design | 4 |
CSC 3350 | Operating Systems Programming | 3 |
Credits | 7 | |
Senior | ||
Variable | ||
CSC 4410 | Database Management 5 | 5 |
CSC 4941 | Computer Science Professional Experience 6 | 1 |
Technical Elective Courses 7 | ||
Credits | 6 | |
Autumn | ||
CSC 4151 | Software Engineering I | 3 |
Credits | 3 | |
Winter | ||
CSC 4152 | Software Engineering II | 3 |
Credits | 3 | |
Spring | ||
CSC 4898 | Senior Capstone Seminar | 3 |
Credits | 3 | |
Total Credits | 100-110 |
Code | Title | Credits |
---|---|---|
Technical Elective Courses | 3 | |
CPE 3280 | Microcontroller System Design | 5 |
CSC 4210 | Theory of Computation and Algorithm | 3 |
CSC 4220 | Cybersecurity Fundamentals | 3 |
CSC 4250 | Introduction to Artificial Intelligence | 3 |
CSC 4310 | Compiler Design | 3 |
CSC 4350 | Advanced Operating Systems | 3 |
CSC 4430 | Advanced Programming | 3-5 |
CSC 4750 | Computer Networks | 5 |
CSC 4760 | Advanced Computer Architecture | 5 |
CSC 4800 | Advanced Issues in Computer Science | 3-5 |
DAT 3380 | Introduction to Data Science | 5 |
DAT 4500 | Data and Society | 5 |
EE 4770 | Fundamentals of Advanced Embedded Systems | 3-5 |
MAT 3380 | Introduction to Data Science | 5 |
Common Curriculum | ||
UCOR 2000 | The Emergence of the Modern Global Systems | 5 |
UCOR 3000 | Faith, Philosophy, and Science | 5 |
UFDN 2000 | Christian Scripture | 5 |
UFDN 3100 | Christian Theology | 5 |
Exploratory Curriculum | ||
Ways of Engaging | ||
Cultural Understanding and Engagement | 3 | |
Ways of Knowing | ||
Check Catalog under which you entered SPU Foreign Language if needed | 0-15 |
- 1
Available any quarter.
- 2
Or can be taken Fall of junior year.
- 3
Select a minimum of 3 credits any quarter after satisfying pre-req(s). This can also be taken during the senior year. See link at the bottom of this page for a list of Technical Elective Courses.
- 4
If not already completed.
- 5
Quarter varies. See time schedule.
- 6
Must be taken AFTER completing an approved internship or pursuing an approved certification.
- 7
Select a minimum of 3 credits any quarter after satisfying pre-req(s). See link at the bottom of this page for a list of Technical Elective Courses.
Two Year Plan for a Transfer Student with or without a DTA
First Year | ||
---|---|---|
Variable | Credits | |
Technical Elective Course 1 | 3+ | |
Common Curriculum and Exploratory Curriculum courses as needed 2 | ||
Credits | 0-3 | |
Autumn | ||
CSC 2330 | Data Structures Programming | 5 |
GS 3001 | Internship and Job Search Strategies | 1 |
UFDN 3001 | Christian Scripture for Transfer Students | 5 |
Credits | 11 | |
Winter | ||
CSC 3220 | Applications Programming | 4 |
MAT 1720 | Mathematics for Computer Science | 5 |
CSC 3011 | Living in a Digital World | 3 |
Credits | 12 | |
Spring | ||
CSC 3150 | Systems Design | 4 |
CSC 3221 | Netcentric Computing | 4 |
CSC 2431 | Data Structures II | 5 |
Credits | 13 | |
Second Year | ||
Variable | ||
CSC 4410 | Database Management | 5 |
CSC 4941 | Computer Science Professional Experience 3 | 1 |
UFDN 3100 | Christian Theology 4 | 5 |
Technical Elective Course 1 | ||
Common Curriculum and Exploratory Curriculum courses as needed | ||
Credits | 11 | |
Autumn | ||
CSC 4151 | Software Engineering I | 3 |
CSC 3310 | Concepts in Programming Languages | 4 |
Credits | 7 | |
Winter | ||
CSC 4152 | Software Engineering II | 3 |
CSC 3430 | Algorithm Design and Analysis | 4 |
CSC 3750 | Computer Architecture and Organization | 5 |
Credits | 12 | |
Spring | ||
CSC 4898 | Senior Capstone Seminar | 3 |
CSC 3350 | Operating Systems Programming | 3 |
Credits | 6 | |
Total Credits | 72-75 |
- 1
Must be at least 3 credits, taken during year 1 or year 2. See link at the bottom of this page for a list.
- 2
Spread between first and second year.
- 3
Must be taken AFTER completing an approved internship or pursuing an approved certification.
- 4
If not already completed.
Prerequisites for the Two Year Plan
The following courses must be completed before coming to SPU in order to finish at SPU in two years.
Code | Title | Credits |
---|---|---|
Math courses equivalent to SPU's | 10 | |
Survey of Calculus | ||
or MAT 1234 | Calculus I | |
Introduction to Statistics for the Sciences | ||
Two Quarters of Object Oriented Programming in the Same Language 1 | 10 | |
Object oriented progamming 1 | ||
Object oriented programming 2 with Data Structures |
- 1
The second must include data structures concepts.
Technical Electives List
See the Requirements tab for a complete list of technical electives.