Joan P. Brock School of Mathematics & Natural Sciences

Computer Science

B.A. B.S. Minor: Computer Science Minor: Data Science Minor: Cybersecurity

Department Chair: Dr. Margaret Reese

Computer Science is the study of how to design, build, and reason about software and algorithms — skills that apply everywhere from business and medicine to entertainment and manufacturing. The program covers everything from entry-level programming to advanced topics, supported by dedicated computing labs and resources.

Students choose between a B.A., a broad foundation in computer science fundamentals, and a B.S., which adds a stronger science and mathematics foundation along with a required undergraduate research experience. Both options prepare students well for graduate study. Upper-level electives let students specialize in areas like databases, numerical methods, programming language design, or cybersecurity.

The department also offers minors in Computer Science, Data Science, and Cybersecurity for students in other majors who want a technical credential alongside their primary field of study.

Requirements

CS 112 Computer Programming I
4 hrs
CS 212 Computer Programming II
4 hrs
CS 205 Foundations of Logic and Proof
4 hrs
CS 310 Introduction to Computer Systems
4 hrs
CS 311 Data Structures
4 hrs
300/400-level Electives Three courses (up to two may be Cybersecurity courses): CS 331 Systems Analysis and Design · CS 350 Numerical Methods · CS 380 Programming Languages · CS 430 Database Management Systems Design · CS 440 Operating Systems · CS 389 Advanced Topics in Computer Science · CS 489 Research in Computer Science · CYB 301 Cybersecurity Essentials and Tools · CYB 320 Cyber Networks and Communication · CYB 389 Advanced Topics in Cybersecurity · CYB 423 Operating Systems Security and Administration · CYB 445 Ethical Hacking and Penetration Testing · other CS/CYB courses at the 300 level or higher as approved by advisor
12 hrs
MATH 171 Calculus I
4 hrs
MATH 210 Introductory Statistics
4 hrs
Total Hours Required 40

Courses

Computer Science coursework spans programming fundamentals, data structures, systems, and theory, with upper-level electives in databases, numerical methods, programming languages, and cybersecurity. Relevant Mathematics and Information Systems (ISP) courses required by the degree are listed below alongside core CS coursework.

CS 100 4 credits

Computer Concepts and Applications

Topics include basic concepts of computer hardware and software; the development of the computer, networks, and the Internet; programming logic; Web page development with HTML/CSS; application software such as word processing, spreadsheet, database, and presentation software; and social concerns associated with the widespread use of computers. Prerequisite: placement level H, A, B, or C. Students with credit for CS 112 or higher by consent only. Offered every spring.

CS 107 4 credits

Introduction to Python Programming

The basic components of Python programming language are studied. Topics include variables and types, expressions, statements, conditions with selection and looping, functions. Concepts and basics on lists, tuples, sets and dictionaries are also presented. Prerequisite: placement level H, A, B, or C. Students with credit for CS 112 or higher by consent only. Offered every fall.

CS 110 4 credits

Introduction to Programming with Visual BASIC

An introductory programming course that uses Visual BASIC programming language. Topics include the program development process, structured programming, data types, assignment, selection, looping, subroutines, one-dimensional arrays, files, and random numbers. Prerequisite: placement level H, A, or B, or MATH 104 with a grade of C- or higher, or consent. Students with credit for CS 112 or higher by consent only. Offered every spring.

CS 112 4 credits

Computer Programming I

An introduction to computer programming using a modern programming language. Topics include the program development process, structured programming, data types, variables and expressions, input/output, assignment, selection, looping, functions, and arrays. Prerequisite: placement level H, A, or B, or MATH 104 with a grade of B or higher, or consent. CS 107, CS 110 or a high school programming class is strongly recommended. Offered every semester.

CS 201 2 credits

Intro to 3D Modeling/Printing

Introduction to 3D modeling and printing. Several software packages are used to create and manipulate 3D models. Topics also include a survey of current applications of 3D printing, the mechanics of basic 3D printing technology, and factors involved in achieving a successful 3D print. Prerequisite: sophomore status or higher, and placement level B or higher or MATH 104 with a grade of C or higher. Offered intermittently.

CS 205 4 credits

Foundations of Logic and Proof

