Major Concentrations


High Performance Computing/Computational Science

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.

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

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.

 

Computer Networks

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.

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

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.

 

Computer Security

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.

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

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.

 

Machine Learning/AI/Data Science

The Machine Learning/AI/Data Science concentration can be used to satisfy the concentration requirements of the CS Major.

The Artificial Intelligence and Machine Learning concentration prepares students to develop computational solutions to problems that require emerging problem solving techniques, often involving inference from large collections of noisy data. Course work focuses on neural and statistical approaches to inference as well as search.

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

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.

 

Software Development

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.

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.