# Computer Science in Data Analytics

#### Bachelor of Science (B.S.)

This STEM program is designed to help students understand data analysis methodologies, as well as to appreciate, visualize, describe and analyze data. ## A field of endless possibilities

The need for data analytics has seen exponential growth as an increasing number of professions recognize the value and importance of such knowledge. Students in Computer Science in Data Analytics (CSDA) will emerge from this interdisciplinary program well prepared to utilize the skill and knowledge they have gained to apply data analysis strategies in a variety of professional fields, including business, finance, architecture, engineering, medical research and beyond. Graduates of the program are well equipped to pursue successful careers in industry or government, or to take on graduate studies in related fields. ## A high-demand profession

The labor market demand for computer science degrees and related disciplines is growing substantially

— glassdoor

## CSDA Courses

The core courses in the CSDA major comprise a 15-unit core in common with the Applied Computer Science program. The curriculum also includes the core of mathematics courses required of majors in mathematics, sciences, engineering and technology

#### Lower Division Courses

Analytic Geometry and Calculus I
This course covers limits, derivatives, applications of differentiation, integrals, and the fundamental theorem of calculus. Proofs of primary calculus theorems are reviewed Prerequisite: PreCalculus with a grade of “C” or better.

Analytic Geometry and Calculus II
Techniques of integration, numerical integration, improper integrals and applications of the integral. Taylor polynomials, sequences and series, and power series. Prerequisite: Analytic Geometry 1 with a grade of “C” or better.

Linear Algebra
Applications of linear equations, matrices, determinants, eigenvectors and vector spaces in the mathematics of social sciences. Prerequisite: Analytic Geometry II.

Discrete Math
An introduction to the mathematics needed in computer science. Logic and boolean algebra, discrete logic circuits (apps of and/or/nor), number systems, proofs, set theory, matrix theory, counting methods, discrete probability, sequences, induction, recursion, counting, and graph theory (including tree)s. Prerequisite: PreCalculus with a grade of “C” or better.

Multivariable Calculus
Functions in multiple variables; partial differentiation, multiple integrals, and vector calculus.

Introduction to Programming I
This studio course serves as a practical introduction to the fundamentals of computational media with emphasis on code as the language of computing. No prior background in computer programming is assumed as the course covers basic concepts of syntax, code structure, programming constructs, algorithms, data organization and computer applications. Concepts such as procedural animation, generative graphics and interaction will be explored using a creative coding approach. Students will complete weekly programming assignments, culminating in an original semester project that elaborates on the concepts and techniques covered in the course. Prerequisite: None.

Introduction to Programming II
This course introduces intermediate programming concepts through the construction of interactive experiences for the web by building on programming fundamentals learned in the introductory programming course. Students will learn software design patterns, synchronous and asynchronous programming, unit testing, version control, hosting, data formats and how to work with an API. Students will create interactive works using a variety of back-end and front-end technologies. Possible projects include interactive data visualization, networked games, and responsive design.

Data Structures and Algorithms (Lab, 3 units)
An introduction to common data structures and algorithms in Python. Topics include elementary data structures, (including arrays, stacks, queues, and lists), advanced data structures (including trees and graphs), the algorithms used to manipulate these structures, and their applications. Prerequisite:  Database Design and Programming.

Windows-Based Application Development
Students will learn how to create a Windows-based application using Visual Studio and the .NET Framework. This course covers the fundamental concepts behind these applications including event-driven programming. It will use both the C# and Visual Basic .NET languages. Students will also create front ends to databases, create games, build their own controls, and write programs that interact with Microsoft Office software. Prerequisite: Intro to Programming II.

Database Design and Programming
The study of relational database systems. Topics include standard query language (SQL), the relational model, security, normalization, functional dependency and entity relationship diagrams, database design, recovery, transaction processing, ethics, and client server systems. The course also covers DBMS packages, report generators, and the use of Visual Studio and .NET languages as a front-end to database systems.
Prerequisite: Windows-Based App & Dev.

