Ending In:

$516

Connect the Dots: Linear and Logistic Regression in Excel, Python and R

$69 Value

Connect the Dots: Factor Analysis in Excel, Python and R

$50 Value

Number-Crunching in R

$69 Value

Advanced Analytical Queries in Hive

$99 Value

Learn By Example: Qlikview

$50 Value

Learn By Example: Apache Storm

$50 Value

Learn By Example: Scala

$50 Value

Scalable Programming with Scala and Spark

$79 Value

Access

Lifetime

Content

5 hours

Lessons

40

By Loonycorn | in Online Courses

Linear Regression is a powerful method for quantifying the cause and effect relationships that affect different phenomena in the world around us. This course will teach you how to build robust linear models that will stand up to scrutiny when you apply them to real world situations. You'll even put what you've learnt into practice by leveraging Excel, R, and Python to build a model for stock returns.

- Access 40 lectures & 5 hours of content 24/7
- Cover method of least squares, explaining variance, & forecasting an outcome
- Explore residuals & assumptions about residuals
- Implement simple & multiple regression in Excel, R, & Python
- Interpret regression results & avoid common pitfalls
- Introduce a categorical variable

Loonycorn is comprised of four individuals—Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh—who have honed their tech expertises at Google and Flipkart. The team believes it has distilled the instruction of complicated tech concepts into funny, practical, engaging courses, and is excited to be sharing its content with eager students.

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels

Compatibility

- Internet required

- Introduction
- You, This Course and Us (1:54)

- Connect the Dots with Linear Regression
- Using Linear Regression to Connect the Dots (9:04)
- Two Common Applications of Regression (5:24)
- Extending Linear Regression to Fit Non-linear Relationships (2:36)

- Basic Statistics Used for Regression
- Understanding Mean and Variance (6:03)
- Understanding Random Variables (16:54)
- The Normal Distribution (9:31)

- Simple Regression
- Setting up a Regression Problem (11:36)
- Using Simple regression to Explain Cause-Effect Relationships (4:57)
- Using Simple regression for Explaining Variance (8:07)
- Using Simple regression for Prediction (4:04)
- Interpreting the results of a Regression (7:25)
- Mitigating Risks in Simple Regression (7:56)

- Applying Simple Regression Using Excel
- Applying Simple Regression in Excel (11:57)
- Applying Simple Regression in R (11:14)
- Applying Simple Regression in Python (6:05)

- Multiple Regression
- Introducing Multiple Regression (7:03)
- Some Risks inherent to Multiple Regression (10:06)
- Benefits of Multiple Regression (3:48)
- Introducing Categorical Variables (6:58)
- Interpreting Regression results - Adjusted R-squared (7:02)
- Interpreting Regression results - Standard Errors of Co-efficients (8:12)
- Interpreting Regression results - t-statistics and p-values (5:32)
- Interpreting Regression results - F-Statistic (2:52)

- Applying Multiple Regression using Excel
- Implementing Multiple Regression in Excel (8:54)
- Implementing Multiple Regression in R (6:26)
- Implementing Multiple Regression in Python (4:21)

- Logistic Regression for Categorical Dependent Variables
- Understanding the need for Logistic Regression (9:24)
- Setting up a Logistic Regression problem (6:02)
- Applications of Logistic Regression (9:55)
- The link between Linear and Logistic Regression (8:13)
- The link between Logistic Regression and Machine Learning (4:16)

- Solving Logistic Regression
- Understanding the intuition behind Logistic Regression and the S-curve (6:21)
- Solving Logistic Regression using Maximum Likelihood Estimation (10:02)
- Solving Logistic Regression using Linear Regression (5:32)
- Binomial vs Multinomial Logistic Regression (4:04)

- Applying Logistic Regression
- Predict Stock Price movements using Logistic Regression in Excel (9:52)
- Predict Stock Price movements using Logistic Regression in R (8:00)
- Predict Stock Price movements using Rule-based and Linear Regression (6:44)
- Predict Stock Price movements using Logistic Regression in Python (4:49)

