Skip to content

B.S./B.A. in Computer Science: Curriculum

Curriculum Details

180 total credits required

The four-year online Bachelor’s in Computer Science program prepares students for innovative technology evolving in the 21st century. Core curriculum includes introductions to software, operating systems and database management, while unique elective courses include new media and computing theory.

You can also take an independent study course for a specialized topic that you choose. Our program’s curriculum enables you to personalize your degree depending on your desired career trajectory. Earn your B.A. with a foreign language requirement or your B.S. with just 12 more science credits.

Transfer Information

EOU offers a generous transfer policy for course credits to make it even more affordable and accessible to learn. The online Bachelor’s in Computer Science allows up to 135 credits from previous college coursework to be transferred into EOU. All EOU majors require a minimum of 20 EOU credits.

Required Major Courses

Introduces basic data representation, branching and iteration, memory management, computer architecture, and the analysis and design of problem solutions.

Introduces some common algorithms for searching and sorting, the analysis of algorithm complexity, exception handling, and file output. Prerequisites: MATH 111, CS 161.

An introduction to the basics of programming as used in C and C++, including selection statements, loops, arrays, string handling, pointers, registers and functions. Practical exercises will require the construction, compilation, debugging, and execution of complete programs that implement given algorithms to solve simple problems. The emphasis in this course will be on the common features of C and C++; however memory allocation and the use of pointers will be discussed. Prerequisite: CS 162

An introduction to various implementations of commonly used data structures and their applications. Topics include lists, stacks, queues, trees and heaps. Prerequisite: CS 162.

The principles and problems involved in the development of a computer operating system. Overview of the development of operating systems, sequential and con-current processes, cooperation, communication and mutual exclusion, synchronization constructs: monitors, conditional critical regions, semaphores; deadlocks, resource allocation, scheduling policies, storage management. Prerequisite: CS 221 and CS 260. Student must have at least sophomore standing to register for this course.

The analysis of a variety of algorithms that arise frequently in computer applications. Basic principles and techniques for analyzing and improving algorithms in areas such as list searches, sorting, pattern recognition, polynomial and matrix computations. Prerequisite: CS 260 and MATH 231. Student must have at least sophomore standing to register for this course.

Analysis, design, and implementation of database systems. This course covers database concepts, architectures, schemas, the relational model and SQL.

Analysis, design, and implementation of database systems. This course covers the Entity Relationship model, design strategies, database access from applications, normalization relational algebra, and relational calculus.
A study of object oriented programming with C++. Beginning and intermediate concepts are covered including classes, objects, member functions, overloading, inheritance, polymorphism, templates, and virtual functions. Prerequisite: CS 221, 260. Student must have at least sophomore standing to register for this course.
Covers models of software development, with emphasis on the prototyping model, and user interface design. Students will design an interactive product, producing deliverables for each stage of design up to the development of a working prototype. Prerequisites: CS 162.
Emphasis is on the specification, organization, implementation, testing, and documentation of software. Inherent problems, challenges, tools, and methods of a large software project. Presents methods and tools used in the various stages of software production. This course should prepare students for the problems they will encounter as software professionals. Prerequisite: CS 361. Student must have at least sophomore standing to register for this course.
Prerequisite: Upper-division standing or consent of instructor. Student must have at least junior standing to register for this course.
Student must have at least junior standing to register for this course.

Required Related Area Courses

This course provides an introduction to several topics from discrete mathematics, including mathematical induction, Boolean logic and set operations, counting theory (combinatorics), and graph theory. Prerequisite: MATH 111 or equivalent.
Differential calculus including functions, limits, continuity, differentiation formulas, implicit differentiation, higher order derivatives, related rates, differentials, optimization problems, how the derivative affects the shape of a graph and an introduction to antiderivatives. Prerequisite: MATH 112.
Integral calculus including the definite integral, the fundamental theorem of calculus, area between curves, volumes by slicing, L’Hospital’s Rule, the calculus of the exponential and logarithmic functions, techniques of integration, improper integrals and arc length. Prerequisite: MATH 251.
An introduction to linear algebra including systems of linear equations, vector and matrix algebra, determinants, linear transformations, eigenvalues and eigenvectors, and the concepts of basis and dimension. Prerequisite: MATH 252 or consent of instructor. Student must have at least sophomore standing to register for this course.

Get in Touch

We are here to answer any questions you may have. Contact an enrollment counselor at 855-805-5399 or complete the request for information form and we will be in touch.