The objectives of the BS in Computer Science Program relate to the abilities of the graduates several years after graduation. The objectives include:

  • Foundation for successful careers in industry: Graduates of the program will have a broad understanding of the fundamental concepts, methodologies, tools, and applications of computer science. They will have the educational foundation that leads to successful careers in the computing industry.
  • Foundation for graduate study: Graduates of the program will have the academic preparation for successful completion of rigorous graduate programs.
  • Professional preparation: Graduates will have effective written and oral communication skills, and be able to work collaboratively in a professional and ethical manner.

This bachelor's degree program is accredited by the Computing Accreditation Commission of ABET.

Policies

Advanced Placement, Credit by Exam

A score of 4 on the Advanced Placement (AP) computer science exam qualifies the student for credit in CS 112 Introduction to Computer Programming (Mason Core).  A score of 4 on the International Baccalaureate (IB) computer science exam qualifies students for credit in CS 112 Introduction to Computer Programming (Mason Core), and a score of 5 or more qualifies students for credit in CS 211 Object-Oriented Programming.

Change of Major

Students who are considering computer science as their major must meet with the Volgenau School of Engineering Coordinator of Undergraduate Advising, 2500 Nguyen Engineering Building.  Students considering a change of major to computer science must have a GPA of at least 2.75 in all computer science and math courses, and successfully completed one of CS 112 or CS 211, and one of MATH 113MATH 114 or MATH 125, with a grade of B or better.  See Change of Major for more information. 

Computer Science, Computer Engineering Double Major

Computer Science majors can earn a double major in Computer Science and Computer Engineering if they complete additional credits beyond the 120 credits required for the Computer Science degree. The additional credits must be part of an approved plan of study. For more information, visit the department website.

Cooperative Education

Students may participate in the Mason cooperative education program or a work-study program in the Washington, D.C. area.

Grades

Students must earn a C or better in any course intended to satisfy a prerequisite for a computer science course. Computer science majors may not use more than one course with grade of C- or lower toward department requirements.

Repeating Courses

Students may attempt an undergraduate course taught by the Volgenau School of Engineering twice. A third attempt requires approval of the department offering the course. This policy does not apply to STAT 250 Introductory Statistics I (Mason Core), which follows the normal university policy for repeating undergraduate courses.

The CS Department may not allow students to retake certain high-demand CS courses in which they have already earned a grade of C or better simply to improve their GPA.

Termination from the Major

No math, science, or Volgenau School of Engineering course that is required for the major may be attempted more than three times. Those students who do not successfully complete such a course within three attempts will be terminated from the major. Undeclared students in the Volgenau School who do not successfully complete a course required for a Volgenau School major within three attempts will also be terminated. For more information, see AP.5.2.4 Termination from the Major.

Once a student has attempted one of these courses twice unsuccessfully, the third attempt must be no later than the next semester of enrollment, excluding summers. Failure to take the course at that time will result in termination from the major. If the student is unable to take the course when required, the student may request an extension to a future semester; extensions require approval of the student's advisor, their department, and the Associate Dean for Undergraduate Programs. The deadline for extension requests is the add deadline for the semester in which the course is required.

Students who have been terminated from a Volgenau School of Engineering major may not register for a Volgenau School course without permission of the department offering the course. This applies to all undergraduate courses offered by the Volgenau School except IT 104 Introduction to Computing (Mason Core) and STAT 250 Introductory Statistics I (Mason Core).

A student may not declare any major in the Volgenau School of Engineering if the student has previously met the termination criteria for that major at any time, regardless of what the student's major was at the time the courses were taken.

Writing-Intensive Requirement

Computer science majors complete the writing-intensive requirement through a sequence of projects and reports in CS 306 Synthesis of Ethics and Law for the Computing Professional (Mason Core) and CS 321 Software Engineering. Faculty members provide feedback on students' expository writing.

Banner Code: VS-BS-CS

Degree Requirements

Total credits: 120

Computer Science Core

CS 110Essentials of Computer Science 13
CS 112Introduction to Computer Programming (Mason Core)4
CS 211Object-Oriented Programming3
CS 262Introduction to Low-Level Programming3
CS 306Synthesis of Ethics and Law for the Computing Professional (Mason Core) 13
CS 310Data Structures3
CS 321Software Engineering3
CS 330Formal Methods and Models3
CS 367Computer Systems and Programming4
CS 471Operating Systems3
CS 483Analysis of Algorithms3
Total Credits35
1

Must be taken within the first year as an Applied Computer Science or Computer Science major.

Senior Computer Science

Select one from the following:3
Computer Communications and Networking
Secure Programming and Systems
Concurrent and Distributed Systems
Select four additional courses from the following:12
Game Programming I
Language Processors and Programming Environments
Database Concepts
Computer Graphics
Computer Communications and Networking
Comparative Programming Languages
Computer Systems Architecture
Secure Programming and Systems
Security Engineering
Concurrent and Distributed Systems
Mobile Application Development
Introduction to Artificial Intelligence
Computer Vision
Data Mining
Autonomous Robotics
Design Exhibition
Industry-Sponsored Senior Design Project 1
Special Topics in Computer Science 1
Numerical Analysis I
Numerical Methods in Engineering
Total Credits15
1

Only three credits of CS 491 and only three credits of CS 499 Special Topics in Computer Science can be used toward the senior computer science requirement.

Mathematics

MATH 113Analytic Geometry and Calculus I (Mason Core)4
MATH 114Analytic Geometry and Calculus II4
MATH 125Discrete Mathematics I (Mason Core)3
MATH 203Linear Algebra3
MATH 213Analytic Geometry and Calculus III3
Total Credits17

