Overview
The major in Computer Science for BS students consists of a core of 23 credits of Computer Science courses, 17 credits of Mathematics courses (which may apply towards a mathematics minor), 17 credits from a chosen track, and 12-14 credits of required science and ethics courses.
Curriculum Requirements for B.S. in Computer Science and for Additional Major in Computer Science with Tracks
Code | Title | Credit Hours |
---|---|---|
Core Computer Science Courses | ||
CSC 120 | Computer Programming I | 4 |
CSC 220 | Computer Programming II | 4 |
CSC 314 | Computer Organization and Architecture | 3 |
CSC 317 | Data Structures and Algorithm Analysis | 3 |
CSC 322 | System Programming | 3 |
CSC 427 | Theory of Computing | 3 |
CSC 431 | Introduction to Software Engineering | 3 |
Core Mathematics Courses 1 | ||
MTH 161 | Calculus I (or equivalent - MTH 140 and MTH 141, MTH 151, or MTH 171) | 4 |
MTH 162 | Calculus II (or equivalent - MTH 172) | 4 |
MTH 210 | Introduction to Linear Algebra | 3 |
MTH 224 | Introduction to Probability and Statistics | 3 |
MTH 309 | Discrete Mathematics I | 3 |
or MTH 230 | Introduction to Abstract Mathematics | |
Tracks | ||
Select one of the following Tracks: | 17 | |
Comprehensive Track: 2,3 | ||
Programming Languages | ||
or CSC 546 | Introduction to Machine Learning with Applications | |
Principles of Computer Operating Systems | ||
Database Systems | ||
Computer Networks | ||
Select a minimum of 5 credit hours of approved electives | ||
Flexible Track: 2 | ||
Select a minimum of 17 credit hours of approved electives | ||
Computational Science Track: 4 | ||
Computing for Scientists | ||
Introduction to Parallel Computing | ||
Computational Geometry | ||
Problem Solving for Bioinformatics | ||
Computer Science Project Planning | ||
or CSC 411 | Computer Science Project Implementation | |
or ECE 481 | Senior Project I | |
or ECE 482 | Senior Project II | |
Introduction to Numerical Analysis | ||
or MTH 520 | Numerical Linear Algebra | |
General Biology 5 | ||
General Biology Laboratory 5 | ||
Cryptography and Security Track: 4 | ||
Principles of Computer Operating Systems | ||
Computer Networks | ||
Data Security and Cryptography | ||
Computer Science Project Planning | ||
or CSC 411 | Computer Science Project Implementation | |
or ECE 481 | Senior Project I | |
or ECE 482 | Senior Project II | |
Survey of Modern Algebra | ||
or MTH 505 | Theory of Numbers | |
or MTH 561 | Abstract Algebra I | |
Select a minimum of 2 credit hours of approved electives | ||
Graphics and Games Track: 4 | ||
Introduction to Game Programming | ||
Introduction to Computer Graphics | ||
Introduction to Artificial Intelligence | ||
Computer Science Project Planning | ||
or CSC 411 | Computer Science Project Implementation | |
or ECE 481 | Senior Project I | |
or ECE 482 | Senior Project II | |
University Physics I for the Sciences 5 | ||
or PHY 221 | University Physics I | |
Select a minimum of 5 credit hours of approved electives. In addition to the generally approved electives, the following are approved for the Graphics and Games track: | ||
Building Virtual Worlds | ||
Augmented Reality | ||
Audio Software Development II | ||
Current Trends in Music Engineering I | ||
Data Science Track: 4 | ||
Introduction to Python for Scientists | ||
Statistical Analysis | ||
Introduction to Machine Learning with Applications | ||
Computer Science Project Planning | ||
or CSC 411 | Computer Science Project Implementation | |
or ECE 481 | Senior Project I | |
or ECE 482 | Senior Project II | |
Select a minimum of 6 credit hours of approved electives. In addition to the generally approved electives, the following are approved for the Data Science track: | ||
Introduction to Infographics and Data Visualization | ||
Advanced Infographics and Data Visualization | ||
Science & Ethics Requirement 6 | ||
Choose one of the following approved two semester sequences of courses with laboratory in Biology, Chemistry, Physics, or Geological Sciences: | 8-11 | |
Biology sequence | ||
General Biology | ||
General Biology Laboratory | ||
Evolution and Biodiversity | ||
Evolution and Biodiversity Laboratory | ||
Chemistry sequence | ||
Principles of Chemistry | ||
Chemistry Laboratory I | ||
Introduction to Structure and Dynamics | ||
Chemical Dynamics Laboratory | ||
Physics sequence (option 1) | ||
University Physics I for the Sciences | ||
Physics Laboratory 1 | ||
University Physics II for the Sciences | ||
Physics Laboratory 2 | ||
Physics sequence (option 2) | ||
University Physics I | ||
University Physics II | ||
University Physics II Lab | ||
University Physics III | ||
University Physics III Lab | ||
Geological Sciences sequence | ||
The Earth System | ||
Earth System History | ||
Take the following required ethics course: | ||
Social and Ethical Issues in Computing | ||
Approved Electives | ||
Any CSC 2XX, CSC 3XX, CSC 4XX, CSC 5XX | ||
Python Programming for Everyone | ||
Mobile to Cloud: Developing Distributed Applications | ||
Computer Organization and Design | ||
Network Client-Server Programming | ||
Computer Architecture | ||
Machine Learning | ||
Neural Networks | ||
Object-Oriented and Distributed Database Management Systems | ||
Agent Technology | ||
Internet and Intranet Security | ||
Data Mining | ||
Senior Project I | ||
Senior Project II | ||
Introduction to Numerical Analysis | ||
Theory of Numbers | ||
Numerical Linear Algebra | ||
Numerical Methods in Differential Equations | ||
Introduction to Probability | ||
Introduction to Mathematical Statistics | ||
Statistical Analysis | ||
General Education Requirements | ||
Written Communication Skills: | ||
WRS 105 | First-Year Writing I | 3 |
WRS 106 | First-Year Writing II | 3 |
or ENG 106 | Writing About Literature and Culture | |
or WRS 107 | First-Year Writing II: STEM | |
Quantitative Skills: | ||
Calculus I (fulfilled through the major) | ||
or MTH 140 | Calculus Concepts with Foundations A | |
or MTH 151 | Calculus I for Engineers | |
or MTH 171 | Calculus I | |
Areas of Knowledge: | ||
Arts and Humanities Cognate | 9 | |
People and Society Cognate | 9 | |
STEM Cognate (9 credits) (fulfilled through the major) | ||
Additional Requirements for the B.S. 7 | ||
Language Requirement: one 200-level course | 3 | |
Electives | 26-29 | |
Total Credit Hours | 121 |
- 1
Core Mathematics courses are not counted towards the Computer Science major for purposes of the 24/9 credits rule (see here).
- 6
Courses taken to satisfy the Science & Ethics requirement are not counted towards the Computer Science major for purposes of the 24/9 credits rule (see here).
- 2
Available to all students.
- 4
Requires permission of the Director of Undergraduate Studies.
- 5
This course may also be applied towards the Science requirement.
- 7
For the Additional Major in Computer Science, with Tracks, students not in the College of Arts and Sciences should use the requirements of their school or college's degree in place of the additional requirements listed here.
Suggested Plan of Study
Year One | ||
---|---|---|
Fall | Credit Hours | |
CSC 120 | Computer Programming I | 4 |
MTH 161 | Calculus I | 4 |
WRS 105 | First-Year Writing I | 3 |
Language Course | 3 | |
Elective | 3 | |
Credit Hours | 17 | |
Spring | ||
CSC 220 | Computer Programming II | 4 |
MTH 162 | Calculus II | 4 |
WRS 106 or ENG 106 | First-Year Writing II or Writing About Literature and Culture | 3 |
Language Course | 3 | |
Elective | 3 | |
Credit Hours | 17 | |
Year Two | ||
Fall | ||
CSC 314 | Computer Organization and Architecture | 3 |
MTH 309 | Discrete Mathematics I | 3 |
BIL or CHM or PHY Course I | 4 | |
BIL or CHM or PHY Associated Lab I | 1 | |
Language Course | 3 | |
Credit Hours | 14 | |
Spring | ||
CSC 322 | System Programming | 3 |
MTH 210 | Introduction to Linear Algebra | 3 |
BIL or CHM or PHY Course II | 4 | |
BIL or CHM or PHY Associated Lab Course II | 1 | |
PHI 115 | Social and Ethical Issues in Computing | 3 |
Credit Hours | 14 | |
Year Three | ||
Fall | ||
CSC 317 | Data Structures and Algorithm Analysis | 3 |
CSC 401 | Computer Science Practicum I | 1 |
CSC 423 | Database Systems | 3 |
MTH 224 | Introduction to Probability and Statistics | 3 |
People and Society Cognate Course | 3 | |
Writing Intensive Course | 3 | |
Credit Hours | 16 | |
Spring | ||
CSC 424 | Computer Networks | 3 |
CSC 427 | Theory of Computing | 3 |
WRS 233 | Advanced Writing for STEM | 3 |
Arts and Humanities Cognate Course | 3 | |
People and Society Cognate Course | 3 | |
Credit Hours | 15 | |
Year Four | ||
Fall | ||
CSC 421 | Principles of Computer Operating Systems | 3 |
Computer Science Elective | 3 | |
CSC 405 | Computer Science Seminars Reports | 1 |
Arts and Humanities Cognate Course | 3 | |
People and Society Cognate Course | 3 | |
Credit Hours | 13 | |
Spring | ||
CSC 419 | Programming Languages | 3 |
CSC 431 | Introduction to Software Engineering | 3 |
Arts and Humanities Cognate Course | 3 | |
Elective | 3 | |
Elective | 3 | |
Credit Hours | 15 | |
Total Credit Hours | 121 |
Mission
The Department's mission is to educate and perform scholarly activities in the discipline of Computer Science, in order to meet national and international demand for trained computer scientists who are capable of building the robust computation structures upon which society is becoming increasingly dependent.
Goals
Students will acquire understanding and capability for the structure and developmental processes of software systems, from the translation of domain problems to forms amenable to software solution, through the production of efficient and robust computer programs, to the supporting systems and hardware components.
Students will acquire these abilities through a combination of classroom instruction, laboratory work, independent project work, and group project work.
Graduates will be prepared to work in industries that are directly involved in the development of fundamental computing resources (e.g., Microsoft, Apple, IBM, Intel, etc.), and in industries that rely on computation in support of their core businesses (e.g., banking, transport, manufacturing, medical, etc.).
Faculty and students will engage in activities that support and achieve the development of new techniques and software that can contribute to the science, and where appropriate contribute to the teaching objectives. Examples of such activities include academic research, development of novel techniques and software products, consulting and internship activities in local industries, and maintaining awareness of cutting edge approaches to Computer Science.
Student Learning Outcomes
- Students must be able to translate domain problems to forms amenable to software solution.
- Students must be able to produce efficient and robust computer programs.
- Students must be able to build and deploy a completed, integrated, and documented (Advanced Writing and Communication Skills) software solution to a domain problem.
- Students must have understanding and competence in the mathematical foundations of Computer Science.