Bachelor of Science in Computer Science Computer Science (BSCS)
Requirements
The Bachelor of Science in Computer Science requires the successful completion of a minimum of 120 semester credit hours of approved course work. At least 30 credit hours overall and 12 credit hours in upper-level courses in the major program must be completed at Old Dominion University. In order to gain appropriate exposure and competency in basic computer science theory and applications, students must satisfy the General Education requirements and departmental requirements.
Lower-Division General Education
Code | Title | Credit Hours |
---|---|---|
Written Communication | 6 | |
Oral Communication | 3 | |
Mathematics | 3 | |
Language and Culture | 0-6 | |
Information Literacy and Research | 3 | |
Human Behavior | 3 | |
Human Creativity | 3 | |
Interpreting the Past | 3 | |
Literature | 3 | |
Philosophy and Ethics | 3 | |
The Nature of Science | 8 | |
Impact of Technology | 3 |
Written Communication: Grade of C or better required in both courses.
Mathematics (satisfied in the major)
Oral Communication: COMM 101R or PHIL 160R
Information Literacy and Research: CS 121G or CS 202G
Language and Culture (competence must be at the 102 level)
Impact of Technology (satisfied through the major by CS 330, CS 350, CS 410, and CS 411W)
The Nature of Science: Computer Science majors must complete two Nature of Science courses in sequence for a total of eight credits from the following:
Code | Title | Credit Hours |
---|---|---|
BIOL 121N & BIOL 122N | General Biology I and General Biology I Lab | 4 |
BIOL 123N & BIOL 124N | General Biology II and General Biology II Lab | 4 |
BIOL 136N & BIOL 137N | Honors General Biology I and Honors General Biology I Lab | 4 |
BIOL 138N & BIOL 139N | Honors General Biology II and Honors General Biology II Lab | 4 |
CHEM 105N & CHEM 106N | Introductory Chemistry and Introductory Chemistry Laboratory | 4 |
CHEM 107N & CHEM 108N | Introductory Organic and Biochemistry and Introductory Organic and Biochemistry Laboratory | 4 |
CHEM 121N & CHEM 122N | Foundations of Chemistry I Lecture and Foundations of Chemistry I Laboratory | 4 |
CHEM 123N & CHEM 124N | Foundations of Chemistry II Lecture and Foundations of Chemistry II Laboratory | 4 |
OEAS 106N & OEAS 108N | Introductory Oceanography and Understanding Global Climate Change | 8 |
OEAS 106N & OEAS 250N | Introductory Oceanography and Natural Hazards and Disasters | 8 |
OEAS 126N & OEAS 108N | Honors: Introductory Oceanography and Understanding Global Climate Change | 8 |
OEAS 126N & OEAS 250N | Honors: Introductory Oceanography and Natural Hazards and Disasters | 8 |
PHYS 111N & PHYS 112N | Introductory General Physics and Introductory General Physics | 8 |
PHYS 226N & PHYS 227N | Honors: University Physics I and Honors: University Physics II | 8 |
PHYS 231N & PHYS 232N | University Physics I and University Physics II | 8 |
Upper-Division General Education
- Option A. Approved Disciplinary Minor (a minimum of 12 hours determined by the department), or second degree or second major.
- Option B: Interdisciplinary Minor (specifically 12 hours, 3 of which may be in the major)
- Option C. An approved Certification Program such as teaching licensure
- Option D. Two Upper-Division Courses from outside the College of Sciences and not required by the major (6 hours)
Requirements for Graduation
Requirements for graduation include the following:
- Minimum of 120 credit hours.
- Minimum of 30 credit hours overall and 12 credit hours of upper-level courses in the major program from Old Dominion University.
- Minimum overall cumulative grade point average of C (2.00) in all courses taken.
- Minimum overall cumulative grade point average of C (2.00) in all courses taken toward the major.
- Minimum overall cumulative grade point average of C (2.00) in all courses taken toward a minor.
- Completion of ENGL 110C, ENGL 211C or ENGL 231C, and the writing intensive (W) course in the major with a grade of C or better. The W course must be taken at Old Dominion University.
- Completion of Senior Assessment.
Computer Science Major
Code | Title | Credit Hours |
---|---|---|
General Education | ||
Complete lower-division requirements | 35-41 | |
Complete upper-division requirements (minimum of 6 credit hours) | 6-12 | |
Computer Science | ||
Required Computer Science Courses | ||
Select one of the following: | 4 | |
Introduction to Programming with Java | ||
or | ||
Introduction to Programming with Python | ||
or | ||
Introduction to Programming with C++ | ||
CS 170 | Introduction to Computer Architecture I | 3 |
Select one of the following: | 5-6 | |
Programming with Java and C++ for Programmers | ||
or | ||
Transfer Credit for Programming with Python and C++ for Programmers and Java for Programmers | ||
or | ||
Programming with C++ and Java for Programmers | ||
CS 252 | Introduction to Unix for Programmers | 1 |
CS 270 | Introduction to Computer Architecture II | 3 |
CS 315 | Computer Science Undergraduate Colloquium * | 1 |
or CS 115 | Introduction to Computer Science with Python | |
CS 330 | Object-Oriented Design and Programming | 3 |
CS 350 | Introduction to Software Engineering | 3 |
CS 355 | Principles of Programming Languages | 3 |
CS 361 | Data Structures and Algorithms | 3 |
CS 381 | Introduction to Discrete Structures | 3 |
CS 390 | Introduction to Theoretical Computer Science | 3 |
CS 410 | Professional Workforce Development I | 3 |
CS 411W | Professional Workforce Development II | 3 |
CS 417 | Computational Methods and Software | 3 |
CS 450 | Database Concepts (or) | 3 |
or CS 418 | Web Programming | |
CS 471 | Operating Systems | 3 |
Elective Computer Science Courses | ||
Select three additional CS courses from the following: ** | 9 | |
Introduction to Digital Image Processing | ||
Internet Concepts | ||
Formal Software Foundations | ||
Web Programming | ||
Introduction to Machine Learning | ||
Web Server Design | ||
Web Science | ||
Web Security | ||
App Development for Smart Devices | ||
Database Concepts | ||
Introduction to Networks and Communications | ||
Computer Graphics | ||
Cybersecurity Fundamentals | ||
Cryptography for Cybersecurity | ||
Networked Systems Security | ||
Information Assurance for Cybersecurity | ||
Principles and Practice of Cyber Defense | ||
Introduction to Reverse Software Engineering | ||
Data Analytics for Cybersecurity | ||
Network and Systems Security | ||
Introduction to Computer Simulation | ||
Systems Programming | ||
Computational Geometry, Methods and Applications | ||
Introduction to Artificial Intelligence | ||
Introduction to Parallel Computing | ||
Applied Parallel Computing | ||
Principles of Compiler Construction | ||
Honors Research I in Computer Science | ||
Honors Research II in Computer Science | ||
Honors Thesis in Computer Science | ||
Other Required Courses | ||
MATH 211 | Calculus I | 4 |
MATH 212 | Calculus II | 4 |
MATH 316 | Introductory Linear Algebra | 3 |
STAT 330 | An Introduction to Probability and Statistics | 3 |
Technical Elective *** | 3-4 | |
Total Credit Hours | 117-131 |
- *
CS 115 is not open to students with prior credit for CS 150, CS 151, or CS 153. Students who have taken CS 115 may also take CS 315.
- **
Excluding CS 300T and CS 315. Computer science majors may select their own electives from the CS offerings. Up to six credits of work experience (CS 367 or CS 368) may be used.
- ***
Computer Science majors must complete one course not counted toward another degree requirement. These may be selected from the following biology, chemistry, ocean and earth science, and physics courses: BIOL 121N, BIOL 123N, BIOL 136N, BIOL 138N, CHEM 105N, CHEM 107N, CHEM 121N, CHEM 123N, OEAS 106N, OEAS 108N, OEAS 110N, OEAS 111N, OEAS 112N, OEAS 126N, OEAS 250N, PHYS 111N, PHYS 112N, PHYS 226N, PHYS 227N, PHYS 231N, PHYS 232N. With the approval of a computer science advisor, other technically oriented courses may be used to meet this requirement.
Computer science majors must earn a grade of C or better in all (non-elective) computer science courses required for the major and in all computer science prerequisite courses and in the writing intensive (W) course in the major. A minimum of 9 credits of upper-level (300/400) computer science elective courses must be completed in addition to the required courses.
Computer Science Major Double Degree/Major Options
Computer science majors may also complete the requirements for a second degree or second major in computer engineering, cybersecurity, or cyber operations. Students interested in a second degree or second major in cybersecurity or cyber operations should contact their computer science advisor. A five-year degree program guide for students pursuing degrees in computer science and computer engineering can be found below. Students seeking two degrees should be aware that a minimum of 150 credit hours is required.
Computer Science (BSCS) & Computer Engineering Major (BSCE) 5-Year Plan
Additional Requirements and Information
Advanced Placement
Advanced placement credit is awarded to students who earn qualifying scores on AP and IB subject examinations. See the equivalency charts on the Office of Undergraduate Admissions website at https://ww1.odu.edu/academics/academic-records/score-analysis/ap-ib.
Cooperative Education
Computer science majors interested in gaining practical experience and on-the-job training while completing undergraduate degree requirements may find opportunities through participation in the Cooperative Education Program.
Those students usually start in the junior year working with an employer in a field of computer science. Students must apply through the Center for Career & Leadership Development prior to registering for Cooperative Education credit. All work experiences must be approved by the Center for Career & Leadership Development and the academic department concerned.
Undergraduates can earn a maximum of six semester credits through cooperative education that apply toward degree requirements. For further information, see the Center for Career & Leadership Development section of this Catalog.
Honors Program in Computer Science
Undergraduate computer science majors maintaining an overall GPA of at least 3.25 and of 3.50 in the major have the opportunity to participate in the Honors Program in Computer Science (program coordinator: Dr. Jing He). Students who complete the program and also meet the University's standards for graduation with honors (see description in this Catalog) may earn the designation of departmental honors on their diplomas. Students must complete one of three options.
A. Departmental Honors in Computer Science
Students maintaining an overall GPA of at least 3.25 and of 3.50 in computer science can receive a "Bachelor's Degree with Honors in Computer Science" subject to satisfaction of the minimum University standards for the departmental honors and completion of one of the following three options:
1. Successful completion of two semesters of honors research taken as either CS 491 and CS 492 or CS 491 and CS 499W.
2. Successful completion of four upper-division courses in Computer Science as “Contract Honors Courses” and achievement of the "Honors" designation in each.
3. Successful completion of one semester of honors research taken as CS 491 and two “Contract Honors Courses” in Computer Science and achievement of the Contract Honors designation in each.
Note: Completion of at least 60 credit hours at Old Dominion University, 54 of which must be in grade-point graded courses, is also required. Candidates who have used grade forgiveness or adjusted resident credit should be aware that the enhanced grade point average determined by use of these procedures does not determine eligibility for departmental honors. To determine eligibility for departmental honors, the student’s complete record, including grades and hours for courses that have been forgiven or adjusted, will be evaluated to calculate the final grade point average.
B. Honors Research Scholars
Undergraduates with junior or senior standing and a minimum of 3.0 GPA (or with approval by Honors Program Coordinator) are eligible to participate in Honors Research. After consultation with the Honors Program Coordinator, students select a faculty member who agrees to oversee the research project. The research project, time commitment, and the basis for grading are mutually determined by the student and the mentor. An outline is to be submitted and approved by the Honors Program Coordinator before registration of the course. Students are expected to perform mentored research. Faculty mentors encourage students to present/publish results at scientific conferences or journals. Students are encouraged to apply for funds to support undergraduate research. The following honors research courses are provided:
Code | Title | Credit Hours |
---|---|---|
CS 491 | Honors Research I in Computer Science | 3 |
CS 492 | Honors Research II in Computer Science | 3 |
CS 499W | Honors Thesis in Computer Science | 3 |
C. Contract Honors Designation for Upper-Division Computer Science courses
Students with a grade point average of at least 3.25 may convert any upper-division computer science course into an Honors course on an individual basis. No grade below B is accepted for Honors designation. An Honors designation of a course requires successful completion of honors-level tasks to be agreed upon by the student and the instructor. Students who plan to apply for the honors designation of a course are required to communicate with the instructor before registration. Students are required to submit an outline of honors work to Honors Program Coordinator and obtain an approval before the start of the semester in which the course is taken.
Degree Program Guide
The Degree Program Guide is a suggested curriculum to complete this degree program in four years. It is just one of several plans that will work and is presented only as broad guidance to students. Each student is strongly encouraged to develop a customized plan in consultation with their academic advisor. Additional information can also be found in Degree Works.
Freshman | ||
---|---|---|
Fall | Credit Hours | |
ENGL 110C | English Composition (Grade of C or better required) | 3 |
MATH 211 | Calculus I | 4 |
Select one of the following: | 4 | |
Introduction to Programming with Java or Introduction to Programming with Python |
||
Human Behavior | 3 | |
Language & Culture I (May be waived; See requirement details) | 0-3 | |
Credit Hours | 14-17 | |
Spring | ||
ENGL 211C or ENGL 231C (Grade of C or better required) | 3 | |
MATH 212 | Calculus II | 4 |
CS 170 | Introduction to Computer Architecture I | 3 |
CS 251 | Programming with Java | 4 |
CS 252 | Introduction to Unix for Programmers | 1 |
Elective or Language & Culture II (May be waived; See requirement details) | 3 | |
Credit Hours | 18 | |
Sophomore | ||
Fall | ||
MATH 316 | Introductory Linear Algebra | 3 |
CS 270 | Introduction to Computer Architecture II | 3 |
CS 330 | Object-Oriented Design and Programming | 3 |
Oral Communication: COMM 101R or PHIL 160R | 3 | |
Nature of Science I (Must be in sequence) | 4 | |
Credit Hours | 16 | |
Spring | ||
STAT 330 | An Introduction to Probability and Statistics | 3 |
CS 260 | C++ for Programmers | 1 |
CS 361 | Data Structures and Algorithms | 3 |
Information Literacy and Research: CS 121G or CS 202G | 3 | |
Nature of Science II (Must be in sequence) | 4 | |
Credit Hours | 14 | |
Junior | ||
Fall | ||
CS 315 | Computer Science Undergraduate Colloquium ** | 1 |
CS 355 | Principles of Programming Languages | 3 |
CS 381 | Introduction to Discrete Structures | 3 |
Human Creativity | 3 | |
Upper-Division General Education Course (Option D) | 3 | |
Credit Hours | 13 | |
Spring | ||
CS 350 | Introduction to Software Engineering | 3 |
CS 390 | Introduction to Theoretical Computer Science | 3 |
CS 450 or CS 418 |
Database Concepts or Web Programming |
3 |
Literature | 3 | |
Interpreting the Past | 3 | |
Credit Hours | 15 | |
Senior | ||
Fall | ||
CS 410 | Professional Workforce Development I | 3 |
CS 417 | Computational Methods and Software | 3 |
Technical Elective | 3-4 | |
Elective CS course | 3 | |
Philosophy & Ethics | 3 | |
Credit Hours | 15-16 | |
Spring | ||
CS 411W | Professional Workforce Development II | 3 |
CS 471 | Operating Systems | 3 |
Elective CS course | 3 | |
Elective CS course | 3 | |
Upper-Division General Education Course (Option D) | 3 | |
Credit Hours | 15 | |
Total Credit Hours | 120-124 |
** Students who have completed CS 115 are not required to take CS 315.
Linked Bachelor of Science in Computer Science and Master of Business Administration
This program allows students to earn a Bachelor of Science in Computer Science and a Master of Business Administration. After students have satisfactorily completed their undergraduate requirements, they must complete the remaining requirements in the MBA program. Additional information can be found in the section on BS/MBA Linked Program at the beginning of the College of Sciences section of this Catalog and the Strome College of Business section in the Graduate Catalog.
Linked Bachelor of Science in Computer Science and Master of Science in Computer Science
This program allows for exceptionally successful students to earn both a BSCS and an MS in Computer Science by allowing up to 12 credits of graduate coursework to count toward both their bachelor’s and master’s degree in Computer Science. All options available under the MS degree are available under this program. Students must earn a minimum of 150 credit hours (120 discrete credit hours for the undergraduate degree and 30 discrete credit hours for the graduate degree).
Admission
To be admitted to the linked program, students must have completed at least 60 undergraduate credit hours with at least 24 credit hours from ODU. Students must have completed CS 361, CS 381, MATH 212 and all prerequisites for those courses. At the time of admission, they must have an overall GPA of 3.00 or better, and an overall GPA of 3.00 or better in CS and MATH courses.
Interested students who meet the admission requirements should apply to the graduate program director, after consulting with the undergraduate chief departmental advisor, as soon as possible upon completing the required courses and 60 credit hours. In consultation with the graduate program director, a student will:
- Officially declare an undergraduate Computer Science major with the undergraduate chief departmental advisor.
- Draft a schedule of graduate courses to be taken as an undergraduate to be presented to the undergraduate chief departmental advisor.
- Apply, during their senior year, to the Office of Graduate Admissions for admission to the master's in computer science program.
Students who have completed at least six hours of graduate courses upon attaining senior standing (completion of 90 credit hours) and who have earned a GPA of 3.00 or better in those courses will not be required to take the Graduate Record Exam (GRE) for admission to the master's program. Otherwise, in keeping with normal admission requirements for the MS in computer science, students will take the GRE as an undergraduate and will subsequently be reevaluated for continuation into the master's program.
Once students have been awarded their bachelor's degree and fulfilled all regular admission requirements for the MS in computer science, they will be officially admitted into the MS program.
Program Requirements
Students in the program will fulfill all normal admission and curricular requirements for both a Bachelor of Science in Computer Science and an MS in computer science with the following exceptions:
- Students in the program may count up to 12 hours of graduate courses, at the 500 or 600 level, excluding independent study, taken as an undergraduate toward both the bachelor's and master's degrees in computer science.
- Students in the program may substitute computer science graduate courses for undergraduate courses according to the following schema. All students must complete an undergraduate writing intensive course in the major.
Students may substitute 500- and 600-level courses for the upper-level CS electives in the undergraduate program so long as they have the prerequisites for those courses. 700- or 800-level courses may not be used. - Students will not receive credit for both the 400 and 500 level version of the same course.
- Students in the program may make a written petition for other substitutions to the graduate program director, who will consider them in consultation with the chief departmental advisor and the instructor(s) of the courses involved.
- To maximize the accelerated benefit one or more of the following required courses should be selected: CS 517, CS 518, CS 550, or CS 571.
- Students in the program may substitute computer science graduate courses for undergraduate courses according to the following schema. All students must complete an undergraduate writing intensive course in the major.
NOTES:
- In accordance with University policy, up to 21 hours of graduate courses taken as an undergraduate may be counted toward the bachelor's degree in computer science. However, only 12 hours of graduate courses taken as an undergraduate may also be counted toward the MS degree in computer science. This will limit students' scheduling flexibility subsequently.
- Like students in the regular MS in computer science program, students in the linked BSCS/MS computer science degree may count no more than 12 hours at the 500-level toward their MS degree. Students are advised against taking all 12 of those 500-level credits as an undergraduate, since doing so will limit their scheduling flexibility subsequently.
Linked Bachelor of Science in Computer Science and Master of Science in Data Science and Analytics
This program allows for exceptionally successful students to earn both a BSCS and an MS in Data Science and Analytics by allowing up to 12 credits of graduate coursework to count toward both their bachelor’s degree in Computer Science and master’s degree in Data Science and Analytics. All options available under the MS degree are available under this program. Students must earn a minimum of 150 credit hours (120 discrete credit hours for the undergraduate degree and 30 discrete credit hours for the graduate degree).
Admission
To be admitted to the linked program, students must have completed at least 60 undergraduate credit hours with at least 24 credit hours from ODU. Students must have completed CS 361 , CS 381, MATH 212 and all prerequisites for those courses. At the time of admission, they must have an overall GPA of 3.00 or better, and an overall GPA of 3.00 or better in CS and MATH courses.
Interested students who meet the admission requirements should apply to the graduate program director, after consulting with the undergraduate chief departmental advisor, as soon as possible upon completing the required courses and 60 credit hours. In consultation with the graduate program director, a student will:
- Officially declare an undergraduate Computer Science major with the undergraduate chief departmental advisor.
- Draft a schedule of graduate courses to be taken as an undergraduate to be presented to the undergraduate chief departmental advisor.
- Apply, during their senior year, to the Office of Graduate Admissions for admission to the master's in Data Science and Analytics program.
Students who have completed at least six hours of graduate courses upon attaining senior standing (completion of 90 credit hours) and who have earned a GPA of 3.00 or better in those courses will not be required to take the Graduate Record Exam (GRE) for admission to the master's program. Otherwise, in keeping with normal admission requirements for the MS in Data Science and Analytics, students will take the GRE as an undergraduate and will subsequently be reevaluated for continuation into the master's program.
Once students have been awarded their bachelor's degree and fulfilled all regular admission requirements for the MS in data science and analytics, they will be officially admitted into the MS program.
Program Requirements
Students in the program will fulfill all normal admission and curricular requirements for both a Bachelor of Science in Computer Science and an MS in Data Science and Analytics with the following exceptions:
- Students in the program may count up to 12 hours of graduate courses, at the 500 or 600 level, excluding independent study, taken as an undergraduate toward both the bachelor's and master's degrees.
- Students in the program may substitute computer science graduate courses for undergraduate courses according to the following schema. All students must complete an undergraduate writing intensive course in the major.
Students may substitute 500- and 600-level courses for the upper-level CS electives in the undergraduate program so long as they have the prerequisites for those courses. 700- or 800-level courses may not be used. - Students will not receive credit for both the 400 and 500 level version of the same course.
- Students in the program may make a written petition for other substitutions to the graduate program director, who will consider them in consultation with the chief departmental advisor and the instructor(s) of the courses involved.
- Students in the program may substitute computer science graduate courses for undergraduate courses according to the following schema. All students must complete an undergraduate writing intensive course in the major.
The graduate courses taken must be from the following:
Code | Title | Credit Hours |
---|---|---|
CS 550 | Database Concepts | 3 |
Choose three from the following:* | 9 | |
Introduction to Machine Learning | ||
Web Science | ||
Data Analytics for Cybersecurity | ||
Introduction to Artificial Intelligence | ||
Total Credit Hours | 12 |
- *
Substitutions of other computer science courses may be made with approval of the graduate program director.
NOTE:
- In accordance with University policy, up to 21 hours of graduate courses taken as an undergraduate may be counted toward the bachelor's degree in computer science. However, only 12 hours of graduate courses taken as an undergraduate may also be counted toward the MS degree in Data Science and Analytics. This will limit students' scheduling flexibility subsequently.
BA or BS to MBA (Master of Business Administration) Linked Program
The linked BA/MBA or BS/MBA program is an early entry to the MBA program of study. The early-entry program is designed for well qualified non-business undergraduate ODU students to start their MBA program prior to completing their undergraduate degree. Well qualified non-business undergraduate students may take MBA-level courses as early as three semesters prior to graduation and count up to 12 graduate credits toward their undergraduate degree. Students participating in the early-entry program must earn a minimum of 150 credit hours (120 discrete credit hours for the undergraduate degree and 30 discrete credit hours for the graduate degree). Early-entry program students should carefully consider their undergraduate degree program requirements when planning their course of study. Students in the early-entry program work in close consultation with the MBA Program Office and should refer to information in the Strome College of Business section in the graduate catalog to develop an individualized plan of study based on the required coursework.
BA or BS to MPA (Master of Public Administration) Linked Program
The linked BA/MPA or BS/MPA program provides qualified Old Dominion University undergraduate students with the opportunity to earn a master's degree in public administration while taking credits in the MPA program as an undergraduate student. The program is designed for highly motivated students with the desire to immediately continue their education after the bachelor's degree. The program is especially relevant to individuals seeking to work (or currently working) in the public or non-profit sectors, but is suitable for students from any undergraduate major. Graduate courses may be taken during the fall and spring semester of the student's senior undergraduate year. Up to 12 graduate credits can count toward both the undergraduate and graduate degree and can meet upper-level General Education requirements. After receiving the undergraduate degree, a student will continue with the MPA program, taking MPA courses until completing the required 39 credit hours. Students in the linked program must earn a minimum of 150 credit hours (120 discrete credit hours for the undergraduate degree and 30 discrete credit hours for the graduate degree).
Requirements for admission to the graduate program can be found in the School of Public Service section of the Graduate Catalog. For additional information, please contact the School of Public Service in the Strome College of Business.