Access

Lifetime

Content

1.5 hours

Lessons

19

By Loonycorn | in Online Courses

Factor analysis helps to cut through the clutter when you have a lot of correlated variables to explain a single effect. This course will help you understand factor analysis and its link to linear regression. You'll explore how Principal Components Analysis (PCA) is a cookie cutter technique to solve factor extraction, and how it relates to machine learning.

- Access 19 lectures & 1.5 hours of content 24/7
- Understand principal components
- Discuss Eigen values & Eigen vectors
- Perform Eigenvalue decomposition
- Use principal components for dimensionality reduction & exploratory factor analysis
- Apply PCA to explain the returns of a technology stock like Apple
- Find the principal components & use them to build a regression model

Loonycorn is comprised of four individuals—Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh—who have honed their tech expertises at Google and Flipkart. The team believes it has distilled the instruction of complicated tech concepts into funny, practical, engaging courses, and is excited to be sharing its content with eager students.

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels

Compatibility

- Internet required

- Introduction
- You, This Course and Us (1:45)

- Factor Analysis and PCA
- Factor Analysis and the Link to Regression (8:03)
- Factor Analysis and PCA (7:00)

- Basic Statistics Required for PCA
- Mean and Variance (6:03)
- Covariance and Covariance Matrices (11:45)
- Covariance vs Correlation (3:19)

- Diving into Principal Components Analysis
- The Intuition Behind Principal Components (5:16)
- Finding Principal Components (7:10)
- Understanding the Results of PCA - Eigen Values (4:05)
- Using Eigen Vectors to find Principal Components (2:31)
- When not to use PCA (2:25)

- PCA in Excel
- Setting up the data (6:52)
- Computing Correlation and Covariance Matrices (3:27)
- PCA using Excel and VBA (5:51)
- PCA and Regression (2:56)

- PCA in R
- Setting up the data (2:56)
- PCA and Regression using Eigen Decomposition (3:58)
- PCA in R using packages (1:56)

- PCA in Python
- PCA and Regression in Python (6:42)

Access

Lifetime

Content

5.5 hours

Lessons

59

By Loonycorn | in Online Courses

This course is an introduction to the R programming language. R has its own set of data structures that take some getting used to, and this course will help you familiarize yourself with the intricacies of data manipulation in R. You'll dive into data analysis with R, visualizing a variety of plots and graphs, descriptive statistics, and much more.

- Access 59 lectures & 5.5 hours of content 24/7
- Harness R & R packages to read, process, & visualize data
- Understand the intricacies of all the different data structures in R
- Use descriptive statistics to perform a quick study of some data & present results
- Discuss data analysis & visualization w/ R

Loonycorn is comprised of four individuals—Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh—who have honed their tech expertises at Google and Flipkart. The team believes it has distilled the instruction of complicated tech concepts into funny, practical, engaging courses, and is excited to be sharing its content with eager students.

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels

Compatibility

- Internet required

- Introduction
- You, This course and Us (1:53)
- R and RStudio installed (5:10)

- Diving into R
- Harnessing the power of R (7:26)
- Assigning Variables (8:48)
- Printing an output (13:03)
- Numbers are of type numeric (5:25)
- Characters and Dates (7:30)
- Logicals (3:24)

- Vectors
- Data Structures are the building blocks of R (8:24)
- Creating a Vector (2:23)
- The Mode of a Vector (4:18)
- Vectors are Atomic (2:24)
- Doing something with each element of a Vector (3:09)
- Aggregating Vectors (1:28)
- Operations between vectors of the same length (5:39)
- Operations between vectors of different length (5:30)
- Generating Sequences (6:25)
- Using conditions with Vectors (2:04)
- Find the lengths of multiple strings using Vectors (2:22)
- Generate a complex sequence (using recycling) (2:49)
- Vector Indexing (using numbers) (6:56)
- Vector Indexing (using conditions) (6:18)
- Vector Indexing (using names) (2:27)

