Computer Science

Program Overview

The Computer Science program at Rider is focused on providing a strong foundational education for its students.  Students in this program enjoy small class sizes, dedicated faculty and the opportunity to apply their skills to real-world problems in a variety of settings.  Computer science, with a focus on problem solving, optimization, collaboration and security, equips students to succeed in the workplace and in graduate school.  

Curriculum Overview

Rider students that study computer science will develop a broad technical understanding of the field, and will gain a deep appreciation of computing and its functions.  Our students will collaborate with each other and apply their knowledge to real world problems.  During the course of their studies, students will develop a passion for lifelong learning and a professional responsibility to uphold ethical behavior.  Foundational classes in mathematics, physics and computer science will ready the students for upper level courses on Computer Organization and Architecture, Operating Systems, Secure Software Engineering, Data Engineering and Parallel and Distributed Systems.  Students will be offered a variety of upper-level electives, including Human Computer Interaction, Cybersecurity and internship opportunities.  Rider’s computer science faculty are engaged in research and students will be encouraged to apply their computational skills to a variety of research projects in the sciences.

Degrees Offered:

  • B.S. in Computer Science


John Bochanski, Ph.D.
Assistant Professor, Department of Chemistry, Biochemistry & Physics
Science Hall 324A

Program Website:  Computer Science
Associated Department: Department of Chemistry, Biochemistry & Physics

Related programs:


Computer Science Major Requirements

(65-68 credits)

CLAS General Education Curriculum
Computer Science Core
CSC 110Computer Science I3
CSC 120Computer Science II3
CSC 130Data Structures and Algorithms3
CSC 140Discrete Structures3
CSC 150Cyber Ethics and Societal Impact3
CSC 220Computer Organization and Architecture3
CSC 230Probability for Computer Science3
CSC 240Operating Systems3
CSC 250Software Security Engineering3
CSC 350Analysis of Algorithms3
CSC 380Parallel and Distributed Systems3
CSC 410Data Engineering3
MTH 210Calculus I4
MTH 211Calculus II4
PHY 200
General Physics I
and General Physics I Lab
PHY 201
General Physics II
and General Physics II Lab
Advanced Computer Science Courses
CIS 330Database Management 13
CSC 310Theory of Computation3
CSC 320Human-Computer Interaction3
CSC 340Cybersecurity Essentials3
CSC 491Internship in Computer Science1-4
Total Credits65-68

Computer Science Minor Requirements

(21 credits)

CSC 110Computer Science I3
CSC 120Computer Science II3
CSC 130Data Structures and Algorithms3
CSC 140Discrete Structures3
CSC 150Cyber Ethics and Societal Impact3
Select two courses from CSC 220 or above6
Total Credits21

Academic Plan of Study

The following educational plan is provided as a sample only.  Rider students who do not declare a major during their freshman year; who change their major; or those who transfer to Rider may follow a different plan to ensure a timely graduation.  Each student, with guidance from his or her academic advisor, will develop a personalized educational plan.

Plan of Study Grid
Year 1
Fall SemesterCredits
CSC 110 Computer Science I 3
CSC 140 Discrete Structures 3
MTH 210 Calculus I 1 4
CMP 120 Expository Writing 1 3
HIS 150 World History to 1500 3
NCT 010 Freshman Seminar 0
 Semester Credit Hours16
Spring Semester
CSC 120 Computer Science II 3
CSC 150 Cyber Ethics and Societal Impact 3
MTH 211 Calculus II 4
CMP 125 Research Writing 3
HIS 151 World History Since 1500 3
 Semester Credit Hours16
Year 2
Fall Semester
CSC 130 Data Structures and Algorithms 3
CSC 230 Probability for Computer Science 3
Social Perspectives 3
Aesthetic Perspectives: Literature 3
 Semester Credit Hours12
Spring Semester
CSC 220 Computer Organization and Architecture 3
CSC 240 Operating Systems 3
CSC 250 Software Security Engineering 3
Social Perspectives 3
Elective Course 2 3
 Semester Credit Hours15
