skip to Main Content

Bachelor of Science

Computer Science

Program Overview

Graduates of the BSCS program will have the knowledge and skills needed to be successful computing professionals or to pursue graduate studies. By completing coursework and projects, they gain hands-on experiences in the profession and workplace. Successful completion of a senior project is a first step toward professional competency and developing expertise in their field of choice.

Due to the multi-faceted applications of computing, the major also incorporates learning experiences that are multidisciplinary in nature. These are acquired through various course assignments of real-world projects utilizing commensurate set of tools and techniques of computer science. The experiences and skills accumulated thereby should prepare the student to complete a senior project.

Program Details

MATH140. Calculus I

Fundamentals of calculus including functions, limits and continuity, differentiation, and integration.

4 units

Physics for Life Sciences I with Lab

Students are introduced to basic concepts of physics using algebraic and trigonometric techniques. Topics include Newton’s laws of motion, energy and momentum, conservation laws, and thermal properties of matter. Course includes a mandatory lab component. Successful completion of this course requires passing both PHYS101 and PHYS101L with a C‐ or better in a concurrent semester. Satisfies general education science lab requirements if taken concurrently with PHYS101L.

4 units

CSCI100 Introduction to Computer Programming

Computing has profoundly changed the world. However, just using a computer is only a small part of the picture. Real empowerment comes when one learns how to program computers, to translate ideas into code. In this class, we teach basic programming skills in Python with an emphasis on the computation thinking practices required to write good programs. There will be a combination of programming projects and readings about the social implications and global impact of computing.

4 units

CSCI110 Building Web‐Based Applications

The worldwide web is a versatile platform for various interactive applications. These web‐based applications are replacing the traditional packaging of software that comes in installable binaries. From a user’s standpoint, other advantages they provide include “automatic” upgrades, instant access, and opportunities for worldwide collaboration. Building a web‐based application requires the integration of numerous technologies such as computer networks and the Internet; web servers and web clients (browsers); web pages built using HTML, CSS, and JavaScript; client‐server programming in PHP; and databases and SQL programming. In this course, students will learn how to build an e‐commerce application, since for most people it is likely to be the most familiar web paradigm.

4 units

CSCI120 Program Design, Development, and Data Structures

Programming in high‐level languages C#, C++, and Java. Emphasis on program design issues. Programming topics include basic control structures, primitive data types, arrays, classes, recursion, linked structures, binary trees, hashing, and object‐oriented features such as inheritance and object‐oriented design issues.

3 units

CSCI212 Object‐Oriented Design and Programming

Object‐oriented design; encapsulation and information‐hiding, data abstraction; separation of behavior and implementation; class, subclass, and inheritance; polymorphism; class hierarchies; and practices and design of software development.

3 units

CSCI220 Introduction to Computer Systems

This course provides a programmer’s view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability, and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems‐level issues is required. Topics covered include: machine‐level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.

3 units

CSCI230 Computer Networking

An introduction to the design and analysis of computer communication networks. Local area networks, high‐speed networks, hubs, switches, and bridges. Wide area networks, routers, and internet working. Network protocols including OSI, TCP/IP. Issues of network security, reliability, and performance.

3 units

CSCI330 Operating Systems

Principles of operating systems. Effective management of machine resources including resource allocation and scheduling, mutual exclusion, deadlock avoidance, memory management policies, devices and file systems, client‐server systems, and virtualization.

3 units

CSCI350 Analysis of Algorithms

Design and analysis of computer algorithms. Divide‐and‐conquer, dynamic programming, greedy method, backtracking. Algorithms for sorting, searching, graph computations, pattern matching, P and NP‐complete problems, intractability.

3 units

CSCI370 Concepts of Programming Languages

An introduction to the syntax and semantics of programming languages. Topics include a study of data structures and control structures, a comparison of functional and imperative programming languages, parameter passing, storage allocation schemes, and concurrent language features. Language and syntax specification and concepts of language implementations will also be explored.

3 units

CSCI470 Theory of Computation: Automata, Grammars, and Formal Languages

Introduction to the fundamental models of computation including regular sets and finite automata, context‐free languages and pushdown automata, context‐sensitive languages, Turing machines, computability, and decidability. The hierarchical relationships among these models, their relative power and limitations, and their variants are studied.

3 units

CSCI498 Senior Project

During preliminary advising in the junior year, students will explore areas of interest and goals, assess qualifications in terms of preparation, skill, level and experience, and explore target clients. During follow‐up advising in the senior year, students will select a senior project in their chosen concentration area and service client, develop the project, and complete it. Project consists of the execution of all phases of software development and the production of deliverables.

3 units

MATH141 Calculus II

Students entering with a four or higher on the AP Calculus B/C exam may receive credit for Calculus II. Continues in topics of calculus including integrals and transcendental functions, techniques of integration, first order differential equations, infinite sequence and series, and parametric equations.

4 units

MATH210 Linear Algebra

Linear systems, matrices, vectors and vector spaces, linear transformations, inner products, norms, eigenvalues and eigenvectors, orthogonality and applications. Provides a foundation for many areas of study in mathematics, computer science, engineering, and science.

3 units

MATH320 Probability

Discrete and continuous probability including conditional probability; independence and Bayes’ Theorem; expected value, variance, and moments of a random variable; distributions, methods for identifying distributions, and the Central Limit Theorem; and statistical hypothesis testing, errors, correlation, regression equations, and analysis of variance.

3 units
  • For students in the major, to equip them with the knowledge and skills needed to be successful computing professionals.
  • For students in other science programs, to equip them with the programming skills appropriate to their major. We offer a variety of specialized Computer Science minors (e.g., a Data Science minor) that provide these skills.
  • For students in non-science programs, to equip them with basic programming skills.
  • Programming has become an important skill even for non-science majors — we offer introductory courses to meet this need.
  • Web Applications
  • Database Applications
  • Artificial Intelligence Applications
  • Data Science Applications
  • Mobil Computing
  • Software Engineering
  • Data Analytics
  • Computer Systems
  • Physical Computing
  • Embedded Systems
Head over to for student tools, resources, schedules and forms.


Bachelor of Science

BS in Computer Science


Software Engineering
Data Science
Artifical Intelligence
Computer Systems


Computer Science Minor

Program Advisor

Dr. Muntuck Yap

Program Advisor
Faculty, Computer Science

Faculty & Staff

Deepak Vejendla

Adjunct, Computer Science

Dr. James Donahue

Professor, Computer Science

Dr. Steven Broad

Eric Miedema

Adjunct, Computer Science and Mathematics

Jamaal Price

Adjunct, Computer Science

John Ransom

Adjunct, Computer Science

Take the Next Step

Start a conversation with Jessup about who you are, what you want to achieve and how Jessup may be the right fit for your future.

Back To Top
×Close search