The High Performance Computing/Computational Science concentration can be used to satisfy the concentration requirements of the CS Major.
The High Performance Computing/Computational Science concentration prepares students to apply computational and mathematical techniques to the analysis and management of biological data. Course work in this concentration combines depth in applied and formal aspects of computer science in another science.
- High Performance Computing/Computational Science PDF
- Faculty Advisor: Allen Malony.
CS Requirements (24 credits)
Complete the following course:
Complete two courses selected from the following:
- CS 413 Advanced Data Structures
- CS 429 Computer Architecture
- CS 431 Introduction to Parallel Computing
- CS 445 Modeling and Simulation
- CS 471 Introduction to Artificial Intelligence
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
- Recommended math: MATH 341, 342, 461, 462.
The Computer Networks concentration can be used to satisfy the concentration requirements of the CS Major.
The Computer Networks concentration prepares students for careers as network systems administrators, network protocol developer-programmers, or network security specialists in a wide range of environments, including educational institutions, business enterprises, and government agencies, as well as for advanced graduate studies and research in the field of computer networks. Course work encompasses network theory and practice.
- Computer Networks PDF
- Faculty Advisors: Jun Li, Reza Rejaie.
CS Requirements (24 credits)
Complete the following course:
Complete two courses selected from the following:
- CS 429 Computer Architecture
- CS 433 Computer and Network Security
- CS 445 Modeling and Simulation
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods.
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
The Computer Security concentration can be used to satisfy the concentration requirements of the CS Major.
The Computer Security concentration provides a foundation in topics and concepts relating to the security of computer systems and networks. It prepares students to work as security analysts and provides a highly desirable skill set for all employers, ranging from software engineers to administrators, in both the private and government sectors. It also provides a foundation for further graduate study and research in security. Course work encompasses a strong understanding of computer systems and networks and their security, and can be tailored to a more theoretical or more applied focus.
- Computer Security PDF
- Faculty Advisors: Jun Li.
CS Requirements (24 credits)
Complete the following course:
Complete two courses selected from the following:
- CS 333 Applied Cryptography
- CS 432 Introduction to Networks
- CS 434 Computer and Network Security II
- CS 436 Secure Software Development
- MATH 458 Introduction to Mathematical Cryptography
Also recommended: CS 102 Fundamentals of Computer and Information Security; J 431 Media Structures and Regulation.
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods.
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
The Machine Learning/AI/Data Science concentration can be used to satisfy the concentration requirements of the CS Major.
The Computer Networks concentration prepares students for careers as network systems administrators, network protocol developer-programmers, or network security specialists in a wide range of environments, including educational institutions, business enterprises, and government agencies, as well as for advanced graduate studies and research in the field of computer networks. Course work encompasses network theory and practice.
- Machine Learning/AI/Data Science PDF
- Faculty Advisors: Dejing Dou, Daniel Lowd, Chris Wilson.
CS Requirements (24 credits)
Complete the following course:
Complete two courses selected from the following:
- DSCI 311 Principles and Techniques of Data Science
- CS 372M Machine Learning for Data Science
- CS 451 Database Processing
- CS 453 Data Mining
- CS 471 Introduction to Artificial Intelligence
- CS 473 Probabilistic Methods for Artificial Intelligence
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods.
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
The Foundations concentration can be used to satisfy the concentration requirements of the CS Major.
The Foundations concentration is the most general concentration, allowing a student to choose a set of electives tailored to his or her interests and intended choice of career.
- Foundations PDF
- Faculty Advisors: Zena Ariola, Michal Young.
CS Requirements (24 credits)
Complete 12 upper-division CS elective credits.
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods.
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
The Software Development concentration can be used to satisfy the concentration requirements of the CS Major.
Concentrations highlight areas of specialization within the department and guide student elective choices. Each concentration has an approved list of CS courses, available from the computer science office or the department website. Concentrations may also include recommended science and math courses; some include a minor in another field.
The Software Development concentration prepares students for careers in software engineering, software project management, software quality assurance, and other areas involving the creation of software. Course work focuses on solving problems related to the cost of development as well as the quality of the software delivered in complex software projects.
- Software Development PDF
- Faculty Advisors: Steve Fickas, Boyana Norris, Michal Young.
CS Requirements (24 credits)
Complete three courses selected from the following:
- CS 423 Software Methodology II
- CS 431 Introduction to Parallel Computing
- CS 436 Secure Software Development
- CS 443 User Interfaces
- CS 445 Modeling and Simulation
- CS 451 Database Processing
- CS 461 Introduction to Compilers
Also recommended: CS 322 Introduction to Software Engineering
Complete eight additional upper-division CS elective credits
- Choose electives from CS upper-division courses, including Individualized Study Courses.
- CS 399 and 410 must have regular class meetings, homework assignments and a prerequisite of 313 or higher.
Complete four upper-division math elective credits
- Choose any upper division math course (300-level or higher) with a prerequisite of MATH 252 or higher, or CS 413, 420, 427, 473 Probabilistic Methods.
- CS courses used to complete mathematics elective cannot be used toward upper-division CS elective credits.
Many CS concentrations allow the following courses in addition to the approved elective course list.
Curricula
Complete at most four credits from any one course number. CS 407 is repeatable only with different subtitles. Before these credits are attempted, you must file an Individualized Study Approval Form with the CS office.
- CS 401 Research
- CS 404 Internship
- CS 405 Reading
- CS 406 Field Studies
- CS 407 Seminar
- CS 408 Workshop
- CS 409 Practicum
CS 403 Thesis
- Complete at most four credits. Before these credits are attempted, you must file an Honors Program Application with the CS office.