Introduction to abstract mathematical thinking and logical reasoning skills needed in upper-level Math/CS courses. Topics include logic, argument, proofs, induction, sets, and abstract functions and relations. Emphasizes mathematical writing. Identical to MATH 205. Prerequisite: MATH 217 with a grade of C- or higher, or CS 212 with a grade of C or higher, or consent. Recommended spring of sophomore year. Offered every spring.

CS 212 4 credits

Computer Programming II

A continuation of CS 112. Topics include advanced programming design in static methods (void and value-returning methods), arrays used in methods, classes, array-based lists, selection sort, binary search, object-oriented programming techniques (inheritance, polymorphism, and composition), and recursion. Prerequisite: CS 202 with a grade of C- or higher, CS 112 with a grade of C or higher, or consent. Offered every semester.

CS 305 1 credit

Teaching Experience

Qualified students assist computer science instructors in the teaching of CS courses and laboratories assigned in the classroom. May be repeated for credit, but students may apply no more than 4 semester hours towards the major or minor. Prerequisite: a grade of B or higher in CS 212, and consent. Students may repeat this course pending satisfactory performance in previous enrollment(s). Offered every semester.

CS 307 4 credits

Data Science Using Python

The advanced Python programming techniques and applications in data science are studied. Topics include control structures, lists, tuples, sets and dictionaries, as well as the popular Python modules in data science including math, statistics, NumPy, and Pandas. Case studies on data analysis, visualization, series and frames are also covered. Prerequisite: A grade of C or higher in MATH 210 and a grade of a B or higher in either CS 107 or CS 212, or consent. Offered fall of even-numbered years.

CS 310 4 credits

Introduction to Computer Systems

Introduces the basic concepts of computer organization and assembly language. Specific topics include CPU and memory organization, machine language, addressing techniques, macros, program segmentation and linkage, and assembler construction. Satisfies the oral competency requirement for computer science majors. Prerequisite: CS 212 with a grade of C or higher and consent. Offered fall of odd-numbered years.

CS 311 4 credits

Data Structures

An introduction to commonly used computer data structuring techniques. Topics include abstract data types, classes, queues, stacks, linked lists, algorithm analysis, sorting, searching, trees, and graphs. Prerequisite: CS 212 with a grade of C or higher or consent. Offered every fall.

CS 331 4 credits

Systems Analysis and Design

Introduces the concepts, principles, and stages of computer-based information systems analysis and design. Topics include the system development environment, project management, system requirements definition, interface and structure design, and system implementation and administration. Prerequisite: CS 212 with a grade of C or higher or consent. Offered intermittently.

CS 350 4 credits

Numerical Methods

Examines methods used in solving numerical problems with the aid of a computer. Topics include floating-point arithmetic, interpolation, integration, roots of non-linear equations, ordinary differential equations, and systems of linear equations. Identical to MATH 350. Students enrolled in the pre-engineering program with ODU cannot receive credit for this course and the cross-registered courses MAE 340 or CEE 305. Prerequisites: MATH 172 with a grade of C- or higher and CS 212 with a grade of C- or higher, or consent. Offered spring of even-numbered years.

CS 380 4 credits

Programming Languages

Introduces students to the historical development of programming languages and to the decisions involved in the design and implementation of such programming language features as elementary, structured, and user-defined data types, subprograms, sequence control, data control, and storage management. Selected features of several existing languages are examined in the context of these issues. Prerequisite: CS 212 with a grade of C or higher or consent. Offered intermittently.

CS 389 4 credits

Advanced Topics in Computer Science

Explores an area of computer science which is not otherwise included in the curriculum. Students may repeat the course for credit as the topic varies. Prerequisite: CS 212 with a grade of C or higher and consent. Offered intermittently.

CS 430 4 credits

Database Management Systems Design

Emphasizes the concepts and structures necessary to design and implement database systems using a relational database management system. Various database management system architectures illustrating hierarchical, network, and relational models are discussed. Physical data storage techniques, file security, data integrity, and data normalization are also explored. Prerequisite: CS 212 with a grade of C or higher or consent. Offered intermittently.

CS 440 4 credits

Operating Systems

Introduces the principles of operating systems emphasizing intersystem communication. Examines concepts and techniques necessary for understanding and designing these systems. Topics include I/O and interrupt structure, concurrent processes, process scheduling, and memory management and protection. Prerequisite: CS 212 with a grade of C or higher or consent. CS 310 is recommended. Offered intermittently.

