Undergraduate Requirements
Bachelor of Science in Computer Science degree seeking students must:
- Achieve a minimum cumulative grade point average of 2.00 overall and in the major.
- Complete 120 credit hours, which must include both a minimum of 30 credit hours overall and 12 credit hours in upper-level courses in the major.
- Earn a grade of C (2.0) or better in all (non-elective) computer science courses required for the major and in all computer science prerequisite courses.
- Complete a minimum of 12 credits of upper-level (300/400) computer science elective courses in addition to the required courses.
- Earn a grade of C (2.0) or better in all Math prerequisite courses.
- Complete 3 science/technical courses to include:
- A full year (parts I and II) of Nature of Science from the specified options
- One additional science course that lists Math prerequisites, and is not specifically excluded as an option.
- Earn a passing score on the CS Exit Exam.
- Students must complete the University Writing Requirements:
- Written Communication I: ENGL 110C with a grade of C (2.0) or better
- Written Communication II: ENGL 211C (preferred) with a grade of C (2.0) or better
- Computer Science WE Course: CS 411W with a grade of C (2.0) or better
- Completion of a University Senior Assessment
- File an application for graduation by the published deadlines
50 credits - A grade of C (2.0) or better is required for each class listed in the list of required courses beginning with the 2000 catalog.
CS 151 - Introduction to Programming with Java (preferred)
     OR CS 153 - Introduction to Programming with Python
     OR CS 150 - Introduction to Programming with C++ (transfer credit)
CS 170Â - Fundamentals of Computer Organization
CS 251 - Programming with Java
     OR CS 253 - Programming with Python (transfer credit)
     OR CS 250 - Programming with C++ (transfer credit)
CS 252Â - Introduction to Unix for Programmers
CS 260 - C++ for Programmers
CS 270Â - Introduction to Computer Architecture
CS 315 - Computer Science Undergraduate Colloquium* Or CS 115 - Introduction to Computer Science with Python
CS 330Â - Object Oriented Programming Design
CS 350Â - Introduction to Software Engineering
CS 355Â - Principles of Programming Languages
CS 361Â - Advanced Data Structures and Algorithms
CS 381Â - Introduction to Discrete Structures
CS 390Â - Introduction to Theoretical Computer Science
CS 410Â - Professional Workforce Development I - Capstone course
CS 411WÂ - Professional Workforce Development II Capstone Course
CS 417Â - Computational Methods and Software
CS 450Â - Databases Concepts ORÂ CS 418Â - Web Programming
CS 471Â - Operating Systems
The major emphasis categories for these courses follows:
Programming:Â CS 151, 153, 251, 260, 261, 263, 361, 350, 330, 355
Computer Architecture:Â CS 170, 270, 471
Applied Technology:Â CS 410, 411W
Computational Mathematics:Â CS 381, 390, 417
Data Management:Â CS 450 or CS 418
*Students who complete CS 115 do not need to complete CS 315. Both may be taken.
14 Credits in Total
- Math 211 (4)
- Math 212 (4)
- Stat 330 (3)
- Math 316 (3)
12 Credits - CS 300/400-level electives excluding CS 300T, 334 & 382
Cybersecurity
CS 462Â - Cybersecurity Fundamentals
CS 463Â - Cryptography for Cybersecurity
CS 464Â - Networked Systems Security
CS 465Â - Information Assurance
CS 466Â - Principles and Practice of Cyber Defense
CS 467Â - Introduction to Reverse Software Engineering
CS 469Â - Data Analytics for Cybersecurity
Data Management
CS 450Â - Database Concepts**
Data Science
CS 422Â - Introduction to Machine Learning
CS 432Â - Web Science
CS 469Â - Data Analytics for Cybersecurity
CS 480Â - Introduction to Artificial Intelligence
Game Development
CS 460Â - Computer Graphics
CS 480Â - Introduction to Artificial Intelligence
Honors
CS 491Â - Honors Research I
CS 492Â - Honors Research II
CS 499WÂ - Honors Thesis in Computer Science
Network
CS 455Â - Introduction to Networks and Communications
CS 472Â - Network and Security
CS 486Â - Introduction to Parallel Computing
CS 487Â - Applied Parallel Computing
Systems
CS 476Â - Systems Programming
Web Programming
CS 312Â - Internet Concepts
CS 418Â - Web Programming**
CS 431Â - Web Server Design
CS 432Â - Web Sciences
CS 441Â - App Development for Smart Devices
Miscellaneous
CS 478Â - Computational Geometry, Methods and Applications
CS 488Â - Principles of Compiler Construction
**One of CS450 or CS418 are required. The other may be used as an elective.
CS 367/8 Computer Science Internship
Interested students should contact Summer Steelman, Assistant Director/Liaison College of Sciences, at 757-683-3282 or ssteelma@odu.edu. She will assist you in getting set up for one of these classes. These courses are organized by Career Development Services (CDS).
The following are responsible for grading your work report:
- Summer Steelman: Assistant Director/Liaison for the College of Sciences at Career Development Services
- Janet Brunelle: Chief Departmental Advisor/Professor in charge of your Intern/Co-op class
Solving society's problems through innovation relies upon a strong foundation of mathematical and scientific reasoning. Partnered with proficient programming knowledge and skills, advanced knowledge of theory, architecture, algorithms, and software engineering, the alumni of our undergraduate program will be prepared for a future in the professional workforce, research and entrepreneurship.
The Bachelor of Science in Computer Science degree program requires the completion of three (3) science courses; a year of Nature of Science and one Technical Elective. Traditionally, engineering programs required a full-year of calculus-based physics and a full-year of chemistry. Computer Science students may select to prepare themselves for a future of scientific reasoning with an understanding of any ÌÒ»¨ÉçÇøÊÓƵ supported scientific foundational courses.
Nature of Science is a component of the lower division general education requirements for a Bachelor of Science degree. Computer Science majors may select from the first year courses required in the disciplines offered in the College of Sciences at ÌÒ»¨ÉçÇøÊÓƵ: Biology, Chemistry, Physics, and Oceanography. The options available are restricted to the courses taken for these majors, and must include two sequential semesters of study which are laboratory-based.
The third laboratory science course is referred to as a Technical Elective. It may be non-sequential courses, yet must be selected from the same College of Sciences disciplines, and must have a mathematics prerequisite.
Notes:
- DegreeWorks lists the available options and exclusions.
- Technical Electives options of Chemistry 121N, Chemistry 123N do not required the associate laboratory components.
- Biology 121N and Biology 123N may be taken without the associate laboratory component with special accommodations supplied by the CDA.
- Military credits (MP) that are problem-solving based may be applied as technical electives with the approval of the CDA.
- Transferred courses (TP) taken prior to acceptance into the BSCS program may be applied as substitutions for Technical Electives by the CDA.
- Technical electives are waived for second degree seeking students and those completing double majors.
The requirements for General Education are dependent on the catalog year. The categories for the requirements are usually listed as followed:
- Written Communication I
- Written Communication II
- Oral Communication
- Mathematics (met in major)
- Language & Culture
- Information Literacy & Research
- Human Behavior
- Human Creativity
- Interpreting the Past
- Literature
- Nature of Science
- Philosophy & Ethics
- Impact of Technology (met through the major)
Visit the for more information.
50 credits - A grade of C (2.0) or better is required for each class listed in the list of required courses beginning with the 2000 catalog.
CS 151 - Introduction to Programming with Java (preferred)
     OR CS 153 - Introduction to Programming with Python
     OR CS 150 - Introduction to Programming with C++ (transfer credit)
