Skip to main content

PurdueX: Big Data for Reliability and Security

This course teaches the principles and practices of big data for improving the reliability and the security of computing systems. It exemplifies the principles through real-world examples and provides challenging programming problems based on novel datasets.

6 weeks
6–8 hours per week
Instructor-led on a course schedule
This course is archived

About this course

Skip About this course

This course teaches the principles and practices of big data for improving the reliability and the security of computing systems. Big data is a technology that is changing the way we do business and the way we play. As there is a tremendous growth in data being collected about every process and product in operation, there is value to be mined from this abundance of data. This means that big data is being applied in areas where there is great commercial advantage to be had, and consequently, attacks and failures have become a serious concern.

This course asks and answers the question: Can big data be used to improve the reliability and the security of the processes that we rely on in our work and personal lives? Do big data techniques introduce new vulnerabilities that we should be aware of as we adopt big data practices in so many aspects of our lives? And what kinds of mitigations can be designed and deployed against such vulnerabilities?

The course is taught by a leading researcher in reliability and security and an award-winning teacher.

The course has a practical bent and introduces only the necessary theory and in the context of its application to today’s industrial big data context. The principles are exemplified through popular big data frameworks, such as, Apache Spark and Spark Streaming, Flink, Mesos, and containers.

The course first lays out the problem landscape in the context of upsurge of data and its implications for reliability and for security. Then it describes how we can measure the relevant attributes. Next, it looks at the application-driven requirements and constraints for applying big data for reliability and security. Then it presents how the data can be processed for improving the resilience of the processes that depend on the data. It delves into a set of techniques for defending big data techniques against natural failures (the reliability aspect) and against malicious attacks (the security aspect).

The different aspects are tied together through a set of challenge programming projects that are based on novel datasets that we have collected and curated.

At a glance

  • Institution: PurdueX
  • Subject: Computer Science
  • Level: Intermediate
  • Prerequisites:

    Python programming, basic knowledge of probability and statistics

  • Language: English
  • Video Transcript: English
  • Associated skills: Apache Spark, Apache Mesos, Big Data, Spark Streaming, Resilience, Apache Flink

What you'll learn

Skip What you'll learn
  • Formulate the reliability and the security requirements of a production system
  • Understand and develop big data techniques for improving reliability and security of computing systems
  • Construct software artifacts to instantiate the techniques for real-world datasets and under realistic conditions

Course Syllabus

Week 1:

  • Applications of Big Data Analytics and Reliability and Security
  • Big Data Processing
  • System-Level View of Dependable Design
  • Real-World Examples of Failures
  • Terminology of Dependable Systems
  • Attributes of Dependability Systems
  • Means to Achieve Dependability
  • Three Different Impairments in a System
  • Fault Cycle

Week 2:

  • Infrastructure Security
  • Data Privacy
  • Data Management and Data Monitoring
  • Big Data Security Framework
  • Centralization and De-Centralization
  • Pre-Processing for Security
  • Unsupervised Learning

Week 3:

  • Robustness of Machine Learning Models
  • Linear SVM and Binary Classifications
  • Non-Linear SVM
  • Pipeline to Apply Non-Linear SVM
  • Introduction to Neural Network and Canonical Use
  • Neural Network
  • Use of Neural Network in Computer Systems
  • How to Avoid Overfitting?
    • Test Set Method
    • Leave One Out Cross Validation (LOOCV)
    • K-Fold Cross Validation

Week 4:

  • Recap of Various Learning Techniques
  • Adversarial ML
  • Adversarial Evasion Attacks
  • Defense Against Attacks
  • Addressing Overfitting
  • Bias-Variance Tradeoff
  • Regression with Regularization
  • Avoid Overfitting- Penalty Function
  • Which One to Choose Between Ridge and Lasso Regression
  • Feature Engineering

Week 5:

  • Significant Feature Engineering Techniques
  • Feature Extraction Concept
  • Principal Component Analysis (PCA)
  • Basics of Federated Learning
  • Federated Learning in Practice
  • Aggregation in Federated Learning
  • Secure Aggregation
  • Krum and Bulyan Secure Aggregation
  • Model Poisoning Attack
  • Defense Against Model Poisoning Attack
  • Threat Model and Comparison of FL with Distributed Computing
  • Differential Privacy

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.