Data Science
Bachelor of Science
Course Requirements
60 total credits (30-32 upper division credits)
Required Courses
Data science relies on the ethical use of data, algorithmic thinking, and statistical inference. In this course the learner will survey these areas in the course of exploring real-world data sets. Learners will use technology and write code to analyze data sets and to create visualizations that effectively communicate their findings.
Data comes from many sources, in many formats, in varying degrees of quality. This course focuses on data wrangling, the process of extracting, cleaning, formatting, transforming, and merging data for use by data analytics software. Learners in the course will write code to collect data with imports and web scraping, remove or impute missing values, transform data to create new features, and concatenate or join data sets to collect data from a variety of sources. Most importantly, learners will think critically about their data, understanding the context of its collection and transformation to frame the conclusions of their analyses.
This course focuses on key areas of mathematics at the foundation of machine learning algorithms. After surveying matrix algebra, vector calculus, numerical optimization, and probability, the course culminates with random walks on graphs and vector space embeddings, tasks vital to the preparation of data for neural networks. Throughout the course, learners will approach topics theoretically and experimentally, augmenting traditional paper-and-pencil analysis by writing code.
This seminarcourse focuses on contemporary issues at the intersection of emerging data technology and applications viewed through a lens of ethics in data science. Thecourse develops habits for life long learning and responsibility for the state of one's own knowledge,critical features of any data scientist. Course Prerequisites: CSC-110 or Data-215.
This course offers a practical approach to harnessing the power of data using machine learning, with a strong emphasis on programming and implementation. The course covers a comprehensive range of supervised techniques, including regression, k-nearest neighbor, naïve Bayes, decision trees, tree ensembles, neural networks, and support vector machines. Students will also learn about unsupervised learning methods, such as association rules and clustering.
A second-semester computer programming course. This course takes a state-of-the-art approach to software design/development as implemented with the Python programming language. Topics include: the Linux operating system as a programmer's tool; the Python programming environment; best practices in software engineering; data structures; algorithm analysis; and use of available Python libraries. Emphasis will be placed on numerical/scientific applications.
This course introduces the principles, methods of reasoning, summarization, analysis and preparation of scientific data. Computer laboratory sessions are included to facilitate data handling and analysis. Topics include sampling and experimental design, descriptive statistics, probability, statistical inference and interpretation of results, simple regression and ANOVA.
Topics include set theory, number systems, the nature of proofs, recursion, algorithms, graph theory and problem solving. This course is required for computer science and computer information systems majors. Prerequisite: Math 151.
This project-based course requires students to develop and complete a semester-long project appropriate to data science, culminating in a presentation and documentation.
Required Supporting Courses
Introduction of logic concepts in programming. Breadth approach to essential elements of computer programming. Text based operating systems such as DOS will be discussed. Topics covered are problem solving concepts, computer systems, disk operating systems, computer programming languages, programming fundamentals, testing and debugging, conditions and branching, loops, flowcharts, compound statements, non-compound statements, top-down program design.
This course examines methods of mathematics used in business and economics, with a focus on problem solving and applications. It includes the ideas of differential calculus, including applications to marginal analysis (cost, revenue, profit), the elasticity of demand, and optimization. Concepts of integration up through substitution are included. Optimization is further examined through systems of linear equations and matrices, linear programming and a brief introduction to game theory. Required for Business Majors. Prerequisite: Math 115, Math 145, MATH 151 or Math SAT 620 or above.
OR
Studies the concepts of the limit, the derivative and the definite integral of functions of one variable. Included are applications to rates and areas, differentials and basic modeling. Prerequisite: Math 151 or Math SAT 620 or above.
Elective Courses
Students must take four courses from this list for a total of 16 credits:
The first and last mile in any data analysis project is data visualization. This course focuses on the design of data visualizations to discover patterns, form hypotheses, support conclusions, and drive decision making. Visualization is not an end goal, and this course presents visualization design in the context of producing clear, impactful, evidence-based narratives.
This hands-on course focuses on the application of machine learning techniques to solve real-world problems. While reading contemporary case studies, students will develop, code, analyze, and optimize machine learning models. This course is structured as an interactive seminar emphasizing active learning and encouraging students to engage in projects demonstrating their mastery of machine-learning solutions.
First-semester computer programming course. This course introduces the principles of computer science, problem-solving methods and algorithm development using a high-level language. This is a programming class primarily for computer science, computer information systems, mathematics, and science majors. The ability to use a computer is essential. Prerequisites: CSC 110 or permission of instructor, Math 110 or equivalent.
A second-semester computer programming course. This course takes a state-of-the-art approach to software design/development with object-oriented techniques. Topics include algorithm analysis, string processing, internal search/sort methods, complex data structures, design strategies, and code reusability. Prerequisite: CSC 210.
Continues the study of the design and analysis of algorithms, particularly those handling complex data structures and non-numeric processes. Includes an introduction to algorithm design techniques, algorithm verification and the impact of parallel computation on algorithms, operating systems and architectures. A brief introduction is given to artificial intelligence focusing on data representation and heuristic search methods. Prerequisites: CSC 210, Math 241.
An introductory study of the field of robotics-devices designed and programmed to perform various tasks. Topics include; hardware design (mechanical and electronic); software design; power subsystems; sensors; actuators; effectors; applications; comparison to biological systems; safety; societal impact and ethics. Student will study theory (lecture component) and build/program a robot (laboratory component). Prereq: Math-151.
This is the first course in system engineering that stresses the system development life cycle. Students learn ways of organizing the structure and process of building very large-scale systems that may or may not involve computers. Includes information gathering, design tradeoffs, implementation strategies, product liability, acceptable risk analysis and project follow-up. Prerequisites: CSC 210, Math 241.
Presents a formal approach to state-of-the-art techniques for software design and development, involving students in a team approach to organizing, managing and developing software. Prerequisites: CSC 210, Math 241.
Discusses the major functionality and principles behind all major operating systems tasks, including user interface, hardware sharing among users, data sharing among processes, user protections, resources scheduling among users, multi-user environment, multi-processing and real-time systems. Prerequisites: CSC 210, Math 241.
An introduction of security issues in computer system and data communications, including Data Encryption Standard, public-key systems, digital signatures, ciphers, data compression, data manipulation and supporting techniques. Prerequisites: CSC 210, Math 241.
Studies the concepts and structures necessary to design and operate a database management system. Topics include data modeling, relational database design, and database querying. Prerequisites: CSC 210, Math 241.
This course continues the study of differentiation and integration begun in Calculus I. Introduces indefinite integration and applications of the definite integral. Differential equations and elementary methods to solve them are presented, along with direction fields and some modeling applications. Includes Taylor polynomials and series. Students will use a computer algebra system to engage with material in the course. Prerequisites: Math 251.
Calculus III extends the concepts of calculus to a multivariable perspective. Topics such as functions, derivatives, integrals and various coordinate systems are used to explore change modeled by two or more variables. Vector algebra and vector fields are introduced to study the motion of objects. Students will use a computer algebra system to engage with material in the course. Prerequisite: Math 252. (offered in fall).
This course studies the analysis of complex data sets in the statistical programming language R. Topics include an introduction to programming in R, data cleaning, descriptive statistics and graphics, probability models, hypothesis testing, confidence intervals, linear and logistic regression, classification, and cluster analysis. Students will learn to communicate their statistical results by critiquing journal articles and producing their own written analyses. Required prerequisites: Math 231 or Math 241 or Math 251.
The course extends upon concepts introduced in Discrete Mathematics. Graph theory concepts include isomorphism, planarity, Eulerian circuits, and colorings. Network optimization concepts include minimum spanning trees, shortest path, traveling salesperson problem, maximum flow, and matching. Concepts in combinatorics include permutations, combinations, arrangements, distribution, binomial identities, generating functions, and recurrence relations. Students will be required to write proofs for theorems and pseudocode for algorithms.Prerequisite: Math 241.
An introduction to solving systems of linear equations through the use of concepts such as vector spaces, linear transformations, matrices, eigenvalues and eigenvectors. Students will enhance mathematical communication skills through reading and writing proofs and will explore interdisciplinary applications of the theory of linear algebra in projects and computer laboratory assignments. Prerequisite: Math 252. Recommended: Math 261.
This course covers topics including methods of data description, probability theory, a study of several discrete and continuous distributions, the central limit theorem, estimation of parameters, confidence intervals and hypothesis testing. Prerequisite: Math 252. Recommended: Math 261.
This course introduces and explores the use of data analytics applied in business disciplines. The course focuses on effective communication of data, including descriptive analytics, data visualization, storytelling with data, and thinking critically about data. Prerequisite: MATH-110 or higher.
The study of business communications methods with emphasis on planning, organizing, preparing and presenting major reports. Significant use of computer skills will be included, as well as design and structure of communication materials for the highest levels of impact.
A detailed focus on marketing research, strategy, statistical techniques and decision-theory concepts. Includes the nature of the influences affecting consumer behaviors, values, lifestyles, market segmentation, motivation and attitudes that form consumer marketing decisions. Prerequisite: junior standing.
This course extends the concepts and methods in business analytics. It provides a hands-on experience to a collection of predictive modeling techniques used to extract patterns and trends from data. The topics include supervised and unsupervised data mining and decision-making under uncertainty.
This course investigates the nature and uses of various types of information systems in business organizations, including decision support systems, expert systems, executive and management information systems, and communication systems. Examines the relationships between information system use and business strategy and the applications of information systems in the development of competitive advantage. Surveys the major components of business information systems (hardware, networks, data and applications) and investigates the interrelationships between information, systems, organizational structure, processes and strategy.
A study of the principles involved in communicating in a professional environment. This class covers organizational communication and cultures, including team communication, conflict negotiation, leadership styles, group decision-making techniques, and business ethics. Students have several opportunities to practice oral communication principles in simulated settings. Fulfills CORE 21 Speaking Intensive requirement.
The basic methods in analysis of central tendency, dispersion and probability distributions. Prerequisite: Math 115, Math 131, Math 145, Math 245 or Math 251 or equivalent.
An introduction to quantitative decision making from a managerial standpoint, plus the formulation and solution of decision models under certainty and uncertainty. Topics include model building, linear programming, probability, Bayesean decision theory and simulation. Prerequisite: Econ 311.
Econometrics is concerned with how to learn from economic data. Econometric techniques are increasingly used in business, government and academic setting to analyze markets, create forecasts based on past data, study the impact of economic policies, and test economic theories. The objective of this course is to provide the necessary tools to critically evaluate econometric models and to prepare students for empirical work in economics. The course will focus in some details on the linear regression model and the statistical theory behind it. Students will be provided with the opportunity to use actual economic data. Prerequisite: Econ 311.
A study of moral issues raised by the recent development of technology, including those related to computers, genetic engineering and the environment. The course examines how current technological achievements profoundly change our social, cultural and moral life and how they create moral dilemmas for our society at the same time.
This course will examine the roles that data collection and analysis tools play on our daily lives and our social/political/economic institutions. This course will draw from a broad range of disciplines (Political Science, Sociology, Law, Communication, Philosophy, Psychology, etc.) to explore these topics.
The class will discuss the theory, development, and application of analytics in sports. Students will learn about the application of analytics in sports for purposes of in-game strategy, player performance, team management, sports operations, and fantasy competitions, among many other topics. The class will consist of lectures, guest speakers from the sports industry and academia, and culminate with a group project. Methods of research and research design for collecting data will also be discussed.