Certifications

Graduate Certificate: Cybersecurity and Defense

The certificate program in cybersecurity and defense prepares computer science professionals to identify, analyze and mitigate technical cybersecurity related vulnerabilities, exploits and attacks against network and critical cyber infrastructure. The coursework emphasizes practical technical skills, analysis and research focused on current cybersecurity issues.



Courses


Data Science

Machine Learning (CSCI 4930/5930)

This course provides theoretical and computational foundations in machine learning to design and develop intelligent applications to perform tasks like object recognition, personalized recommendations, improve cybersecurity, fact-checking, forecasting and finding communities.

This course will explore:

  • Supervised learning algorithms -- linear regression, logistic regression, linear and non-linear support vector machine classifier, artificial neural networks, introduction to deep learning, decision tree classifiers, bagging and boosting methods, time series data analysis using Hidden Markov Models.
  • Unsupervised learning algorithms -- K-Means and hierarchical clustering algorithms, dimensionality reduction (Singular Value Decomposition, Principal Component Analysis, Non-negative Matrix Factorization)
  • Reinforcement learning algorithms -- Q-learning, SARSA, and actor-critic

Data Science (CSCI 4580/5580)

This course provides the students with a comprehensive overview on the data life cycle as well as hands-on experience with manipulating the data with code to transform data to knowledge.

This course will explore:

  • Data collection/extraction techniques and tools
  • Data exploration methods and tools
  • Data preprocessing and preparation challenges as well as methods to address such challenges
  • Data organization, management and querying for efficient data access
  • Data modeling to enable effective data mining and analysis
  • Data visualization and storytelling to explore and interpret the data and to communicate extracted knowledge

Data Mining (CSCI 4455/5455)

This course introduces the concepts, algorithms, techniques, and systems of data warehousing and data mining

This course will explore:

  • Know your data and data characteristics
  • Data warehousing concepts and algorithms
  • Data cube technology
  • Pattern mining from sequence and non-sequence data
  • Frequent pattern mining
  • Data classification for data mining
  • Data clustering for data mining

Deep Learning (CSCI 4931/5931)

This course provides a foundation on deep learning - currently the most sought-after skills in machine learning. Students will gain both theoretical and practical understanding of the concept and will work on few real-world problems like location identiication from photos (without GPS meta), speech reading / lip reading from silent videos, sign language recognition for your smartphones, stock market forecasting, image/object recognition from surveillance footage.

Theoretical concepts include:

  • Introduction to Artificial Neural Network design and learning algorithms
  • Restricted Boltzmann machine design, learning and applications in dimensionality reduction, classification, regression, feature extraction and collaborative filtering.
  • Principles of Convolution Neural Network, its architecture, variations and applications.
  • Recurrent Neural Network, Long Short Term Memory.
  • Deep reinforcement learning algorithms
  • Autoencoders and understand unsupervised neural network architectures
  • Understand the ever-evolving computational frameworks for deep neural networks, like TensorFlow, keras, PyTorch, etc, and how to build a custom framework

Big Data Science (CSCI 5952/7952)

An in-depth and advanced study of data manipulation modules in data life cycle with a focus on addressing Big Data challenges of volume, velocity and variety.

Topics include:

  • Scalable data collection/extraction techniques and tools
  • Data preprocessing and preparation challenges as well as methods to address such challenges at scale
  • Big data organization, management and querying for efficient data access
  • Data modeling using Big Data to enable effective data mining and analysis, including semi-supervised and unsupervised data modeling
  • Visualization and storytelling for Big Data
  • Other current research topics in data science

Big Data Mining (CSCI 5702/7702)

This course introduces advanced concepts, algorithms, techniques, and systems of data warehousing and data mining at scale with Big Data.

Topics include:

  • Introduction to MapReduce and Spark
  • Locality-Sensitive Hashing
  • Scalable and hierarchical clustering algorithms
  • Dimensionality reduction for high dimensional data analysis
  • Recommendation systems and computational advertising
  • Link analysis in social networks
  • Algorithms for large graph data processing and mining, including graph embedding techniques
  • Scalable data modeling
  • Mining data streams
  • Optimizing submodular functions

Database Systems (CSCI 5559)