Note:

MATH 104 Trigonometry and Transcendental Functions, MATH 105 Precalculus Mathematics, MATH 108 Introductory Calculus with Business Applications (Mason Core), and courses with an IT designation (and any associated cross-listed courses) cannot be counted toward this degree.

Statistics

STAT 344Probability and Statistics for Engineers and Scientists I 13
Total Credits3
1

Those planning to take MATH 352 Statistics may replace STAT 344 Probability and Statistics for Engineers and Scientists I with MATH 351 Probability.

Computer Science-Related Courses

Students may need to choose electives to satisfy prerequisites for the following courses:

Select two courses from the following:6
Probability and Statistics for Engineers and Scientists II
Discrete Systems Modeling and Simulation
Deterministic Operations Research
Stochastic Operations Research
Digital Electronics
Digital Circuit Design
Single-Chip Microcomputers
Introduction to Robotics
Microprocessors
Design and Implementation of Software for the Web
Software Testing and Maintenance
Software Architectures
Systems Engineering Management
Human Factors Engineering
Philosophy of Natural Sciences
Symbolic Logic
Professional and Technical Writing
Any MATH or CS course numbered above 300 (except MATH 351) 1
Total Credits6
1

Those planning to take MATH 352 Statistics may replace STAT 344 Probability and Statistics for Engineers and Scientists I with MATH 351 Probability.

Natural Science

Select 12 credits of natural science12
Total Credits12

The courses should be intended for science and engineering students and must include a two course sequence with laboratories. Some approved combinations have a total of more than 12 hours.

Approved Two-Course Sequences with Laboratories

Biology
BIOL 103
BIOL 104
Introductory Biology I (Mason Core)
and Introductory Biology II (Mason Core)
8
Chemistry
CHEM 211
CHEM 213
General Chemistry I (Mason Core)
and General Chemistry Laboratory I (Mason Core)
4
CHEM 212
CHEM 214
General Chemistry II (Mason Core)
and General Chemistry Laboratory II (Mason Core)
4
Geology
GEOL 101
GEOL 102
Introductory Geology I (Mason Core)
and Introductory Geology II (Mason Core)
8
Physics
PHYS 160
PHYS 161
University Physics I (Mason Core)
and University Physics I Laboratory (Mason Core)
4
PHYS 260
PHYS 261
University Physics II (Mason Core)
and University Physics II Laboratory (Mason Core)
4

Communication

COMM 100Public Speaking (Mason Core) 13
Total Credits3
1

Computer Science students must make a technical presentation. 

Additional Mason Core

Students must complete all Mason Core  requirements not fulfilled by major requirements.

Written Communication 16
Literature3
Arts3
Western Civilization/World History3
Social and Behavioral Sciences3
Global Understanding3
Total Credits21
1

CS majors must take the Natural Sciences section of ENGH 302 Advanced Composition (Mason Core).

Electives

Students must complete 8 elective credits8
Total Credits8

Honors in the Major

The Department of Computer Science offers a CS Honors Program for students with strong computational foundations and the drive to delve deeper into computing. The program is based on the bachelor of science in computer science and applied computer science curriculum and is distinct from the University Honors College curriculum.

Entry Requirements

Students must be seeking a Bachelor of Science in Computer Science or a Bachelor of Science in Applied Computer Science and must apply for entry into the CS Honors Program after completing 12 credits of CS courses. Applicants must meet the GPA requirements outlined below to enter into the CS Honors Program.

Honors Requirements

CS Honors Program students must fulfill all standard courses required by the Bachelor of Science in Computer Science or Applied Computer Science degree as well as the following additional requirements:

  • GPA Requirement: Students must maintain an overall GPA of at least 3.50 and a GPA of at least 3.50 for courses which count towards the BS/CS or BS/ACS major including math, natural sciences, and all CS/SWE courses.
  • Research Project Requirement: Students must complete a significant research project prior to graduation. Students should seek out a CS faculty member willing to serve as their research advisor for the project. The project should comprise original work by the student and be demonstrated via two channels:
    1. a written project report that is approved by the student's research advisor and submitted to the department;
    2. a presentation of the project to an audience of students and/or faculty.
  • Advanced Course Requirement: At least two Advanced Courses must be completed.  A complete list of acceptable advanced courses is maintained by the CS department and is available on the department web site.

Computer Science, BS/Computer Science, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Computer Science, MS

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data Structures, CS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap.

Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students are permitted to take additional graduate basic courses in their undergraduate programs. In such cases, those classes cannot be counted toward requirements for the MS.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Data Analytics Engineering, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Data Analytics Engineering, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data Structures, CS 330 Formal Methods and Models and CS 367 Computer Systems and Programming

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap.

Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for:

CS 584Theory and Applications of Data Mining3
Select one of the following courses in place of the corresponding 400-level courses:3
Database Systems
Introduction to Artificial Intelligence
Total Credits6

Note:

Students are permitted to take additional graduate basic courses in their undergraduate programs. In such cases, those classes cannot be counted toward requirements for the MS.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Information Security and Assurance, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Information Security and Assurance, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply for this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data StructuresCS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap. Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students complete all MS in Information Security and Assurance core courses and apply the two courses from the above list toward the requirements.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Information Systems, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Information Systems, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data StructuresCS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap. Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students complete all MS in Information Systems core courses and apply the two courses from above toward the elective requirements.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Software Engineering, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Software Engineering, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data Structures, CS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap. Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students complete all MS in Software Engineering core courses and apply the two courses from the above list toward the elective requirements.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.