Computer Science (Algorithm Theory) - Bachelor of Science

The Bachelor of Science in Computer Science is the traditional undergraduate degree in Computer Science. It is rigorously focused on educating the student in the fundamental disciplines of Computer Science. It prepares the student for any technological field in industry, and also provides the preparation for graduate studies in Computer Science. It is the main undergraduate degree in the Computer Science department, and should be the choice of a single-major Computer Science student. This degree is accredited by the ABET Computing Accreditation Commission (CAC) under the General and Computer Science Program Criteria (through 9/30/2022).

General Requirements Exception

A grade of at least C- must be earned in each of the courses taken to satisfy the departmental and non-departmental requirements. No course may be counted as satisfying both a departmental and a non-departmental requirement. No course taken to satisfy either a departmental or a non-departmental requirement may be taken S/U.

Requirements

Students who plan to seek employment at the bachelor level are advised to take one of the concentration area curricula in addition to the general and departmental requirements. An elective course cannot be used for more than two focuses. A course that is required for one concentration cannot be used as an elective course of another one.

Students must complete all University degree requirements, which include: General Education requirements, Viewing a Wider World requirements, and elective credits to total at least 120 credits with 48 credits in courses numbered 300 or above. Developmental coursework will not count towards the degree requirements and/or elective credits, but may be needed in order to take the necessary English and Mathematics coursework.

Prefix Title Credits
General Education Requirement
Area I: Communications 1
English Composition - Level 1 24
English Composition - Level 2
ENGL 2210GProfessional and Technical Communication Honors3
Oral Communication
Choose one from the following:3
Introduction to Communication3
Public Speaking3
Introduction to Communication Honors3
Area II: Mathematics
MATH 1511GCalculus and Analytic Geometry I 34
Area III/IV: Laboratory Sciences and Social/Behavioral Sciences11
Area III: Laboratory Sciences
Choose two different courses from the following:
Introduction to Astronomy Lecture & Laboratory4
Principles of Biology: Biodiversity, Ecology, and Evolution
and Principles of Biology: Biodiversity, Ecology, and Evolution Laboratory
4
Principles of Biology: Cellular and Molecular Biology
and Principles of Biology: Cellular and Molecular Biology Laboratory
4
General Chemistry I Lecture and Laboratory for STEM Majors4
General Chemistry II Lecture and Laboratory for STEM Majors4
Physical Geography4
Physical Geology4
Earth, Time and Life4
Algebra-Based Physics I
and Algebra-Based Physics I Lab
4
Algebra-Based Physics II
and Algebra-Based Physics II Lab
4
Calculus -Based Physics I
and Calculus -Based Physics I Lab
4
Calculus -Based Physics II
and Calculus -Based Physics II Lab
4
Area IV: Social/Behavioral Sciences (3 credits) 2
Area V: Humanities 23
Area VI: Creative and Fine Arts 23
General Education Elective
MATH 1521GCalculus and Analytic Geometry II 34
or MATH 1521H Calculus and Analytic Geometry II Honors
Viewing a Wider World 46
Departmental/College Requirements
C S 172Computer Science I4
C S 271Object Oriented Programming4
C S 272Introduction to Data Structures4
C S 273Machine Programming and Organization4
C S 278Discrete Mathematics for Computer Science4
C S 370Compilers and Automata Theory4
C S 371Software Development4
C S 372Data Structures and Algorithms4
C S 419Computing Ethics and Social Implications of Computing1
C S 448Senior Project4
or C S 449 Senior Thesis
C S 471Programming Language Structure I3
C S 474Operating Systems I3
C S 482Database Management Systems I3
Select 6 credits from the following: 56
Introduction to Cryptography3
Principles of Virtual Reality3
Modern Web Technologies3
Introduction to Deep Learning3
Graph Data Mining3
Architectural Concepts I3
Artificial Intelligence I3
Computer Graphics I3
Digital Game Design3
Computer Security3
Special Topics 61-6
Linux System Administration3
Visual Programming3
Computer Networks I3
Human-Centered Computing3
Bioinformatics3
Applied Machine Learning I3
Introduction to Data Mining3
Bioinformatics Programming3
Parallel Programming3
Cloud and Edge Computing3
Non-Departmental Requirements (in addition to Gen.Ed/VWW)
MATH 2415Introduction to Linear Algebra3
or MATH 4230 Applied Linear Algebra
Select one from the following:3
Introduction to Modern Algebra3
Introduction to Analysis3
Introduction to Numerical Methods3
Introduction to Ordinary Differential Equations3
Logic and Set Theory3
Elementary Number Theory3
Select one from the following:3
Statistical Applications3
Statistics for Engineers and Scientists3
Probability: Theory and Applications3
Lab Science Courses
Select one from the following: 54
Introduction to Astronomy Lecture & Laboratory4
Principles of Biology: Biodiversity, Ecology, and Evolution
and Principles of Biology: Biodiversity, Ecology, and Evolution Laboratory
4
Principles of Biology: Cellular and Molecular Biology
and Principles of Biology: Cellular and Molecular Biology Laboratory
4
General Chemistry I Lecture and Laboratory for STEM Majors4
General Chemistry II Lecture and Laboratory for STEM Majors4
Algebra-Based Physics I
and Algebra-Based Physics I Lab
4
Algebra-Based Physics II
and Algebra-Based Physics II Lab
4
Mechanics
and Experimental Mechanics
4
Electricity and Magnetism
and Electricity & Magnetism Laboratory
4
Calculus -Based Physics I
and Calculus -Based Physics I Lab
4
Calculus -Based Physics II
and Calculus -Based Physics II Lab
4
Second Language Requirements: (not required)
Electives, to bring the total credits to 120 714
The specific requirements for the concentration in Algorithm Theory are as follows:
Select 3-4 credits from the following:
Data Structures and Algorithms4
Algorithm Design & Implementation3
Select 9 credits from the following:
Artificial Intelligence I3
Computer Graphics I3
Applied Machine Learning I3
Introduction to Data Mining3
Total Credits120
1

