Computer Science (Software Development) - 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 2 | 4 | |
English Composition - Level 2 | ||
ENGL 2210G | Professional and Technical Communication Honors | 3 |
Oral Communication | ||
Choose one from the following: | 3 | |
Introduction to Communication | 3 | |
Public Speaking | 3 | |
Introduction to Communication Honors | 3 | |
Area II: Mathematics | ||
MATH 1511G | Calculus and Analytic Geometry I 3 | 4 |
Area III/IV: Laboratory Sciences and Social/Behavioral Sciences | 11 | |
Area III: Laboratory Sciences | ||
Choose two different courses from the following: | ||
Introduction to Astronomy Lecture & Laboratory | 4 | |
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 Majors | 4 | |
General Chemistry II Lecture and Laboratory for STEM Majors | 4 | |
Physical Geography | 4 | |
Physical Geology | 4 | |
Earth, Time and Life | 4 | |
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 2 | 3 | |
Area VI: Creative and Fine Arts 2 | 3 | |
General Education Elective | ||
MATH 1521G | Calculus and Analytic Geometry II 3 | 4 |
Viewing a Wider World 4 | 6 | |
Departmental/College Requirements | ||
C S 172 | Computer Science I | 4 |
C S 271 | Object Oriented Programming | 4 |
C S 272 | Introduction to Data Structures | 4 |
C S 273 | Machine Programming and Organization | 4 |
C S 278 | Discrete Mathematics for Computer Science | 4 |
C S 370 | Compilers and Automata Theory | 4 |
C S 371 | Software Development | 4 |
C S 372 | Data Structures and Algorithms | 4 |
C S 419 | Computing Ethics and Social Implications of Computing | 1 |
C S 448 | Senior Project | 4 |
or C S 449 | Senior Thesis | |
C S 471 | Programming Language Structure I | 3 |
C S 474 | Operating Systems I | 3 |
C S 482 | Database Management Systems I | 3 |
Select 6 credits from the following: 5 | 6 | |
Introduction to Cryptography | 3 | |
Principles of Virtual Reality | 3 | |
Modern Web Technologies | 3 | |
Introduction to Deep Learning | 3 | |
Graph Data Mining | 3 | |
Architectural Concepts I | 3 | |
Artificial Intelligence I | 3 | |
Computer Graphics I | 3 | |
Digital Game Design | 3 | |
Computer Security | 3 | |
Special Topics 6 | 1-6 | |
Linux System Administration | 3 | |
Visual Programming | 3 | |
Computer Networks I | 3 | |
Human-Centered Computing | 3 | |
Bioinformatics | 3 | |
Applied Machine Learning I | 3 | |
Introduction to Data Mining | 3 | |
Bioinformatics Programming | 3 | |
Parallel Programming | 3 | |
Cloud and Edge Computing | 3 | |
Non-Departmental Requirements (in addition to Gen.Ed/VWW) | ||
MATH 2415 | Introduction to Linear Algebra | 3 |
or MATH 4230 | Applied Linear Algebra | |
Select one from the following: | 3 | |
Introduction to Modern Algebra | 3 | |
Introduction to Analysis | 3 | |
Introduction to Numerical Methods | 3 | |
Introduction to Ordinary Differential Equations | 3 | |
Logic and Set Theory | 3 | |
Elementary Number Theory | 3 | |
Select one from the following: | 3 | |
Statistical Applications | 3 | |
Statistics for Engineers and Scientists | 3 | |
Probability: Theory and Applications | 3 | |
Lab Science Courses | ||
Select one from the following: 5 | 4 | |
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 Majors | 4 | |
General Chemistry II Lecture and Laboratory for STEM Majors | 4 | |
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 7 | 14 | |
The specific requirements for the concentration in Software Egngieering are as follows: | ||
Software Development (required) | 4 | |
Select 9 credits from the following list: | ||
Modern Web Technologies | 3 | |
Computer Graphics I | 3 | |
Computer Security | 3 | |
Linux System Administration | 3 | |
Computer Networks I | 3 | |
Human-Centered Computing | 3 | |
Parallel Programming | 3 | |
Total Credits | 120 |
- 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 1511G Calculus and Analytic Geometry I 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 Calculus and Analytic Geometry I and ENGL 1110G Composition I . 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.
Freshman | Credits | |
---|---|---|
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 or MATH 1521H | 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 | |
Credits | 30 | |
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 or MATH 4230 | 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+ | |
Credits | 31-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 | |
Credits | 33 | |
Senior | ||
C S 448 or C S 449 | 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 | |
Credits | 26 | |
Total Credits | 120-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 1521G 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.