Data Science Major

Student pointing at computer screen with code on it. She is talking to two other students.

Student Outcomes

Through their coursework, our majors gain expertise in each of the following areas: 

  • Programming fundamentals including data structures, algorithms, OOP, and databases 
  • Machine learning and deep learning
  • Mathematical foundations including statistics, statistical inference, linear algebra and computational data analysis
  • Communicating results, including written, verbal, and visual communication
  • Data curation and management
  • Reproducibility/documentation of analyses 
  • Ethics (privacy, data access, data control)

Course Requirements

CS/DASC 125 Introduction to Computer and Data Sciences

Computer science, broadly, studies how to solve problems using computers.  Data science is a related field that focuses on acquiring, cleaning, and exploring data, via visualization and statistical analysis, to aid decision making. This course introduces the fundamental skill of computer science, programming, using data science examples and applications. 

  • No prerequisites.  
  • Offered every semesters. 

CS 128 Computer Science II

Introduction to data structures and algorithmic problem solving. Encapsulation and information hiding, recursion, algorithm techniques, and time complexity. Advanced object oriented programming with inheritance, static and dynamic memory allocation. Linked lists, stacks, queues, and sequential and binary search.

  • Prerequisites: CS 125/DASC 125, CS 126, or CS 127.
  • Offered most semesters.

ART 141 Graphic Design I

Introduction to visual communication, aesthetic theory, and computer graphics tools and techniques. Explores graphic design as a means of communication, artistic expression, and organization of information. Critiques, group discussions, research and information gathering assignments, lectures and demonstrations complement studio work.

  • No prerequisites.
  • Offered every semester.

CS 135 Applications of Sets, Logic, and Recursion

Introduction to functional programming and discrete mathematics. Sets, functions, and relations. Basic logic, including formal derivations in propositional and predicate logic. Recursion and mathematical induction. Programming material: Data types and structures, list-processing, functional and recursive programming.

  • No prerequisites.
  • Offered each spring.

CS 136 Computational Discrete Mathematics

Additional concepts in discrete mathematics. Recurrence relations, counting, and combinatorics. Discrete probability. Algorithmic graph theory. Programming with advanced data structures.

  • No prerequisites.
  • Offered each fall.

MATH 215 Linear Algebra

Vector spaces, linear mappings, desemesterinants, matrices, eigenvalues, geometric applications.

  • No prerequisites.
  • Offered every semester.

CS/PHIL 222 Ethics, Values, and Issues in Cybertechnology

An overview of the ethical issues that shape modern technology, including such topics as free expression and content control, intellectual property, privacy and information access, crime and security, and concepts, methodology, and code of cyberethics. Theory and actual cases will be analytzed in readings, discussion, and written work.

  • No prerequisites.
  • Offered alternate years.

DASC 225 Data Analytics with Visualization

An examination of advanced concepts and tools relevant to data cleaning, organization, and transformation. Development of skills and knowledge relevant to identifying and applying statistical tools to answer data-driven questions. Examination of ethical issues in analysis. Introduction to databases and creation of static and interactive reports.

  • Prerequisites: CS/DASC 125 and one of the following: BIOL 323, ECON 227, MATH 141, MATH 325, or PSYC 227.
  • Offered each fall.  

CS 314 Database Systems

Introduction to the relational and semi-structured database models. Theoretical concepts include relational algebra and calculus, logical and physical database design, normalization, database security and integrity, data definition and data manipulation languages. Programming topics: database creation, modification, and querying using XQuery, MySQL and PHP.

  • Prerequisites: CS 128 and Math 135.
  • Offered alternate years.

CS/DASC 377 Applied Data Analysis

This course further develops the programming, mathematical, and statistical skills required for the application of data science tools to data analysis, data visualization, and decision making. This course includes a methodology/writing component in which students develop a draft research proposal for a capstone project. 

  • Prerequisites: CS/DASC 125, CS 126, or CS 127; CS/MATH 136; one of the following: BIOL 209, ECON 227, MATH 141, MATH 325, or PSYC 227.
  • Offered alternate years.

CS 387 Deep Learning

Deep learning (machine learning using large neural networks) has proven to be effective at a number of difficult tasks, with active research ongoing. Student will study mathematical foundations, implementation of neural network optimization in Python, and a number of applications of deep learning including machine vision and natural language processing.

  • Prerequisites: CS128 with a C- or above and CS/MATH 136.
  • Offered alternate years. 

DASC 395 Directed Study, Data Science Capstone

Individual directed study to complete a capstone project.  Requires an approved proposal for a substantial project that applies data science techniques to gather, clean, analyze, visualize, and make inferences with data.  Project culminates in written and oral reports. 

  • Prerequisites: CS/DASC 377 and approval of the program director.
  • Offered alternate years.

MATH 403 Computational Data Analysis

This course introduces regression and time series methods, which are statistical modeling techniques commonly used in practice for the purpose of data analysis. It also includes some selected topics in statistical computations: generation of random numbers, statistical computing, statistical graphics and Monte Carlo simulations techniques. The course introduces and uses the R statistical programming language. 

  • Prerequisites: MATH 325 or one of the following: BIO 323, ECON 227, or PSYC 227.
  • Offered fall semester of even-numbered years.

BIOL 323, ECON 227, MATH 325, or PSYC 227 One Course in Statistics

Varies by course. 

  • Prerequisites: Varies.
  • Offered every semester.