Students with Area I transfer credits may sometimes complete this requirement with 9 credits

2

See the General Education section of the catalog for a full list of courses

3

MATH 1511G Calculus and Analytic Geometry I and MATH 1521G Calculus and Analytic Geometry II are required for the degree but students may need to take any prerequisites needed to enter MATH 1511G or MATH 1521G first.

4

See the Viewing a Wider World section of the catalog for a full list of courses.

5

A course can satisfy only one requirement.

6

Must be taken for 3 credits to count as a course.

7

Elective credit may vary based on prerequisites, dual credit, AP credit, double majors, and/or minor coursework. The amount indicated in the requirements list is the amount needed to bring the total to 120 credits and may appear in variable form based on the degree. However students may end up needing to complete more or less on a case-by-case basis and students should discuss elective requirements with their advisor.

A Suggested Plan of Study for Students

This roadmap assumes student  placement in MATH 1511G Intermediate Algebra and ENGL 1110G Rhetoric and Composition. The contents and order of this roadmap may vary depending on initial student placement in mathematics and english. It is only a suggested plan of study for students and is not intended as a contract. Course availability may vary from fall to spring semester and may be subject to modification or change.

Plan of Study Grid
FreshmanCredits
C S 172 Computer Science I 4
C S 271 Object Oriented Programming 4
C S 273 Machine Programming and Organization 4
ENGL 1110G Composition I 4
MATH 1511G Calculus and Analytic Geometry I 1 4
MATH 1521G
Calculus and Analytic Geometry II
or Calculus and Analytic Geometry II Honors
4
Area IV: Social/ Behavioral Sciences Course 2 3
Area V: Humanities Course 2 3
 Credits30
Sophomore
C S 272 Introduction to Data Structures 4
C S 278 Discrete Mathematics for Computer Science 4
C S 370 Compilers and Automata Theory 4
C S 372 Data Structures and Algorithms 4
COMM 1115G Introduction to Communication 3
ENGL 2210G Professional and Technical Communication Honors 3
MATH 2415
Introduction to Linear Algebra
or Applied Linear Algebra
3
Area VI: Creative and Fine Arts 2 3
Select one from the following: 3
Statistical Applications
Statistics for Engineers and Scientists
Probability: Theory and Applications
Elective credits if needed for financial aid requirements 3 3+
 Credits31-34
Junior
C S 371 Software Development 4
C S 471 Programming Language Structure I 3
C S 482 Database Management Systems I 3
Computer Science 400-level Elective 4 3
MATH elective (upper division) 5 3
Lab Science Elective 6 4
Lab Science Elective 6 4
Viewing a Wider World 7 3
Viewing a Wider World 7 3
Elective credits if needed for financial aid requirements 3 3
 Credits33
Senior
C S 448
Senior Project
or Senior Thesis
4
C S 419 Computing Ethics and Social Implications of Computing 1
C S 474 Operating Systems I 3
Lab Science Elective 6 4
Computer Science 400-level Elective 4 3
Upper division electives to bring total upper division to 48 3 4
Electives as needed to meet minimum credit requirements 3 7
 Credits26
 Total Credits120-123
1

MATH 1511G Calculus and Analytic Geometry I is required for the degree but students may need to take any prerequisites needed to enter MATH 1511G first.

2

See the General Education section of the catalog for a full list of courses

3

Students who plan to graduate with a concentration need to complete the specific requirements for the chosen concentration. 

Elective credit may vary based on prerequisites, dual credit, AP credit, double majors, and/or minor coursework. The amount indicated in the requirements list is the amount needed to bring the total to 120 credits and may appear in variable form based on the degree. However students may end up needing to complete more or less on a case-by-case basis and students should discuss elective requirements with their advisor.

4

See list of Computer Science electives in Degree Requirement Section. 

5

Math Electives:

6

See list of Lab Science courses in the Degree Requirement Section.

7

See the Viewing a Wider World section of the catalog for a full list of courses

Students planning to undertake graduate work in computer science are encouraged to consult with their advisor regarding the possibility of taking other computer science electives to satisfy their departmental requirements.