MSc: Big Data Technologies And Analytics.previous version

From IU
Jump to navigation Jump to search

Big Data Technologies and Analytics

  • Course name: Big Data Technologies and Analytics
  • Course number: N/A

Prerequisites

Course Characteristics

Key concepts of the class

  • Advanced distributed data organization
  • Advanced distributed data processing

What is the purpose of this course?

Nowadays companies need to manage vast amounts of data on a daily basis. Storing, sorting, accessing and analyzing obtaining synthetic information is considered one of the great challenges of the 21st century and and being effective in this may make the difference between success and failure. In order to gain a competitive advantage, Big Data and Analytics professionals are able to extract useful information from data and increase the Return Of Investments. In this course, students will be exposed to the key technologies and techniques, including R and Apache Spark, in order to analyze large-scale data sets and uncover valuable business information.

Course Objectives Based on Bloom’s Taxonomy

What should a student remember at the end of the course?

  • Understanding of big data applications.
  • Algorithms for the statistical analysis of big data
  • Fundamental principles of predictive analytics

What should a student be able to understand at the end of the course?

By the end of the course, the students should be able to ...

  • How to process batch data
  • How to process stream data
  • Advanced design of distributed architectures
  • Advanced design of distributed algorithms

What should a student be able to apply at the end of the course?

By the end of the course, the students should be able to ...

  • Write a program for batch processing
  • Write a program for stream processing
  • Design distributed processing pipelines
  • Desing distributed algorithms

Course evaluation

Course grade breakdown
Proposed points
Labs/seminar classes 20 30
Interim performance assessment 30 30
Exams 50 40

If necessary, please indicate freely your course’s features in terms of students’ performance assessment.

Grades range

Course grading range
Proposed range
A. Excellent 90-100
B. Good 75-89
C. Satisfactory 60-74
D. Poor 0-59

If necessary, please indicate freely your course’s grading features.

Resources and reference material

  • Slides and material provided during the course.
  • F. Provost and T. Fawcett. Data Science for Business. O’Reilly, 2013
  • Matthew North. Data Mining for the Masses, Second Edition: with implementations in RapidMiner and R. CreateSpace Independent Publishing Platform, 2012
  • Tom White. Hadoop: The Definitive Guide. O’Reilly Media, Inc., 2012
  • Seema Acharya and Subhashini Chellappan. Big data and analytics. WileyIndia, 2016

Course Sections

The main sections of the course and approximate hour distribution between them is as follows:

Course Sections
Section Section Title Teaching Hours
1 Introduction 2
2 File systems and resource managers 8
3 Batch Processing 8
4 Stream Processing 8
5 Analytics 4

Section 1

Section title:

Introduction

Topics covered in this section:

  • What is Big Data
  • Characteristics of Big Data
  • Technologies
  • Virtualization and cloud computing

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 0
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. Describe the 6 Vs
  2. Describe the technologies to support big data

Typical questions for seminar classes (labs) within this section

  1. Design the structure of a cloud architecture for big data
  2. Give examples of the 6 Vs in real systems

Test questions for final assessment in this section

  1. Design the structure of a cloud architecture for a specific analytics type
  2. Give examples of the 6 Vs in real systems

Section 2

Section title:

File systems and resource managers

Topics covered in this section:

  • HDFS
  • YARN

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. Describe the characteristics of the different nodes of HDFS
  2. How files and blocks are managed
  3. Describe the resource manager
  4. Describe the lifecycle of an application
  5. Describe and compare the scheduling approaches

Typical questions for seminar classes (labs) within this section

  1. Configure a HDFS cluster
  2. Build a HDFS client
  3. Use a HDFS command line
  4. Configure YARN
  5. Evaluate the overall performance of YARN

Test questions for final assessment in this section

  1. Configure a HDFS cluster with some specific replication approaches
  2. Build a HDFS client
  3. Evaluate the performance of a specific configuration
  4. Compare the different schedules

Section 3

Section title:

Batch Processing

Topics covered in this section:

  • Distributed batch processing
  • MapReduce model
  • Applications
  • Tasks management
  • Patterns

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. Describe the MapReduce model
  2. Describe tasks management
  3. Describe patterns of usage

Typical questions for seminar classes (labs) within this section

  1. Solve with MapReduce a specific problem
  2. Implement a usage pattern

Test questions for final assessment in this section

  1. Describe the advantages and disadvantages of the MapReduce model
  2. Solve a task designing the solution using MapReduce
  3. Solve a task designing the solution using a composition of usage patterns

Section 4

Section title:

Stream Processing

Topics covered in this section:

  • CAP theorem
  • Distributed storage and computation
  • Distributed Stream Processing
  • Usage patterns

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. Analyze the CAP theorem
  2. Define the kinds of data storage available
  3. Characteristics of stream processing
  4. Describe the usage patterns

Typical questions for seminar classes (labs) within this section

  1. Build a program to solve a problem with stream processing
  2. Interact with a NoSQL database

Test questions for final assessment in this section

  1. Identify problems and solutions related to the CAP theorem
  2. Compare solutions with batch and stream processing approaches
  3. Design a system using a NoSQL database

Section 5

Section title:

Analytics

Topics covered in this section:

  • Architecture
  • Use cases
  • SparkML
  • GraphX

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. Features of SparkML
  2. Features of GraphX

Typical questions for seminar classes (labs) within this section

  1. Write a program using SparkML
  2. Write a program using GraphX

Test questions for final assessment in this section

  1. Extend the SparkML library with a custom algorithm
  2. Extend the GraphX library with a custom algorithm