- Arrays
- Creating an Array (11:36)
- Indexing an Array (7:38)
- Operations between 2 Arrays (2:09)
- Operations between an Array and a Vector (2:45)
- Outer Products (6:23)

- Matrices
- A Matrix is a 2-Dimensional Array (7:59)
- Creating a Matrix (2:00)
- Matrix Multiplication (2:49)
- Merging Matrices (2:06)
- Solving a set of linear equations (2:06)

- Factors
- What is a factor? (6:48)
- Find the distinct values in a dataset (using factors) (1:28)
- Replace the levels of a factor (2:18)
- Aggregate factors with table() (1:40)
- Aggregate factors with tapply() (5:07)

- Lists and Data Frames
- Introducing Lists (5:11)
- Introducing Data Frames (4:28)
- Reading Data from files (4:52)
- Indexing a Data Frame (5:38)
- Aggregating and Sorting a Data Frame (6:28)
- Merging Data Frames (3:30)

- Descriptive Statistics
- Descriptive Statistics : Mean, Median, Mode (10:07)
- Our first foray into R : Frequency Distributions (6:07)
- Draw your first plot : A Histogram (3:11)
- Computing Mean, Median, Mode in R (2:21)
- What is IQR (Inter-quartile Range)? (8:08)
- Box and Whisker Plots (3:11)
- The Standard Deviation (10:24)
- Computing IQR and Standard Deviation in R (6:06)

- Data Visualization in R
- Data Visualization (6:23)
- The plot() function in R (3:42)
- Control color palettes with RColorbrewer (4:15)
- Drawing barplots (5:25)
- Drawing a heatmap (2:52)
- Drawing a Scatterplot Matrix (3:41)
- Plot a line chart with ggplot2 (8:19)

Access

Lifetime

Content

6 hours

Lessons

50

By Loonycorn | in Online Courses

Hive helps you leverage the power of distributed computing and Hadoop for analytical processing. Its interface, HiveQL, is very similar to SQL, making it an especially convenient tool to know. This course will help you take advantage of Hive features that help you tune performance and perform complex transformations.

- Access 50 lectures & 6 hours of content 24/7
- Write complex analytical queries on data in Hive & uncover insights
- Leverage ideas of partitioning & bucketing to optimize queries in Hive
- Understand what goes on under the hood of Hive w/ HDFS & MapReduce
- Explore subqueries, table generating functions, windowing, & more

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels, but some knowledge of SQL is necessary

Compatibility

- Internet required

- You, Us & This Course
- You, Us & This Course (1:58)

- Introducing Hive
- Hive: An Open-Source Data Warehouse (12:59)
- Hive and Hadoop (9:19)
- Hive vs Traditional Relational DBMS (13:52)
- HiveQL and SQL (7:20)

- Built-in Functions
- Three types of Hive functions (6:45)
- The Case-When statement, the Size function, the Cast function (10:09)
- The Explode function (13:07)
- Code-Along : Hive Built - in functions (4:28)

- Sub-Queries
- Quirky Sub-Queries (7:13)
- More on subqueries: Exists and In (15:13)
- Inserting via subqueries (5:23)
- Code-Along : Use Subqueries to work with Collection Datatypes (5:57)
- Views (12:18)

- Partitioning
- Indices (6:40)
- Partitioning Introduced (6:36)
- The Rationale for Partitioning (6:16)
- How Tables are Partitioned (9:52)
- Using Partitioned Tables (5:27)
- Dynamic Partitioning: Inserting data into partitioned tables (12:44)
- Code-Along : Partitioning (4:03)

- Bucketing
- Introducing Bucketing (11:56)
- The Advantages of Bucketing (4:54)
- How Tables are Bucketed
- Using Bucketed Tables (7:22)
- Sampling (11:13)