CS 470 2 or 4 credits

Internship in Computer Science

An intensive computer science project conducted in a professional setting. Pass/Fail grading. Prerequisite: junior/senior status, cumulative GPA of at least 2.5, and consent. Offered intermittently.

CS 489 2 or 4 credits

Research in Computer Science

Offers students the opportunity to conduct original scientific research in an area of interest. Students work closely with one or more members of the natural science faculty to develop and conduct a research project, then present their findings orally during the semester's undergraduate research symposium and as a formal research paper. Students are encouraged to present their findings at a conference. Prerequisites: junior/senior status and a major in Computer Science, prior approval by the project advisor, and consent of the instructor. Students may enroll for 2 or 4 hours in a given semester. May be repeated for a maximum total of 8 semester hours. Identical to BIO 489, CHEM 489, EES 489, and MATH 489. Offered intermittently.

ISP 101 4 credits

Fundamentals of Information Systems

Introduces students to the fundamental principles and practices of utilizing information systems to help organizations achieve their goals and carry out their missions. While the course serves as the introductory course in the Information Systems Program curriculum, it is a suitable elective for any student interested in the subject. Students should have a working knowledge of Internet use and computer applications such as word processing, spreadsheets, presentation graphics, and e-mail. Offered every semester.

CYB 101 4 credits

Cybersecurity Basics

An entry-level exploration into the world of cybersecurity, introducing students to critical threats (e.g., malware, phishing), fundamental principles (e.g., authentication, authorization), and foundational technologies (e.g., antivirus, firewalls, and intrusion detection systems), making it ideal for beginners seeking a smooth start into the cybersecurity field. Prerequisite: Math placement level B or higher or MATH 104 with a grade B or higher. Offered every fall.

CYB 230 4 credits

Unix Operating System

An introduction to Unix operating system covering the Unix file system, Unix shell, and basic utilities used for file management, process monitoring, and text processing. Through practical exercises, students will master file navigation and management, use VI editor, and effectively perform tasks within a Unix environment. Prerequisite: Math placement level B or higher or MATH 104 with a grade B or higher. Offered every spring.

CYB 301 4 credits

Cybersecurity Essentials and Tools

The course examines the concepts, principles, and applications of cybersecurity in the IT infrastructure and explores the knowledge and skills needed to ensure security of information and information systems within organizations. Prerequisite: CYB 101 with a grade of C- or higher and consent. Offered spring of even-numbered years.

CYB 320 4 credits

Cyber Networks and Communication

Networks and Cybersecurity is an introductory course that provides students with the foundational knowledge in networking necessary for cybersecurity. The curriculum encompasses a study of network infrastructures, OSI Model layers, Internet Protocol suites, and network security protocols. Aimed at equipping students with the knowledge and competencies essential for further studies and advancement in networks and cybersecurity. Prerequisite: CYB 101 with a grade of C- or consent. Offered fall of odd-numbered years.

CYB 389 4 credits

Advanced Topics in Cybersecurity

Explores an area of cybersecurity which is not otherwise included in the curriculum. Students may repeat the course for credit as the topic varies. Prerequisite: CYB 101 with a grade of C- or higher and CYB 230 with a grade of C- or higher. May be repeated up to two times for credit as topics change. Offered spring of even-numbered years.

CYB 423 4 credits

Operating Systems Security and Administration

This course provides and in-depth examination of operating system security. Students will learn about vulnerabilities, file permissions, kernel security, and various security tools. The course combines theoretical concepts with practical exercises for securing local and remote systems. Prerequisite: CYB 101 with a grade of C- or higher and CYB 230 with a grade of C- or higher or consent. CYB 301 is recommended. Offered fall of odd-numbered years.

CYB 445 4 credits

Ethical Hacking and Penetration Testing

This course delves into ethical hacking and penetration testing, with a focus on vulnerability scanning, system, and web security. Through hands-on activities, students learn to assess system security while following ethical and legal guidelines. The curriculum prepares students for cybersecurity roles by blending theory and practice. Prerequisite: CYB 101 with a grade of C- or higher and CYB 230 with a grade of C- or higher or consent. CYB 320 (Cyber Networks and Communication) is recommended. Offered spring of even-numbered years.