Year 3
Fall Semester
CSC Upper Level Elective 3
PHY 200 General Physics I 4
PHY 200L General Physics I Lab 0
Foreign Language 3
Philosophical Perspectives 3
Elective Course 2 3
 Semester Credit Hours16
Spring Semester
CSC 350 Analysis of Algorithms 3
CSC Upper Level Elective 3
PHY 201 General Physics II 4
PHY 201L General Physics II Lab 0
Foreighn Language 3
Aesthetic Perspectives: Fine Arts 3
 Semester Credit Hours16
Year 4
Fall Semester
CSC 380 Parallel and Distributed Systems 3
CSC Upper Level Elective 3
Three Elective Courses 2 9
 Semester Credit Hours15
Spring Semester
CSC 410 Data Engineering 3
CSC Upper Level Elective 3
Three Elective Courses 2 9
 Semester Credit Hours15
 Total Credit Hours for Graduation121

Courses and Descriptions

CSC 110 Computer Science I 3 Credits

This course is an introduction to computer science and modern computing fundamentals. Students will develop programs and algorithms to solve a variety of problems posed in the natural sciences. Students will learn to code in Python, a widely adopted language and learn the basics of algorithms, data types, program structure and development

Prerequisite(s): MTH 105 (Algebra & Trigonometry) or equivalent.

CSC 120 Computer Science II 3 Credits

This course is an introduction to developing algorithms using abstract data types and the object-oriented methodology. Students will design and implement robust ADTs using Java, an object-oriented programming language. Students will learn how to develop their own algorithms and the best techniques for analyzing their performance. Students will be able to adapt the course knowledge to real world, practical challenges.

Prerequisite(s): CSC 110.

CSC 130 Data Structures and Algorithms 3 Credits

This course is a study of data structures and the algorithms used to process them. Topics include stacks, queues, lists, trees, graphs, sorting and searching techniques, recursive algorithms, and efficiency considerations. This course will give students a comprehensive study in data structures and algorithms which are the building blocks in programming.

Prerequisite(s): CSC 120.

CSC 140 Discrete Structures 3 Credits

This course is an introduction to the ideas and techniques from discrete mathematics as widely applied to Computer Science. Topics include sets, numbers, algorithms, logic, combinatorics, recursion principles, graph theory, trees, and discrete probability.

Prerequisite(s): MTH 105, Algebra & Trigonometry or MTH 210, Calculus I.

CSC 150 Cyber Ethics and Societal Impact 3 Credits

This course will investigate the ethical and social challenges stemming from computing and telecommunication technology, as well as from mobile information-enabling devices. Topics include: cyber ethics, global and societal impact of the Internet, ethical analysis tools, ethical dimensions of computer system reliability, professional ethics, ethical frontiers in emerging technologies, privacy, security, intellectual property, cybercrime, and civil liberties in cyberspace. CS 150 is a required course for CS majors and minors. This course will be open to other math and science majors.

Prerequisite(s): CMP 115 or can be taken concurrently.

CSC 220 Computer Organization and Architecture 3 Credits

An introduction to the fundamental concepts of computer organization and architecture, this course explores how computer systems execute programs and manipulate data, working from the C programming language down to the microprocessor. Topics include: processor organization, Assembly and C programming languages, machine-level code, data representation, digital logic gates and Boolean algebra, computer arithmetic, code compilation, memory organization and management, interrupts, and performance evaluation and optimization. CS 220 is a required course for CS majors. The prerequisites for this course are CS 130 (Data Structures and Algorithms) and CS 140 (Discrete Structures).

Prerequisite(s): CSC 130, CSC 140.

CSC 230 Probability for Computer Science 3 Credits

This course is an overview of probability theory and its application to computer science. Students will develop an understanding of combinatorics, variables, distributions, and parameter estimation. Applications to real world data and large datasets are also studied, with an introduction to machine learning.

Prerequisite(s): MTH 211.

CSC 240 Operating Systems 3 Credits

The course will study the basic concepts, design and implementation of operating systems. Topics to be covered include an overview of basic computing hardware components, operating system structures, process management, memory management, concurrency, resource allocation and scheduling, file systems, input/output systems, protection and security. CS 240 is a required course for CS majors.