In this course, we start by briefly reviewing database application development concepts (e.g., data modeling, database languages, and normalization). Thereafter, we focus on how internal components of DBMS engines (e.g., data indexing, query evaluation, query optimization, concurrency control, and data recovery components) are designed and developed.

Topics include:

  • Data models
  • Relational algebra and calculus
  • SQL overview
  • Normalization theory
  • Disks and files
  • Index structures for efficient data querying, including tree indexes, has indexes, and spatial/multi-dimensional indexes
  • Query evaluation methods
  • Query optimization methods
  • Transaction management
  • Concurrency control
  • System recovery

Big Data Systems (CSCI 4951/5951)

Presents an in depth review of a series of modern data processing systems (e.g., Hadoop, Spark, Tensorflow), designed to address the Big Data challenges of volume, velocity, and variety. In combination, these systems enable the (Big) data lifecycle from data to knowledge. Students will obtain practical skills to use these systems while understanding the design principles in developing such systems.

Topics include:

  • Big Data Storage Systems, including NoSQL (e.g., HBase, Big Table, Dynamo, Cassandra, MongoDB, AzureDB, CouchDB, CouchBase)NewSQL(e.g., HadoopDB, Spanner, AsterixDB), and in-memory(e.g., HStore, NuoDB, REDIS, SAP HANA) data stores
  • Big Data Analysis and Visualization Systems (e.g., Pandas, Tableau, Matplotlib)
  • Bg Data Modeling, Machine Learning, and Deep Learning Systems (e.g., TensorFlow, Scikit-learn, R, Spark MLlib, Caffe, Keras)
  • Big Data Stream and Time Series Processing Systems (e.g., Kafka, Storm, Spark, Real-time, Flink, InfluxDB, TimeScale)
  • Big Array Data Management and Mining Systems (e.g., SciDB, Rasdaman)
  • Big Graph Data Management and Mining Systems(e.g., GraphLab, Spark GraphX, Neo4j, Titan)
  • Big Spatial Data Management and Mining Systems (e.g., SpatialHadoop, HadoopGIS, PDAL)
  • Big Data Warehouses (e.g., SnowFlake, RedShift)

Parallel and Distributed Systems (CSCI 5551/7551)

This course covers and relates three main components essential in parallel computation namely, parallel algorithms, parallel architectures, and parallel languages. The three areas will be described and their design influences on each other will be demonstrated from the perspective of high performance and scientific computing. Students will use our Parallel Distributed Systems Laboratory http://PDS.ucdenver.edu

Topics will include detail treatment of the currently available parallel platforms:

  • Single Instruction Multiple Data (SIMD) computers
  • Multiple Instruction Multiple Data (MIMD) shared memory computers
  • Multiple Instruction Multiple Data (MIMD) Distributed memory computers
  • Interconnection Networks
  • Cluster Computing

Cloud Computing (CSCI 5799)

This course studies fundamental designs and key technologies in Cloud Computing by reading technical articles, and conducting a semester group project

Topics include:

  • Cloud Computing Design and Architectures
  • Cloud Infrastructures
  • Cloud computing Applications
  • Cloud Resource Virtualization
  • Cloud Resource Management and Scheduling
  • Cloud Storage
  • Cloud Security
  • Other current research topics

Cybersecurity Courses

Cybersecurity Programming and Analysis(CSCI 5742)

This course covers programming concepts related to the security of operating systems, applications, networks, and mobile devices. This course will explore:

  • Principles of network, database and operating system cybersecurity
  • Use of multiple cybersecurity-related programming languages
  • Building and extending existing scanning software
  • Analysis and reporting of XML or JSON based cyber related data stores
  • Analysis and reporting of cyber related NIST data stores
  • Log analysis through programming and scripting
  • Database programming and attack mitigation
  • Analysis of intrusion prevention data
  • Use of existing tool vs new tool creation analysis

Cyber and Infrastructure Defense(CSCI 5743)

This course covers analysis and defense techniques for operational networks and critical infrastructure. This course will explore:

  • Design and use of cryptographic systems
  • Network security firewalls and devices
  • Intrusion detection systems
  • Malware detection
  • Distributed Denial of Service
  • Infrastructure and Application attacks
  • Emerging cybersecurity defense methods