CYB 470 4 credits

Internship in Cybersecurity

An intensive experience in the cybersecurity field conducted in a professional setting where students engage in real-world tasks, challenges, and projects related to cybersecurity. Prerequisites: junior/senior status, cumulative GPA of at least 2.5, and consent. Offered intermittently.

CYB 489 4 credits

Research in Cybersecurity

Students conduct original research in cybersecurity, working closely with faculty to develop projects. They present findings orally at the research symposium and in a research paper, with encouragement to present at a conference. Prerequisite: Junior/senior status and consent. Can be taken multiple times. Offered intermittently.

MATH 171 4 credits

Calculus I

Students learn the basic tools of calculus, why they work, and how to apply them in various contexts. Calculus I develops differential calculus through symbolic, graphical, and numerical approaches. Topics include differentiation of algebraic and transcendental functions, applications in modeling and optimization, the Fundamental Theorem of Calculus, and an introduction to differential equations. Prerequisite: placement level A or MATH 170 (grade C- or higher). Offered every semester.

MATH 172 4 credits

Calculus II

A continuation of Calculus I. More advanced techniques are studied and used to solve quantitative problems in various contexts. Topics include integration techniques, applications of definite integration, polar coordinates, parametric equations, and sequences and series. Prerequisite: MATH 136 or 171 with a grade of C- or higher or consent. Offered every semester.

MATH 210 4 credits

Introductory Statistics

Introduces students to learning from data. Topics include the basics of data production, data analysis, probability, Central Limit Theorem, and statistical inference. Statistical software is used for data management, calculation, and visualization. No previous knowledge of statistics is required. Students cannot receive credit for both MATH 210 and PSY 210. Prerequisites: sophomore status or higher, and placement level H, A, or B, or MATH 104 with a grade of C- or higher. Not appropriate for first-year students. Students must have a TI-83 or TI-84 graphing calculator. Offered every semester.

MATH 217 4 credits

Linear Algebra

The study of vector spaces and linear equations in several variables. Topics include systems of linear equations, vector spaces, linear dependence of vectors, bases, dimension, linear transformations, matrices, determinants, and applications. Prerequisite: MATH 172 with a grade of C- or higher, or consent. Offered every fall.

MATH 310 4 credits

Statistical Models

A course in applied data analysis. Emphasizes construction of models for authentic data sets. Statistical software is used extensively for analyzing real data sets from various contexts. Topics include parametric and non-parametric tests, simple and multiple regression, and ANOVA. Prerequisites: ENG 105 with a grade of C or higher, MATH 172 with a grade C or higher, and MATH 210 with a grade C or higher, or consent. Offered spring of even-numbered years.

PHYS 221 4 credits

University Physics I

CATALOG DESCRIPTION NOT FOUND IN SOURCE MATERIAL. Required for the B.S. track but no course description for PHYS 221 appears anywhere in this source file. Flagged for Academic Affairs — confirm catalog copy before publishing.

Graduate & Dual Degree Pathways

Computer Science students have access to a guaranteed admission engineering pathway through Batten University's partnership agreements. Contact your advisor for current eligibility requirements and application deadlines.

Old Dominion University

Batten College of Engineering & Technology

Guaranteed Admission

Pre-Engineering pathway to MS programs in Aerospace, Biomedical, Civil, Computer, Electrical, Environmental, and Mechanical Engineering, plus Modeling & Simulation.

View All Dual Degree Programs

Career Outcomes

Software Development

A strong programming foundation across multiple languages prepares students for software engineering, application development, and full-stack development roles.

Software Engineering Application Development Web Development

Data Science & Analytics

Coursework in data structures, statistics, and Python-based data science supports careers in data analysis, machine learning, and business intelligence.

Data Science Analytics Machine Learning

Cybersecurity

Upper-level cybersecurity coursework and the dedicated minor prepare students for roles in information security, network defense, and ethical hacking.

Cybersecurity Network Security Information Security

Graduate Study & Research

The B.S. track's required research experience prepares students for graduate study in computer science, data science, and related technical fields.

Graduate School Research Engineering

Faculty

Abdullah Al-Alaj
Abdullah Al-Alaj

Assistant Professor of Computer Science

John Wang (John)
John Wang (John)

Professor of Computer Science