Undergraduate Requirements

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:

  1. Summer Steelman: Assistant Director/Liaison for the College of Sciences at Career Development Services
  2. 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 51Ç鱨վ 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 51Ç鱨վ: 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:

  1. Summer Steelman: Assistant Director/Liaison for the College of Sciences at Career Development Services
  2. 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 51Ç鱨վ 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 51Ç鱨վ: 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.