Prerequisite(s): CS 130, Data Structures and Algorithms.

CSC 250 Software Security Engineering 3 Credits

Secure software engineering focuses on both theoretical and practical perspectives in the development of software systems, exploring secure software design and development methods, software analysis, and reverse engineering. Emphasis is placed on security as part of the software engineering lifecycle, as well as on the correctness and robustness of code. CS 250 is a required course for CS majors.

Prerequisite(s): CSC 140.

CSC 310 Theory of Computation 3 Credits

This course introduces a formal framework for investigating both the computability and complexity of problems. Theoretical foundations of computer science and formal models of computation are covered. Students study several models of computation including finite automata, regular expressions, formal languages, Chomsky language hierarchy, context-free grammars and Turing machines. Topics include undecidable problems, the halting problem and the P versus NP problem.

Prerequisite(s): CSC 130 and CSC 140.

CSC 320 Human-Computer Interaction 3 Credits

This course presents Human-Computer Interaction (HCI) as a discipline that is concerned with technical advance, and that must integrate different disciplinary perspectives. Foundational theoretical issues deal with principles of human perception, visual representation and purposeful action, discussed in the context of novel interactive technologies and computer-based systems. It examines issues in the design of system interfaces from a number of perspectives: user, programmer, and designer.

Prerequisite(s): CSC 130.

CSC 340 Cybersecurity Essentials 3 Credits

This course is an in-depth study of the theories and practices for prevention of cyber attacks. Countermeasures discussed include education, encryption, virtual private networks, policies, practices, access controls, secure systems development, software assurance, verification and validation, firewall architectures, anti-virus, patching practices, personnel security practices, and physical security practices. Topics also include incident response, forensic investigations, business continuity plans, disaster recovery plans, and critical infrastructure protection.

Prerequisite(s): CSC 130.

CSC 350 Analysis of Algorithms 3 Credits

This course investigates methods for analyzing and designing efficient and reliable algorithms, emphasizing methods useful in practice. It introduces several algorithm design strategies that build on data structures and programming techniques learned in the introductory computer science course sequence. Topic coverage includes induction, divide-and-conquer, dynamic programming, network flow, randomization, complexity theory, greedy algorithms, searching and sorting algorithms, cryptographic algorithms, graph theory, hashing, and advanced data structures. CSC 350 is a required course for CS majors.

Prerequisite(s): CSC 130 and CSC 140.

CSC 380 Parallel and Distributed Systems 3 Credits

Widely deployed in scientific computing centers and commercial data centers, large-scale parallel and distributed systems (PDS) are crucial to scientific discovery, business success, national security, and technology innovation. This course examines the design and analysis of large scale computing systems for processor- and data-intensive applications with the focus on the technologies and factors that impact the performance, power, resilience, and scalability of modern parallel and distributed systems. Topics include the organization of multicore computers, parallel computer clusters, computing grids, supercomputers, client-server systems, and peer-to-peer systems; computer networks and network protocols; network security; multithreaded programming; and network programming.

Prerequisite(s): CSC 220 and CSC 240.

CSC 410 Data Engineering 3 Credits

This course serves as an introduction to the interdisciplinary and emerging fields of data engineering and data science. Students learn to combine tools and techniques from computer science, statistics, data visualization and the social sciences to solve problems using data. Central themes include: the data engineering and data science processes; tools.

Prerequisite(s): CSC 250 and CIS 330.

CSC 491 Internship in Computer Science 1-4 Credits

A supervised research experience in an approved organization where qualified students gain real-world knowledge and utilize their academic training in a professional environment. Placement may be in private, public, non-profit, or governmental organizations under the guidance of a mentor. The mentor and student will have regular consultation with the departmental internship coordinator to assess the student’s progress. Normally, 50 hours of internship per credit is required. The grade for the course will be determined by the student’s overall performance in their research work, a research paper documenting their work with their internship mentor and an oral or poster presentation at the end of the semester. Available for juniors and seniors.

Prerequisite(s): 2.5 GPA and permission of the instructor.