Skip to content

Online BS in Computer Science Curriculum

Curriculum Details

120 total credits required

The online BS in Computer Science program focuses on the intersection of technology and liberal arts subjects like psychology to prepare students for success. By combining social science with computer science, students get a unique and practical perspective on tech and its uses. In the 40 required courses, students will explore these principles in detail with guidance from experienced faculty.

This program also offers an optional cybersecurity concentration for students who are interested in security and networking. The cybersecurity program focuses on networking, systems, cloud computing, the mathematics of encryption and the human aspects of psychology and business management.

Lower Level Courses

Analytic geometry, functions, limits, continuity, the derivative and its applications, the integral and its applications.

Applications of the integral, transcendental functions, techniques of integration, indeterminate limit forms, improper integrals and infinite series. Prerequisite: MTH 121.
Matrices, determinants, vector spaces, linear transformations, eigenvalues and eigenvectors. Prerequisite: MTH 122.
An introduction to algorithmic thinking and problem-solving using computers. Topics include functions, composition, recursion, states, mutability, and programming applications using a functional language such as Racket or Scheme. Satisfies the core laboratory or general science division core requirement. Prerequisite: MTH 111.
A first course in programming using JAVA or C++. Topics include object-oriented analysis and design (abstraction, encapsulation, inheritance, and polymorphism), recursion, iterative algorithms, and formal methods. Satisfies the core laboratory or general science division core requirement. Prerequisite: CSC 100.
A second course in programming using JAVA or C++. Topics include the properties and implementation of various Data Structures (Lists, Stacks, Queues, Sets, Maps, Trees, Graphs), algorithms analysis and reasoning using invariants and assertions. Prerequisite: CSC 101.
Design and analysis of algorithms. Topics include techniques (e.g. greedy algorithms, dynamic programming), applications (e.g. graphs, sorting, searching), and underlying data structures. Prerequisites: CSC 203 and MTH 322.
A project-based course on the design of modern computing systems from logical gates to user-level applications. Topics include combinational and sequential logic, Hardware Description Languages, computer architecture, assembly language, virtual machines, high level languages, virtual machines, compilers, operating systems and applications. Prerequisite CSC 202

Upper Level Courses

A course on modern operating system design where students explore a Unix-like OS through in-depth projects written in C. Topics include virtualization of CPU and memory resources, concurrency, files, file systems, networking, systems programming and security. Prerequisite CSC 210.
Proofs necessary for modern computer science. Topics include sets, functions, recursion, number theory, combinatorics, and graph theory. Prerequisite: MTH 122
Sets, relations, functions, cardinality and techniques of proof in mathematics. Prerequisites: MTH 122 and PHL 10
A first semester course on the theory, design and application of database systems with projects written in SQL and C++. Topics include the Relational Model, SQL, Entity-Relationship Model, database internals and design (including indexing and hashing, physical storage and file structure and Query Processing), application design, big data storage systems (noSQL) and data analytics. Prerequisites CS 103 and CSC 311.
An introduction to automata, computability, and complexity. Prerequisites: MTH 301 and CSC 203.
An analytic study of programming languages through the design of a programming language and its interpreter in Racket or Scheme. Topics include substitutions and functions, lazy evaluation, recursion, state, continuations, semantics, types, type-systems and a survey of contemporary languages. Prerequisite CSC 203.
Individual capstone experience for juniors majoring in computer science, covering software engineering topics not covered in other courses, varying from year to year. Prerequisites: CSC 203 and CSC 210.
A study of the theory and application of parallel programming with projects written in C++. Topics include theory of scalability, parallel computer architectures, concurrency mechanism, patterns of parallel computing, identifying parallelism in applications and parallel programming models. Prerequisites CSC 210 and MTH 221.
Group capstone experience for seniors majoring in computer science, covering software architecture topics not covered in other courses, varying from year to year. Prerequisite CSC 330
Students can select 3 and 4 level electives from SOC/ECO/POL subject areas.

Cybersecurity Concentration

This course will provide students with a broad introduction to the field of psychology and help them develop a more comprehensive and accurate understanding of human behavior. Among the topics covered are the history of psychology, biological causes of behavior, learning, memory, development, personality and psychological disorders. Required of Psychology, Health Sciences and Nursing majors

PSY 375. Cognitive Psychology (3) Introduction to the workings of the human mind and the influence of development, gender and culture. Topics such as attention, memory, language, problem solving and perception will be covered. Prerequisites: PSY 101, one 200-level course and advanced standing.

or

MGT 301. Management Principles (3) A study of the nature and principles of management. An integrated approach to the study of principles is taken through consideration of the functional, behavioral and management science schools of thought. Prerequisites: ECO 101 and 102, and ACC 201, or permission of instructor

This course covers the security aspects of computing systems and software through the perspective of an attacker. Through readings and hands on labs students will study security policy and its relationship between system components, systems programming, debugging and reverse engineering, techniques for analyzing insecure software and crafting attack mechanism as well as a practical exploration of contemporary cybersecurity tools. Prerequisite CSC 210.

A course on cloud infrastructure (the virtualization of compute, network, and storage resources) and its deployment as an extension of software development. Prerequisite CS 210.

A course on the functions of a networking system through the lens of an attacker. Through hands on labs students will develop knowledge of the layers of the TCP/IP and OSI Model, network design, network application programming, the tools for investigating and exploiting weakness in the network stack. Prerequisite CSC 210.

A theoretical introduction to classical and modern methods of encryption and decryption. Topics include sharing schemes, private and public key cryptosystems. Prerequisite: MTH304

Request More Information

We appreciate your interest in Spring Hill College, and we’d be happy to share more information about us and the program you are interested in. Complete the form and someone will be in touch shortly to discuss your goals and how we can help.

All fields required