- Windowing
- Windowing Introduced (12:59)
- Windowing - A Simple Example: Cumulative Sum (9:39)
- Windowing - A More Involved Example: Partitioning (11:55)
- Windowing - Special Aggregation Functions (15:08)

- Understanding MapReduce
- The basic philosophy underlying MapReduce (8:49)
- MapReduce - Visualized and Explained (9:03)
- MapReduce - Digging a little deeper at every step (10:21)

- MapReduce logic for queries: Behind the scenes
- MapReduce Overview: Basic Select-From-Where (11:33)
- MapReduce Overview: Group-By and Having (9:12)
- MapReduce Overview: Joins (14:17)

- Join Optimizations in Hive
- Improving Join performance with tables of different sizes (13:12)
- The Where clause in Joins (4:52)
- The Left Semi Join (12:11)
- Map Side Joins: The Inner Join (9:41)
- Map Side Joins: The Left, Right and Full Outer Joins (11:36)
- Map Side Joins: The Bucketed Map Join and the Sorted Merge Join (7:52)

- Hadoop and Hive Install
- Hadoop Install Modes (8:32)
- Hadoop Install Step 1 : Standalone Mode (15:46)
- Hadoop Install Step 2 : Pseudo-Distributed Mode (11:44)
- Hive install (12:05)
- Code-Along: Getting started (6:24)

- Appendix
- [For Linux/Mac OS Shell Newbies] Path and other Environment Variables (8:25)
- Setting up a Virtual Linux Instance - For Windows Users (15:58)

Access

Lifetime

Content

2.5 hours

Lessons

26

By Loonycorn | in Online Courses

A Qlikview app is like an in-memory database. It is a single tool that you can use to transform, summarize, and visualize data. The interactive nature of Qlikview allows you to explore and iterate data very quickly to develop an intuitive feel. In this course, you'll use real-life, practical examples to learn how to work with this tool.

- Access 26 lectures & 2.5 hours of content 24/7
- Use list boxes, table boxes, & chart boxes to query data
- Load data into a QV app from CSV & databases, avoiding synthetic keys & circular references
- Transform & add new fields in a load script
- Present your insights effectively using elements like charts, drill downs, & triggers
- Perform nested aggregations in charts

Loonycorn is comprised of two individuals—Janani Ravi and Vitthal Srinivasan—who have honed their respective tech expertise at Google and Flipkart. The duo graduated from Stanford University and believes it has distilled the instruction of complicated tech concepts into funny, practical, engaging courses, and is excited to be sharing its content with eager students.

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels

Compatibility

- Internet required

- Introduction
- You, This Course and Us (1:54)

- Getting Started
- Understanding a Qlikview Document (7:09)
- The In-Memory Data Model (6:47)
- Installing the Qlikview Desktop Client (2:40)

- Loading Data into a QV App
- Loading data from a CSV file (14:03)
- Loading data from a Database (9:06)
- Avoiding Synthetic Keys (10:10)
- Removing Circular References (5:19)

- Exploring Data using the UI
- List Boxes are like Select DISTINCT (5:38)
- Table boxes are for Selecting columns (3:37)
- Selection Interactions in QV (7:59)
- Summarizing data with Chart Boxes (15:42)
- Data Types in QV : The Dual Format Representation (7:28)

- Transforming Data in Load Scripts
- Adding calculated fields in the load script (4:41)
- Using a variable in the load script (3:48)
- Joining tables in memory (3:45)
- The Keep keyword (3:24)
- Loading data from in-memory tables (5:01)
- Inline loads (1:29)

- Effectively presenting data
- Some useful dashboard elements (9:44)
- Grouped Fields (7:46)
- Highlighting with Color (3:33)
- The total keyword (6:04)
- Using Set analysis to override selections (6:04)

- Advanced Load Transformations
- Mapping Loads (2:48)
- Generic Load (4:36)