CS 170Â - Fundamentals of Computer Organization
CS 251 - Programming with Java
     OR CS 253 - Programming with Python (transfer credit)
     OR CS 250 - Programming with C++ (transfer credit)
CS 252Â - Introduction to Unix for Programmers
CS 260 - C++ for Programmers
CS 270Â - Introduction to Computer Architecture
CS 315 - Computer Science Undergraduate Colloquium* Or CS 115 - Introduction to Computer Science with Python
CS 330Â - Object Oriented Programming Design
CS 350Â - Introduction to Software Engineering
CS 355Â - Principles of Programming Languages
CS 361Â - Advanced Data Structures and Algorithms
CS 381Â - Introduction to Discrete Structures
CS 390Â - Introduction to Theoretical Computer Science
CS 410Â - Professional Workforce Development I - Capstone course
CS 411WÂ - Professional Workforce Development II Capstone Course
CS 417Â - Computational Methods and Software
CS 450Â - Databases Concepts ORÂ CS 418Â - Web Programming
CS 471Â - Operating Systems
The major emphasis categories for these courses follows:
Programming:Â CS 151, 153, 251, 260, 261, 263, 361, 350, 330, 355
Computer Architecture:Â CS 170, 270, 471
Applied Technology:Â CS 410, 411W
Computational Mathematics:Â CS 381, 390, 417
Data Management:Â CS 450 or CS 418
*Students who complete CS 115 do not need to complete CS 315. Both may be taken.
14 Credits in Total
- Math 211 (4)
- Math 212 (4)
- Stat 330 (3)
- Math 316 (3)
12 Credits - CS 300/400-level electives excluding CS 300T, 334 & 382
Cybersecurity
CS 462Â - Cybersecurity Fundamentals
CS 463Â - Cryptography for Cybersecurity
CS 464Â - Networked Systems Security
CS 465Â - Information Assurance
CS 466Â - Principles and Practice of Cyber Defense
CS 467Â - Introduction to Reverse Software Engineering
CS 469Â - Data Analytics for Cybersecurity
Data Management
CS 450Â - Database Concepts**
Data Science
CS 422Â - Introduction to Machine Learning
CS 432Â - Web Science
CS 469Â - Data Analytics for Cybersecurity
CS 480Â - Introduction to Artificial Intelligence
Game Development
CS 460Â - Computer Graphics
CS 480Â - Introduction to Artificial Intelligence
Honors
CS 491Â - Honors Research I
CS 492Â - Honors Research II
CS 499WÂ - Honors Thesis in Computer Science
Network
CS 455Â - Introduction to Networks and Communications
CS 472Â - Network and Security
CS 486Â - Introduction to Parallel Computing
CS 487Â - Applied Parallel Computing
Systems
CS 476Â - Systems Programming
Web Programming
CS 312Â - Internet Concepts
CS 418Â - Web Programming**
CS 431Â - Web Server Design
CS 432Â - Web Sciences
CS 441Â - App Development for Smart Devices
Miscellaneous
CS 478Â - Computational Geometry, Methods and Applications
CS 488Â - Principles of Compiler Construction
**One of CS450 or CS418 are required. The other may be used as an elective.
CS 367/8 Computer Science Internship
Interested students should contact Summer Steelman, Assistant Director/Liaison College of Sciences, at 757-683-3282 or ssteelma@odu.edu. She will assist you in getting set up for one of these classes. These courses are organized by Career Development Services (CDS).
The following are responsible for grading your work report:
- Summer Steelman: Assistant Director/Liaison for the College of Sciences at Career Development Services
- Janet Brunelle: Chief Departmental Advisor/Professor in charge of your Intern/Co-op class
Solving society's problems through innovation relies upon a strong foundation of mathematical and scientific reasoning. Partnered with proficient programming knowledge and skills, advanced knowledge of theory, architecture, algorithms, and software engineering, the alumni of our undergraduate program will be prepared for a future in the professional workforce, research and entrepreneurship.
The Bachelor of Science in Computer Science degree program requires the completion of three (3) science courses; a year of Nature of Science and one Technical Elective. Traditionally, engineering programs required a full-year of calculus-based physics and a full-year of chemistry. Computer Science students may select to prepare themselves for a future of scientific reasoning with an understanding of any ÌÒ»¨ÉçÇøÊÓƵ supported scientific foundational courses.
Nature of Science is a component of the lower division general education requirements for a Bachelor of Science degree. Computer Science majors may select from the first year courses required in the disciplines offered in the College of Sciences at ÌÒ»¨ÉçÇøÊÓƵ: Biology, Chemistry, Physics, and Oceanography. The options available are restricted to the courses taken for these majors, and must include two sequential semesters of study which are laboratory-based.
The third laboratory science course is referred to as a Technical Elective. It may be non-sequential courses, yet must be selected from the same College of Sciences disciplines, and must have a mathematics prerequisite.
Notes:
- DegreeWorks lists the available options and exclusions.
- Technical Electives options of Chemistry 121N, Chemistry 123N do not required the associate laboratory components.
- Biology 121N and Biology 123N may be taken without the associate laboratory component with special accommodations supplied by the CDA.
- Military credits (MP) that are problem-solving based may be applied as technical electives with the approval of the CDA.
- Transferred courses (TP) taken prior to acceptance into the BSCS program may be applied as substitutions for Technical Electives by the CDA.
- Technical electives are waived for second degree seeking students and those completing double majors.
The requirements for General Education are dependent on the catalog year. The categories for the requirements are usually listed as followed:
- Written Communication I
- Written Communication II
- Oral Communication
- Mathematics (met in major)
- Language & Culture
- Information Literacy & Research
- Human Behavior
- Human Creativity
- Interpreting the Past
- Literature
- Nature of Science
- Philosophy & Ethics
- Impact of Technology (met through the major)
Visit the for more information.
4 Year Degree Plans
Degree plans for Associate in Computer Science from VCCS:
- Taking CS252 prior to attending ÌÒ»¨ÉçÇøÊÓƵ
- Taking CS252 in the first term of attending ÌÒ»¨ÉçÇøÊÓƵ
Degree plans for lower-level math placement:
Useful Links
4 Year Degree Plans
Degree plans for Associate in Computer Science from VCCS:
- Taking CS252 prior to attending ÌÒ»¨ÉçÇøÊÓƵ
- Taking CS252 in the first term of attending ÌÒ»¨ÉçÇøÊÓƵ
Degree plans for lower-level math placement:
Useful Links
4 Year Degree Plans
Degree plans for Associate in Computer Science from VCCS:
- Taking CS252 prior to attending ÌÒ»¨ÉçÇøÊÓƵ
- Taking CS252 in the first term of attending ÌÒ»¨ÉçÇøÊÓƵ
Degree plans for lower-level math placement:
Useful Links
4 Year Degree Plans
Degree plans for Associate in Computer Science from VCCS:
- Taking CS252 prior to attending ÌÒ»¨ÉçÇøÊÓƵ
- Taking CS252 in the first term of attending ÌÒ»¨ÉçÇøÊÓƵ
Degree plans for lower-level math placement: