Computer Science Major Concentrations

Introduction

Computer Science is a diverse field of study with many possible career paths. The Computer Science Department encourages students to tailor their upper-level electives to the areas of computer science that interest them the most. In addition to traditional emphasis areas such as systems, software engineering and theoretical computer science, some newer areas of concentration are also available to students. Some examples are listed below.

Data Science

To emphasize data science, a student can take the following courses

  • CS 1555 Database Management Systems
  • CS 1656 Introduction to Data Science -OR- CS 1699 Special Topics in Computer Science - Fundamentals of Data Science (Spring 2015)
  • CS 1675 Introduction to Machine Learning

Plus two of the following:

  • CS 1538 Introduction to Simulation
  • CS 1571 Introduction to Artificial Intelligence
  • CS 1671 Introduction to Human Language Technologies
  • CS 1699 Special Topics in Computer Science - Introduction to Computer Vision (Fall 2015)

All five courses can be counted toward the required CS elective courses.

Security:

To emphasize security, a student can take the following courses

  • CS 1555 Database Management Systems
  • CS 1652 Data Communications and Computer Networks
  • CS 1653 Applied Cryptography and Network Security

Plus two of the following:

All five courses can be counted toward the required CS elective courses.

Software Engineering

To emphasize software engineering, a student can take the following courses


All five courses can be counted toward the required CS elective courses.

Artificial Intelligence:

To emphasize artificial intelligence, a student can take the following courses

  • CS 1571 Introduction to Artificial Intelligence
  • CS 1671 Human Language Technologies
  • CS 1675 Introduction to Machine Learning
  • CS 1699 Special Topics in CS: Introduction to Computer Vision (Fall 2015)

Plus one of the following:

All five courses can be counted toward the required CS elective courses.

High Performance Systems:

To emphasize high performance systems, a student can take the following courses

  • CS 1541 Introduction to Computer Architecture
  • CS 1622 Introduction to Compiler Design
  • CS 1645 Introduction To High Performance Computing Systems
  • CS 1651 Advanced Systems Software
  • CS 1652 Data Communications and Computer Networks

All five courses can be counted toward the required CS elective courses.

The Business of Software:

To emphasize business, a student can take the following courses

  • ECON 0100*: Introduction to Microeconomic Theory
  • BUSERV 1920: Financial Accounting
  • BUSFIN 1030: Introduction to Finance
  • BUSMKT 1040: Introduction to Marketing
  • STAT 1100**: Stats and Probability for Business Management
  • CS 1530 Software Engineering
  • CS 1555 Database Management Systems
  • CS 1631 Software Design Methodology

**STAT 1100 satisfies the statistics requirement for CS majors.

The last three courses can be counted toward the required CS elective courses.