Access

Lifetime

Content

4 hours

Lessons

36

By Loonycorn | in Online Courses

Storm is to real-time stream processing what Hadoop is to batch processing. Using Storm, you can build applications that let you be highly responsive to the latest data and react within seconds and minutes - like finding the latest trending topics on Twitter, or monitoring spikes in payment gateway failures. From simple data transformations to applying machine learning algorithms on the fly, Storm can do it all.

- Access 36 lectures & 4 hours of content 24/7
- Understand Spouts & Bolts, which are the building blocks of every Storm topology
- Run a Storm topology in the local mode & in the remote mode
- Parallelize data processing within a topology using different grouping strategies
- Manage reliability & fault-tolerance within Spouts & Bolts
- Perform complex transformations on the fly using the Trident topology
- Apply ML algorithms on the fly using libraries like Trident-ML & Storm-R

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels

Compatibility

- Internet required

- You, This Course and Us
- You, This Course and Us (2:06)

- Stream Processing with Storm
- How does Twitter compute Trends? (5:42)
- Improving Performance using Distributed Processing (5:39)
- Building blocks of Storm Topologies (5:38)
- Adding Parallelism in a Storm Topology (4:54)
- Components of a Storm Cluster (4:06)

- Implementing a Hello World Topology
- A Simple Hello World Topology (4:13)
- Ex 1: Implementing a Spout (11:10)
- Ex 1: Implementing a Bolt (4:43)
- Ex 1: Submitting the Topology (5:14)

- Processing Data using Files
- Ex 2: Reading Data from a File (11:38)
- Representing Data using Tuples (3:25)
- Ex 3: Accessing data from Tuples (9:07)
- Ex 4: Writing Data to a File (9:58)

- Running a Topology in the Remote Mode
- Setting up a Storm Cluster (5:14)
- Ex 5: Submitting a topology to the Storm Cluster (7:20)

- Adding Parallelism to a Storm Topology
- Ex 6 : Shuffle Grouping (6:42)
- Ex 7: Fields Grouping (4:37)
- Ex 8: All Grouping (2:22)
- Ex 9: Custom Grouping (5:16)
- Ex 10: Direct Grouping (5:39)

- Section 7: Building a Word Count Topology
- Ex 11: Building a Word Count Topology (10:04)

- Remote Procedure Calls Using Storm
- Ex 12: A Storm Topology for DRPC calls (12:48)

- Managing Reliability of Topologies
- Ex 13: Managing Failures in Spouts (10:32)

- Integrating Storm with Different Sources/Sinks
- Ex 14: Implementing a Twitter Spout (8:16)
- Ex 15: Using a HDFS Bolt (7:17)

- Using the Storm Multilang Protocol
- Ex 16: Building a Storm Topology using Python (8:24)

- Complex Transformations using Trident
- Ex 17: Building a basic Trident Topology (8:04)
- Ex 18: Implementing a Map Function (7:29)
- Ex 19: Implementing a Filter Function (3:40)
- Ex 20: Aggregating data (6:03)
- Ex 21: Understanding States (9:28)
- Ex 22: Windowing operations (11:33)
- Ex 23: Using partitions (7:49)
- Ex 24: Building a Twitter Hashtag Extractor (5:59)

- Machine Learning using Storm
- Ex 25: Classify Names using Trident-ML (9:58)

Access

Lifetime

Content

6.5 hours

Lessons

67

By Loonycorn | in Online Courses

The best way to learn is by example, and in this course you'll get the lowdown on Scala with 65 comprehensive, hands-on examples. Scala is a general-purpose programming language that is highly scalable, making it incredibly useful in building programs. Over this immersive course, you'll explore just how Scala can help your programming skill set, and how you can set yourself apart from other programmers by knowing this efficient tool.

