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
Students studying computer science will develop a broad technical understanding of the field, and will gain a deep appreciation of computing and its functions. Students collaborate while applying 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 prepare them for upper level courses on Computer Organization and Architecture, Operating Systems, Secure Software Engineering, Data Engineering and Parallel and Distributed Systems. Students are 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 are encouraged to apply their computational skills to a variety of research projects in the sciences.
Student Learning Outcomes
Graduates of the Computer Science major will be able to:
- Graduate with a broad technical understanding of computer science.
- Graduate with a deep appreciation of computing and its functions.
- Graduate with the ability to collaborate and apply their knowledge to real world problems.
- Graduate with a passion for lifelong learning, professional responsibility to uphold ethical behavior.
Degrees Offered:
-
B.S. in Computer Science
Contact
John Bochanski, Ph.D.
Associate Professor
Department of Computer Science and Physics
School of Science, Technology and Mathematics
Hennessy Science and Technology Center 204B
609-896-5184
jbochanski@rider.edu
Program Website: Computer Science
Associated Department: Department of Computer Science and Physics
Related programs:
Computer Science Major Requirements
Note: A grade of 'C' or better is required in 100-level CSC or CYB courses.
(64 Credits)
Code | Title | Credits |
---|---|---|
Computer Science Core | ||
Complete the following courses: | ||
CSC 110 | Computer Science I | 3 |
CSC 120 | Computer Science II | 3 |
CSC 130 | Data Structures and Algorithms | 3 |
CSC 140 | Discrete Structures | 3 |
CSC 150 | Cyber Ethics and Societal Impact | 3 |
CSC 200 | Introduction to Software Engineering | 3 |
CSC 220 | Computer Organization and Architecture | 3 |
CSC 230 | Probability for Computer Science | 3 |
CSC 240 | Operating Systems | 3 |
or CYB 200 | Operating Systems & Cybersecurity | |
CSC 350 | Analysis of Algorithms | 3 |
Mathematics | ||
MTH 210 | Calculus I | 4 |
MTH 211 | Calculus II | 4 |
Physics | ||
PHY 200 & 200L | General Physics I and General Physics I Lab | 4 |
PHY 201 & 201L | General Physics II and General Physics II Lab | 4 |
Elective Courses | 6 | |
Select two of the following courses: | ||
Computer Networks | ||
Theory of Computation | ||
Human-Computer Interaction | ||
Database Systems 1,2 | ||
Parallel and Distributed Systems | ||
Independent Research and Study | ||
Internship in Computer Science | ||
Track Requirements | 12 | |
Complete one of the following tracks: | ||
Track: Cyber Security | ||
Ethical Hacking and Penetration Testing | ||
Software Security Engineering | ||
Network Defenses and Countermeasures | ||
Cybersecurity Essentials | ||
Track: Artificial Intelligence 3 | ||
Concept of Artificial Intelligence | ||
Introduction to Machine Learning | ||
Data Science and Big Data Analytics | ||
Special Topics in Artificial Intelligence | ||
Track: Software Engineering | ||
Software Requirements & Modeling | ||
Software Design & Construction | ||
Software Testing, Verification, and Validation | ||
Software Quality Assurance | ||
Track: General 4 | ||
Select two of the following: | ||
Software Requirements & Modeling | ||
Cybersecurity Essentials | ||
Concept of Artificial Intelligence | ||
Software Design & Construction | ||
Select two of the following: | ||
Introduction to Machine Learning | ||
Data Science and Big Data Analytics | ||
Software Testing, Verification, and Validation | ||
Software Quality Assurance | ||
Special Topics in Artificial Intelligence | ||
Total Credits | 64 |
- 1
This course is offered through the Department of Information Systems, Analytics, and Supply Chain Management in the Norm Brodsky College of Business.
- 2
CIS 185 prerequisite is waived for CSC majors.
- 3
Note that this track requires an extra MTH class.
- 4
Students may also choose from the electives listed above, but are required to take unique courses (i.e., no double counting).
Computer Science Minor Requirements
(21 credits)
Code | Title | Credits |
---|---|---|
CSC 110 | Computer Science I | 3 |
CSC 120 | Computer Science II | 3 |
CSC 130 | Data Structures and Algorithms | 3 |
CSC 140 | Discrete Structures | 3 |
CSC 150 | Cyber Ethics and Societal Impact | 3 |
Select two of the following courses: | 6 | |
Computer Organization and Architecture | ||
Probability for Computer Science | ||
Operating Systems | ||
Software Security Engineering | ||
Theory of Computation | ||
Human-Computer Interaction | ||
Cybersecurity Essentials | ||
Analysis of Algorithms | ||
Parallel and Distributed Systems | ||
Data Science and Big Data Analytics | ||
Total Credits | 21 |
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 are in a Continuing Education Program; who change their major; or who transfer to Rider may follow a different plan to ensure a timely graduation. Each student, with guidance from their academic advisor, will develop a personalized educational plan.
Year 1 | ||
---|---|---|
Fall Semester | Credits | |
CSC 110 | Computer Science I | 3 |
CSC 140 | Discrete Structures | 3 |
MTH 210 | Calculus I 1 | 4 |
CMP 120 | Seminar in Writing and Rhetoric | 3 |
HIS 150 | Pre-Modern World: Evolution to Revolution | 3 |
Semester Credit Hours | 16 | |
Spring Semester | ||
CSC 120 | Computer Science II | 3 |
CSC 150 | Cyber Ethics and Societal Impact | 3 |
MTH 211 | Calculus II | 4 |
CMP 125 | Seminar in Writing and Research | 3 |
HIS 151 |
World in the Modern Era: Exploration to Globalization or Contemporary World: Historical Perspectives or Cold War: A Global History |
3 |
Semester Credit Hours | 16 | |
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 | |
Elective Course 2 | 3 | |
Semester Credit Hours | 15 | |
Spring Semester | ||
CSC 200 | Introduction to Software Engineering | 3 |
CSC 220 | Computer Organization and Architecture | 3 |
CSC 240 or CYB 200 |
Operating Systems or Operating Systems & Cybersecurity |
3 |
Social Perspectives | 3 | |
Elective Course 2 | 3 | |
Semester Credit Hours | 15 | |
Year 3 | ||
Fall Semester | ||
PHY 200 | General Physics I | 4 |
PHY 200L | General Physics I Lab | 0 |
CSC Upper-Level Elective | 3 | |
CSC Track Elective | 3 | |
Foreign Language | 3 | |
Philosophical Perspectives | 3 | |
Semester Credit Hours | 16 | |
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 |
Foreign Language | 3 | |
Aesthetic Perspectives: Fine Arts | 3 | |
Semester Credit Hours | 16 | |
Year 4 | ||
Fall Semester | ||
CSC Upper-Level Elective | 3 | |
CSC Track Elective | 3 | |
CSC Track Elective | 3 | |
Two Elective Courses 2 | 6 | |
Semester Credit Hours | 15 | |
Spring Semester | ||
CSC Upper-Level Elective | 3 | |
CSC Track Elective | 3 | |
Free Electives 2 | 5 | |
Semester Credit Hours | 11 | |
Total Credit Hours for Graduation | 120 |
- 1
For course placement information see https://www.rider.edu/student-life/first-year-experience/orientation/placement-testing
- 2
Please note that elective credits may be used to complete requirements in a second major or a minor.
Courses and Descriptions
CSC 105 Fundamentals of Computer Science 3 Credits
This course offers an introduction to fundamental areas of study in computer science - their applications, capabilities, and boundaries. Topics include computer organization, algorithms design and analysis, programming paradigms, software development process, operating systems
responsibilities, applications, and communications. Hands-on python programming is also introduced in this course from a non-mathematical problem-solving point of view. Basic programming constructs include statements, expressions, variables, control structures, functions,
and file operation.
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 or MTH 106 or MTH 210 or concurrent enrollment. MTH 210 or MTH 106 preferred for CSC majors.
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 or or concurrent enrollment or MTH 106 or concurrent enrollment or MTH 210 or concurrent enrollment.
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. CSC 150 is a required course for CSC majors and minors. This course will be open to other math and science majors.
Prerequisite(s): CMP 120 or CMP 125 or BHP 100 or BHP 150 may be taken concurrently.
CSC 200 Introduction to Software Engineering 3 Credits
This course introduces software engineering ideas and concepts in the context of the software development life cycle. The course will discuss fundamental methodologies of software engineering, the Software Development Life Cycle (SDLC) and Unified Modeling Language (UML), which is a modeling language in the field of software engineering. It also concentrates on the five major phases of the SDLC: requirements engineering, requirements analysis, design, coding/implementation, and testing. Students will also learn about project management which is used for delivering high-quality software that satisfies customer needs and budgets. Prerequisite(s): Sophomore or Junior Standing
Prerequisite(s): CSC 120.
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.
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 or concurrent enrollment.
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): CSC 130.
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. CSC 250 is a required course for CS majors.
Prerequisite(s): CSC 200.
CSC 260 Computer Networks 3 Credits
This course provides an introduction to the design and analysis of computer networks. Topics include application layer protocols, transport layer protocols, network layer protocols, data link layer and physical layer protocols. Also, the course will explore state-of-the art topics in computer networks such as Software Defined Networking (SDN) technologies and network security problems, etc.
Prerequisite(s): CSC 120 with a grade of C or better; permission of instructor.
CSC 301 Software Requirements & Modeling 3 Credits
This course is intended to introduce students with the techniques for eliciting requirements. . The course will consider the past, present and future standards and approaches in requirements engineering. This course will specifically focus on identifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers.
Prereq(s): CSC 200.
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.
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 150.
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.
CSC 360 Concept of Artificial Intelligence 3 Credits
This course offers an introduction to the basic principles, techniques, and applications of Artificial Intelligence. Topics to be covered include agent design, advanced search algorithms and heuristics, knowledge representation, logic, inference, game theory, advanced planning, and learning. Prereq(s): CSC 130 and CSC 230.
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.
CSC 390 Software Design & Construction 3 Credits
This course introduces students to software design methodologies and also equips them with the knowledge and skills necessary to design large-scale software and to improve the quality of end products. Design techniques and methodologies for improving the productivity of software development and the quality of software are introduced. The course explores fundamental design concepts and notations with emphasis on Unified Modeling Languages (UML) and design patterns.
Prerequisite(s): CSC 200.
CSC 400 Introduction to Machine Learning 3 Credits
This course focuses on the fundamental concepts, theories, and algorithms for machine learning. The course briefly covers topics in supervised, unsupervised, reinforced, and deep learning including clustering, association, regression, neural network, support vector machines, Bayesian decision theory, decision trees, ensemble learning- the nearest neighbor algorithm and random forest.
CSC 410 Data Science and Big Data Analytics 3 Credits
This course serves as an introduction to the interdisciplinary and emerging fields of data science and big data analytics. 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 science and data analytics processes; advanced analytical theory and methods; tools for working with both big and small datasets, statistical modeling, and machine learning. Specific topics and tools include: data wrangling and munging, machine learning algorithms, statistical models, data visualization, NoSQL, Weka, RapidMiner, R, Python, Hadoop, and MapReduce.
Prerequisite(s): CSC 360.
CSC 420 Software Testing, Verification, and Validation 3 Credits
This course discusses the concept software quality assurance and source code review. This course will help students understand the testing concepts and how they can easily apply the concepts to any software testing situation. This course presents the concepts and techniques for testing software and assuring its quality. Concepts that are taught as part of this course are software testing at the unit, module, subsystem, and system levels, automatic and manual techniques for generating and validating test data, the testing process, static vs. dynamic analysis, functional testing, web application testing, and reliability assessments.
Prerequisite(s): CSC 200.
CSC 430 Software Quality Assurance 3 Credits
The course aims to teach the basics of quality management in software development projects. Students will learn the definitions of quality of software product and software process. Students will learn about software quality assurance, software metrics and models in quality management, internal quality and external quality.
Prerequisite(s): CSC 420.
CSC 470 Special Topics in Artificial Intelligence 3 Credits
This is an upper level undergraduate course that covers advanced topics in Artificial Intelligence. Topics vary from one offering to the other. Topics that may be discussed include: Artificial Intelligence/ Machine Learning for Cybersecurity, Computer Vision, Robotics and Automation, Game Theory, Planning and Acting in the real World, Deep Learning, Reinforcement Learning, Decision-making under uncertainty, Image Processing, and Natural Language for Communication.
Prerequisite(s): CSC 360.
CSC 490 Independent Research and Study 3 Credits
Immerses the student in guided research. The student learns to organize material, use the literature, obtain reproducible data, and synthesize the results of the study. If possible, the student will publish the results or present them at a scientific meeting. Available to Junior or Senior students or Sophomores with permission of the department chair.
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.