Data Science (DSC)

DSC 2334  Computing and Computer Fundamentals  (3)  
Pre-requisite(s): C or better in CSI 1402 or CSI 1440; C or better in DSC 2350 or CSI 2350 or concurrent enrollment  

An introduction to the structure of computer systems and the relationship between software and hardware. Topics include computer organization and representation of information in a computer. Programming assignments will be used to illustrate the digital representation of data, the fundamental tasks associated with an operating system, network communications, etc.

DSC 2350  Discrete Structures for Data Science  (3)  
Pre-requisite(s): C or better in CSI 1402 or concurrent enrollment; MTH 1321 or concurrent enrollment  

An introduction to the foundations of discrete structures as they apply to data science, focusing on providing a solid theoretical foundation for further work. Topics include sets, ordered structures, graph and trees, functions, proof techniques, number systems, logic, Boolean algebra, etc.

DSC 3310  Cloud Computing  (3)  
Pre-requisite(s): C or better in DSC 3335  

This cloud computing course focuses on practical hands-on experience with modern cloud computing ecosystems. It features content based on active engagement with public cloud services and real-world experiences. Students will be introduced to contemporary coding paradigms designed for horizontally scalable computing environments.

DSC 3334  Algorithms and Data Structures  (3)  
Pre-requisite(s): C or better in CSI 1402  

Analysis of the use of appropriate data structures to hold and process large amounts of data. Application of the data structures using data science and machine learning algorithms and discussion of the algorithms' runtimes.

DSC 3335  Database Design and Applications for Data Science  (3)  
Pre-requisite(s): CSI 1402 with a grade of C or better  

Current relational database design concepts for Data Science majors, including ER diagrams and normalization. Database access techniques such as SQL and JDBC. Database issues including performance and security. Web-database applications.

DSC 3344  Analytics for Machine Learning  (3)  
Pre-requisite(s): C or better in DSC 3334  

An introduction to the data analytics used in machine learning, including descriptive statistics, probability and counting theory, samples and probability distributions, inferential statistics, linear regression, principal component analysis, and non-parametric analysis. Ethics in data analytics are also discussed.

DSC 4310  Machine Learning  (3)  
Pre-requisite(s): C or better in DSC 3335 and 3344  

This course provides an introduction to the fundamental methods and theory of modern machine learning. Machine learning algorithms covered include: shallow, mid-level, and deep learning models and their applications as well as unsupervised learning and reinforce learning techniques.

DSC 4320  Data Visualization  (3)  
Pre-requisite(s): CSI 2300  

Investigation of the various techniques for creating effective visualizations, incorporating principles of graphic design, cognitive and perceptual psychology, data analysis, and human factors evaluations. Using the growing toolbox for visual description and presentation, students apply visualization techniques and build novel visualization tools for solving complex problems.

DSC 4354  Cybersecurity for Data Science  (3)  
Pre-requisite(s): C or better in DSC 3310 or concurrent enrollment; C or better in DSC 3344 or concurrent enrollment  

Provides an overview of cybersecurity threats, vulnerabilities, and defensive mitigations. The course emphasizes both theoretical concepts and practical application with critical thinking. Example topics include: authentication, access control, malware, intrusion, firewalls, database and cloud security, auditing/monitoring, and risk management.

DSC 43C8  Big Data  (3)  
Pre-requisite(s): C or better in DSC 3310; C or better in DSC 4310; C or better in DSC 4320  

This course investigates how the data parallel paradigm can be extended to the distributed case, using modern big data tools. Parallel programming models will be investigated in detail. Key issues related to distribution, like latency and network communication will be considered and how they can be addressed effectively for improved performance.

DSC 43C9  Data Science Capstone  (3)  
Pre-requisite(s): C or better in DSC 43C8  

A semester-long project course in which students will create a computing system. The project requires applying information technology according to established design management practices, including technical presentations (oral and written) by all students.

DSC 4V96  Special Topics in Data Science  (1-3)  
Pre-requisite(s): Consent of department chair  

Study of advanced topics in data science.