- Access 67 lectures & 6.5 hours of content 24/7
- Use Scala w/ an intermediate level of proficiency
- Read & understand Scala programs, including those w/ highly functional forms
- Identify the similarities & differences between Java & Scala to use each to their advantages

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: intermediate

Compatibility

- Internet required

- You, This Course and Us
- You, This Course and Us

- Introducing Scala
- Introducing Scala: Java's Cool Cousin
- Installing Scala
- Examples 1 and 2 - Hello world
- Example 3 - Mutable and Immutable ‘variables’
- Example 4 - Type Inference
- Example 5 - String Operations
- Example 6 - A Unified Type System
- Example 7 - Emptiness in Scala
- Example 8 - Type Operations

- Expressions or Statements?
- Example 9 - Statements v Expressions
- Example 10 - Defining Values and Variables via Expressions
- Example 11 - Nested Scopes in Expression Blocks
- Example 12 - If/Else expression blocks
- Example 13 - match expressions
- Example 14 - match expressions: Pattern guards & OR-ed expressions
- Example 15 - match expressions: catch-all to match-all
- Example 16 - match expressions: down casting with Pattern Variables
- Example 17 - for loops can be expressions OR statements
- Example 18 - for loops: 2 types of iterators
- Example 19 - for loops with if conditions: Pattern Guards
- Example 21 - while/do-while Loops: Pure Statements

- First Class Functions
- First Class Functions
- Example 22 - Functions are named, reusable expressions
- Example 23 - Procedures are named, reusable statements
- Example 24 - Functions with No Inputs
- Example 25 - Invoking Functions with Expression Blocks
- Example 26 - Nested Functions
- Example 27 - Named Function Parameters
- Example 28 - Parameter Default Values
- Example 29 - Type Parameters: Parametric Polymorphism (5:11)
- Example 30 - Vararg Parameters
- Example 31 - Assigning Functions to Values
- Example 32 - Higher Order Functions
- Example 33 - Anonymous Functions (aka Function Literals)
- Example 34 - Placeholder Syntax
- Example 35 - Partially Applied Functions
- Example 36 - Currying
- Example 37 - By-Name Parameters
- Example 38 - Closures

- Collections
- Example 39 - Tuples
- Example 40 - Lists: Creating Them
- Example 41 - Lists: Using Them
- Example 42 - Lists: Higher Order Functions
- Example 43 - Scan, ScanLeft, ScanRight
- Example 44 - Fold, FoldLeft, FoldRight
- Example 45 - Reduce,ReduceLeft,ReduceRight
- Example 46 - Other, Simpler Reduce Operations
- Example 47 - Sets and Maps
- Example 48 - Mutable Collections, and Arrays
- Example 49 - Option Collections
- Example 50 - Error handling with util.Try

- Classes and Objects
- Example 51 - Classes
- Example 52 - Primary v Auxiliary Constructors
- Example 53 - Inheritance from Classes
- Example 54 - Abstract Classes
- Example 55 - Anonymous Classes
- Example 56 - Type Parameters
- Example 57 - Lazy Values
- Example 58 - Default Methods with apply
- Example 59 - Operators
- Example 60 - Access Modifiers
- Example 61 - Singleton Objects
- Example 62 - Companion Objects
- Example 63 - Traits
- Example 64 - Case Classes
- Example 65 - Self Types

Access

Lifetime

Content

8.5 hours

Lessons

51

By Loonycorn | in Online Courses

The functional programming nature and the availability of a REPL environment make Scala particularly well suited for a distributed computing framework like Spark. Using these two technologies in tandem can allow you to effectively analyze and explore data in an interactive environment with extremely fast feedback. This course will teach you how to best combine Spark and Scala, making it perfect for aspiring data analysts and Big Data engineers.