#### Upper Division Courses

Artificial Intelligence
This course explores the principles of Artificial Intelligence focusing on the development and deployment of machine learning algorithms. Lectures and reading assignments for the class aim to provide a broad overview of contemporary research, best practices and applications in the fields of robotics, data analytics, audio analysis, computer vision and other areas. Practical approach to engaging with the subject material will be emphasized through hands-on programming assignments and exercises, including applications of machine learning at the hardware level using sensors and embedded computing platforms. Employing state of the art software frameworks with a creative approach to problem solving, students will understand core concepts involved in machine learning to begin developing expertise with intelligent algorithms, neural networks, training data sets and more. Prerequisites: Database Design and Programming.

Advanced Data Structures and Algorithm Analysis
The study of relational database systems. Topics include SQL, the relational model, security, normalization, functional dependency and entity relationship diagrams, database design, recovery, transaction processing, ethics, and client server systems. The course also covers DBMS packages, report generators, and the use of Visual Studio and .NET languages as a front-end to database systems. Prerequisite(s): CIS 120 and CPSC 275.

Probability and Statistics I
Introductory probability covering Design of experiments, axioms of probability, sample spaces, probability rules, independence, conditional probability, Bayes Theorem, discrete and continuous random variables, expectation, moment generating functions, and central limit theorem.. Also covered are various distributions including; joint, binomial, Poisson, geometric, normal, exponential, and uniform. Prerequisite: Analytic Geometry II with a grade of “C” or better.

Probability and Statistics II
Estimation theory, hypothesis testing, linear regression, and correlation and analysis of variance. Prerequisite: MATH 3xx (Probability and Statistics I)
Applied Statistical Analysis – Review of descriptive statistics, hypothesis testing and estimation, SAS programming language, DATA step applications, SAS procedures, report generation, and working with large data sets. Prerequisite: Probability and Statistics II.

This course explores advanced topics in client server and database development. It covers the programming and administration of database systems and includes views, stored procedures, triggers, indexes, constraints, security, roles, logs, maintenance, transaction processing, XML, reporting, and other relevant topics. Students will be exposed to several database packages and will do considerable database programming. Prerequisite: Database Design and Programming.

Data Mining
Introduction to basic concepts behind data mining. Survey of data mining applications, techniques and models. Discussion of ethics and privacy issues with respect to invasive use. Introduction to data mining software suite. Prerequisite: Advanced Database Development.

#### Electives

Combinatorics
A one-semester introduction to combinatorics. Topics include enumeration, generating functions, recurrence relations, construction of bijections, introduction to graph theory, Polya’s Theorem, network algorithms, and extremal combinatorics. Prerequisites: Mathematical Statistics 2 and Linear Algebra both with a grade of “C” or better.

Statistics
This course will introduce students to statistical methods and practices which are most relevant to the analysis of financial and economic data. Topics include autoregressive models, moving average models, and their generalizations. The course develops models that are closely focused on particular features of financial series such as the challenges of time dependent volatility. Prerequisites: Mathematical Statistics 2 and Linear Algebra both with a grade of “C” or better.

Spatial and Geo Statistics
Topics cover practical spatial and geostatistical analysis, including spatial and temporal autocorrelation, point patterns, interpolation, and multivariate analysis. Prerequisites: Mathematical Statistics 2 and Linear Algebra both with a grade of “C” or better.

Topics in Mathematical Statistics
Topics selected from statistics and/or probability, such as nonparametric statistics, multivariate statistics, experimental design, decision theory and advanced probability theory. Mathematical Statistics 2 and Linear Algebra both with a grade of “C” or better.

Topics in Probability and Statistics
This course will cover topics in probability and statistics not covered elsewhere in the program. Part A is usually devoted to multivariate statistics, Part B to stochastic processes, and Part C to probability theory. Part D is left to a topic chosen by the individual instructor. Prerequisites: Mathematical Statistics 2 and Linear Algebra both with a grade of “C” or better.

— TechTarget