- Access 51 lectures & 8.5 hours of content 24/7
- Use Spark for a variety of analytics & machine learning tasks
- Understand functional programming constructs in Scala
- Implement complex algorithms like PageRank & Music Recommendations
- Work w/ a variety of datasets from airline delays to Twitter, web graphs, & Product Ratings
- Use the different features & libraries of Spark, like RDDs, Dataframes, Spark SQL, MLlib, Spark Streaming, & GraphX
- Write code in Scala REPL environments & build Scala applications w/ an IDE

Details & Requirements

- Length of time users can access this course: lifetime
- Access options: web streaming, mobile streaming
- Certification of completion not included
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: all levels, but some knowledge of Java or C++ is assumed

Compatibility

- Internet required

- You, This Course and Us
- You, This Course and Us (2:16)
- Installing Scala and Hello World (9:43)

- Introduction to Spark
- What does Donald Rumsfeld have to do with data analysis? (8:45)
- Why is Spark so cool? (12:23)
- An introduction to RDDs - Resilient Distributed Datasets (9:39)
- Built-in libraries for Spark (15:37)
- Installing Spark (11:44)
- The Spark Shell (6:55)
- See it in Action : Munging Airlines Data with Spark (3:44)
- Transformations and Actions (17:06)

- Resilient Distributed Datasets
- RDD Characteristics: Partitions and Immutability (12:35)
- RDD Characteristics: Lineage, RDDs know where they came from (6:06)
- What can you do with RDDs? (11:09)
- Create your first RDD from a file (14:54)
- Average distance travelled by a flight using map() and reduce() operations (6:59)
- Get delayed flights using filter(), cache data using persist() (6:11)
- Average flight delay in one-step using aggregate() (12:21)
- Frequency histogram of delays using countByValue() (2:10)

- Advanced RDDs: Pair Resilient Distributed Datasets
- Special Transformations and Actions (14:45)
- Average delay per airport, use reduceByKey(), mapValues() and join() (13:35)
- Average delay per airport in one step using combineByKey() (8:23)
- Get the top airports by delay using sortBy() (2:51)
- Lookup airport descriptions using lookup(), collectAsMap(), broadcast() (10:57)

- Advanced Spark: Accumulators, Spark Submit, MapReduce , Behind The Scenes
- Get information from individual processing nodes using accumulators (9:25)
- Long running programs using spark-submit (7:11)
- Spark-Submit with Scala - A demo (6:10)
- Behind the scenes: What happens when a Spark script runs? (14:30)
- Running MapReduce operations (10:53)

- PageRank: Ranking Search Results
- What is PageRank? (16:44)
- The PageRank algorithm (6:15)
- Implement PageRank in Spark (9:45)
- Join optimization in PageRank using Custom Partitioning (6:28)

- Spark SQL
- Dataframes: RDDs + Tables (15:48)

- MLlib in Spark: Build a recommendations engine
- Collaborative filtering algorithms (12:19)
- Latent Factor Analysis with the Alternating Least Squares method (11:39)
- Music recommendations using the Audioscrobbler dataset (5:38)
- Implement code in Spark using MLlib (14:45)

- Spark Streaming
- Introduction to streaming (9:55)
- Implement stream processing in Spark using Dstreams (9:19)
- Stateful transformations using sliding windows (8:17)

- Graph Libraries
- The Marvel social network using Graphs (14:30)

- Scala Language Primer
- Scala - A "better Java"? (10:13)
- How do Classes work in Scala? (11:02)
- Classes in Scala - continued (15:50)
- Functions are different from Methods (7:31)
- Collections in Scala (10:12)
- Map, Flatmap - The Functional way of looping (11:36)
- First Class Functions revisited (8:46)
- Partially Applied Functions (7:31)
- Closures (8:07)
- Currying (10:34)

- Supplementary Installs
- Installing Intellij (12:43)
- Installing Anaconda (9:00)
- [For Linux/Mac OS Shell Newbies] Path and other Environment Variables (8:25)

- Unredeemed licenses can be returned for store credit within 15 days of purchase. Once your license is redeemed, all sales are final.