Course Overview

Data analysis is crucial to accurately predict the performance of an application. The course begins by getting you started with R, including basic programming and data import, data visualization, pivoting, merging, aggregating, and joins. Once you are comfortable with the basics, you will read ahead and learn all about data visualization and graphics. You will learn data management techniques such as pivots, aggregations, and dealing with missing values. With this various case studies and examples, this course gives you the knowledge to confidently start your career in the field of data science.

This is a hands-on guide that walks you through concepts with examples using built-in R data. Every topic is enriched with a supporting example that highlights the concept, followed by activities that will gradually build into a full data science project to showcase skills learned. You will perform an end-to-end analysis, starting a data science portfolio.

Course Objectives

The course begins by getting you started with R, including basic programming and data import, data visualization, pivoting, merging, aggregating, and joins. You will learn how to:

  • Use the basic programming concepts of R such as loading packages, arithmetic functions, data structures, and flow control
  • Import data to R from various formats, such as CSV, Excel, and SQL
  • Clean data by handling missing values and standardizing fields
  • Perform univariate and bivariate analysis using ggplot2
  • Create statistical summary and advanced plots, such as histograms, scatter plots, box plots, and interaction plots
  • Apply data management techniques, such as factors, pivots, aggregation, merging, and dealing with missing values, on the example data sets

Course Content

Lesson 1: INTRODUCTION TO R

  • Using R, RStudio, and Installing Useful Packages
  • Variable Types and Data Structures
  • Basic Flow Control
  • Data Import and Export
  • Getting Help with R

Lesson 2: DATA VISUALIZATION AND GRAPHICS

  • Creating Base Plots
  • ggplot2
  • Interactive Plots

Lesson 3: DATA MANAGEMENT

  • Factor Variables
  • Summarizing data
  • Splitting, Combining, Merging, and Joining Datasets

Course Overview

Equip yourself with writing efficient and powerful code which can be easily managed. This fast-paced guide to Scala leads you through the functional and object-oriented concepts that are used in Scala.

You’ll learn how to write safer and stable code by using pure functions and immutable data structures.

Scala is a general-purpose programming language, combining elements of object-oriented with functional programming. It is backed by a strong type system and is designed to be concise.

Course Objectives

  • Write Scala applications
  • Effectively participate in existing Scala projects
  • Recognize and use typical idioms and patterns
  • Identify the principles of functional programming and know the essence of advanced functional patterns

Course Content

Day One – Getting Started with Scala
 
We begin our day by easing ourselves into the world of Scala. We setup our development environment and learn some basics of Scala language.

Lesson One – Setting up the Development Environment

Before starting with the Scala language itself, we will identify how to setup our development environment. we will learn the basics of Scala, such as what the simple Scala program looks like and what a typical developer flow is. We will identify how to structure the Scala program. We will also cover some aspects of testing your Scala program by using Unit testing.

  • Recognize the structure of a Scala project
  • Identify the use of Scala’s sbt tool (interactive build tool) for building and running your project
  • Identify how to use the IDE
  • Implement interactions with a simple chatbot

Lesson Two – Basic Language Features

We will explore the so-called ‘OO’ part of Scala such as Java or C++. The object-oriented part of Scala will cover classes and objects, traits, pattern matching, case class, and so on. Finally, we will implement the object-oriented concepts that we learn to our chatbot application.

  • Identify the structure of non-trivial Scala programs
  • Identify how to use main object-oriented facilities: objects, classes, and traits
  • Recognize the details of function call syntax and parameter-passing modes

Lesson Three – Functions

We will cover functional programming with Scala and how object-oriented and functional approaches complete each other. We will cover generic classes and also cover how to create user-defined pattern matching and why is it useful.

  • Identify the basics of functional programming
  • Identify the basics of generic types in Scala
  • Implement user-defined pattern matching
  • Recognize and use functional compositional patterns
  • Day Two – Scala Collections and Type System
  • We begin our day by learning various scala collections and then we will cover types.

Lesson One – Scala Collections

We will start by learning how to work with lists. Afterwards, we’ll generalize to sequences and cover some more relevant data structures. Finally, we’ll look at how collections relate to monads and how we can use that knowledge to make some powerful abstractions in our code.

  • Identify the Scala collections available in the standard library
  • Identify how to abstract on sequences by using higher-order Functions
  • Implement the important design principles for working with Scala collections

Lesson Two – Scala Type System

In this lesson, we will cover the type system and polymorphism. We will also cover the different types of variance, which provides a way to constrain parameterized types. Finally, we will cover some advanced types such as abstract type members, option, and so on.

  • Identify the Scala type hierarchy
  • Use the features the Scala type system provides
  • Identify abstractions that the Scala type system enables

Lesson Three – Implicits

We will cover implicit parameters and implicit conversions. We’ll be learning about how they work, how to use them, and what kind of benefits and perils they provide.

  • Describe implicits and how the Scala compiler handles them
  • Explain the design patterns that implicits enable
  • Analyze the common issues that may arise by overusing implicits

Day Three – Building Code using Functional Programming

We begin our day by focusing on the functional programming aspects of Scala. We will then cover Cats and Doobie, which are the two popular functional programming libraries.

Lesson One – Functional Idioms

We’ll cover the core concepts of functional programming like Pure functions, immutability, and higher-order functions. We’ll introduce some of the design patterns that are prevalent in large functional programs. Finally, we’ll cover two popular functional programming libraries called Cats and Doobie, and use them to write some interesting programs.

  • Identify the core concepts of functional programming
  • Recognize and implement the popular functional programming design patterns
  • Implement Cats and Doobie in your own Scala projects

Lesson Two – Domain Specific Languages

We will cover how Scala makes it possible to write powerful DSLs by providing a few interesting language features. We’ll have a brief look at what DSLs are in general terms. We’ll also cover a DSL that you’ll very likely be using if you’re going to work with Scala professionally. Finally, we will implement our own DSL.

  • Identify the use of Domain Specific Languages (DSLs)
  • Use the DSL that ScalaTest, a popular testing library for Scala, provides
  • Design your own DSLs in Scala

Course Overview

Node.js is considered a game changer. It is the biggest shift of the decade in web development. Node.js applications are written in JavaScript, which enables scenarios such as single-language application stacks and the sharing of code between the server and the client.

The goal of this course is to guide you through the emerging world of patterns, techniques, and practices, helping you to understand proven solutions to common problems.

Throughout the course, you will be presented with several libraries and technologies. They will be used to demonstrate a pattern or technique, and will also give you great exposure to the Node.js ecosystem and its set of solutions.

Course Objectives

This course will uncover a set of patterns to solve common problems encountered in Node.js design and coding. Finally, you will explore writing modular and efficient Node.js applications.

Course Content

Lesson 1: Welcome to the Node.js Platform

  • The Node.js Philosophy
  • Introduction to Node.js 6 and ES2015
  • The Reactor Pattern

Lesson 2: Node.js Essential Patterns

  • The Callback Pattern
  • The Module System and its Pattern
  • The Observer Pattern

Lesson 3: Asynchronous Control Flow Patterns with Callbacks

  • The Difficulties of Asynchronous Programming
  • Using Plain JavaScript
  • The async Library

Lesson 4: Asynchronous Control Flow Patterns with ES2015 and Beyond

  • Promise
  • Generators
  • Async/Await Using Babel
  • Comparison

Lesson 5: Coding with Streams

  • Discovering the Importance of Streams
  • Getting Started with Streams
  • Asynchronous Control Flow with Streams
  • Piping Patterns

Lesson 6: Design Patterns

  • Factory
  • Revealing Constructor
  • Proxy
  • Decorator
  • Adapter
  • Strategy
  • State
  • Template
  • Middleware
  • Command

Lesson 7: Wiring Modules

  • Modules and Dependencies
  • Patterns for Wiring Modules
  • Wiring Plugins

Lesson 8: Universal JavaScript for Web Applications

  • Sharing Code with the Browser
  • Introducing Webpack
  • Fundamentals of Cross-Platform Development

Course Overview

This is a 3-day course which balances theory and hand-on applications that are focused on practical takeaways to learn Azure SQL Database.

This course complies with instructional designing principles for all the 9 lessons. This will ensure that you repeat and reinforce your gained knowledge at every step. Each and every minute spent during this 3-day course will incrementally take you to a next level.

Course Objectives

If you are interested in developing new or migrating existing applications with Azure SQL Database, then this course is for you.
 
The course will provide enough knowledge of the following:

  • Provision a new Azure SQL Database or Migrate an existing on-premise SQL Server database to Azure SQL Database
  • Backup and restore Azure SQL Database
  • Secure and scale an Azure SQL Database
  • Monitor and tune an Azure SQL Database
  • Implement high availability and disaster recovery with Azure SQL Database
  • Automate common management tasks with PowerShell
  • Develop a scalable cloud solution with SQL Database

Course Content

Microsoft Azure SQL Database Primer

  • Azure SQL Database Architecture

Migrating an SQL Server Database to an Azure SQL Database

  • Azure SQL Database Service Tiers
  • Determining an Appropriate Service Tier
  • Determining Compatibility Issues
  • Determining the Migration Method

Backing up the SQL Database

  • Automatic Backups
  • Manual Backups

Restoring an Azure SQL Database

  • Restore Types

Securing an Azure SQL Database

  • Access Control
  • Proactive Security
  • Scaling Out Azure SQL Database
  • Vertical Scaling
  • Horizontal Scaling

Elastic Pools

  • Introducing Elastic Pools
  • Elastic Jobs

High Availability and Disaster Recovery

  • High Availability
  • Disaster Recovery

Monitoring and Tuning Azure SQL Database

  • Monitoring an Azure SQL Database Using the Azure Portal
  • Tuning an Azure SQL Database

Course Overview

This is a 2-day course packed with the right balance of theory and hands-on activities to help you take your TypeScript skills to the next level.

This course complies with instructional designing principles for all the 4 lessons. This will ensure that you frequently repeat and reinforce the knowledge you gain. Having been designed for the development of large applications, TypeScript is being widely incorporated into popular projects such as Angular.

TypeScript is the future of JavaScript. TypeScript offers a sliding scale of how much or how little effort you want to put into your declarations: the more effort you put in, the more type safety and code intelligence you get. TypeScript allows developers to write readable and maintainable web applications. Adopting TypeScript results in more robust software, while still being deployable in apps where regular JavaScript is running.

Pure JavaScript lacks certain language features that are taken for granted in languages such as C# and Java. For example, it has no built-in module system, meaning that there’s no standard way of producing self-contained blocks of code that present well-defined interfaces to developers.

Course Objectives

In this course, we will begin by learning the fundamentals of TypeScript and eventually move toward advanced concepts. Learn how TypeScript relates to JavaScript that you may have written before. We will understand the benefits of TypeScript and how it can help you avoid software defects. We will learn to use type guards, check null and undefined, create tagged union types, and compare the performance of algorithms.

We will use TypeScript to build a weather forecast widget with Angular. We will then progress by building a note-taking client/server application using Angular, Node.js, and MongoDB. Finally, we will create a real-time chat application with React.

By completing this course, you will be able to build interesting TypeScript projects. This course will take your current TypeScript knowledge to the next level.

Here are the important topics that this course will cover:

  • Learn the fundamentals of TypeScript
  • Build a weather forecast widget with Angular
  • Create building a note-taking client/server application using Angular, Node.js, and MongoDB
  • Create a real-time chat application with React

Course Content

Lesson 1: TypeScript Fundamentals

  • Introduction to TypeScript
  • Type Checking
  • Advanced Type Analysis Features
  • Comparing Performance of Algorithms

Lesson 2: Building a Weather Forecast Widget with Angular 4

  • Using Modules
  • Creating the First Component
  • Using the Component in Other Components
  • Using the Main Component

Lesson 3: Note-Taking Client/Server App

  • Setting up the Server
  • Integrating with MongoDB
  • Creating the Client Side with Angular

Lesson 4: Real-Time Chat

  • Setting up the Project
  • Writing the Server
  • Creating the Chat Room

Course Overview

Processing big data in real-time is challenging due to scalability, information consistency, and fault tolerance. This course shows you how you can use Spark to make your overall analysis workflow faster and more efficient. You’ll learn all about the core concepts and tools within the Spark ecosystem, like Spark Streaming, the Spark Streaming API, machine learning extension, and structured streaming.

You’ll begin by learning data processing fundamentals using Resilient Distributed Datasets (RDDs), SQL, Datasets, and Dataframes APIs. After grasping these fundamentals, you’ll move on to using Spark Streaming APIs to consume data in real time from TCP sockets, and integrate Amazon Web Services (AWS) for stream consumption.

Course Objectives

By the end of this course, you’ll not only have understood how to use machine learning extensions and structured streams but you’ll also be able to apply Spark in your own upcoming big data projects.

After completing this course, you will be able to:

  • Write your own Python programs that can interact with Spark
  • Implement data stream consumption using Apache Spark
  • Recognize common operations in Spark to process known data streams
  • Integrate Spark streaming with Amazon Web Services
  • Create a collaborative filtering model with Python and the movielens dataset
  • Apply processed data streams to Spark machine learning APIs

Course Content

Lesson 1: Introduction to Spark Distributed Processing

  • Introduction to Spark and Resilient Distributed Datasetsll
  • Operations Supported by the RDD API
  • Self-Contained Python Spark Programs
  • Introduction to SQL, Datasets, and DataFrames

Lesson 2: Introduction to Spark Streaming

  • Streaming Architectures
  • Introduction to Discretized Streams
  • Windowing Operations
  • Introduction to Structured Streaming

Lesson 3: Spark Streaming Integration with AWS

  • Spark Integration with AWS Services
  • Integrating AWS Kinesis and Python
  • AWS S3 Basic Functionality

Lesson 4: Spark Streaming, ML, and Windowing Operations

  • Spark Integration with Machine Learning

Course Overview

This course complies with instructional design principles in all eight lessons. This will ensure that you repeat and reinforce your gained knowledge at every step. Each and every minute spent on this 3-day course will incrementally take you to the next level.

Course Objectives

If you are interested in gaining a good grasp of Vue.js in a systematic and hands-on way by working through a real-world project, then this course is for you.
 
The course will provide you with knowledge of the following:

  • Creating dynamic and animated lists
  • Identifying how to use computed properties
  • Animating with JavaScript instead of CSS
  • Packaging reusable transitions into components
  • Creating basic AJAX requests with Axios
  • Utilizing Jasmine for testing Vue and Karma workflow
  • Utilizing single-page applications and Webpack

Course Content

LESSON ONE- Getting Started With Vue.Js

  • A Simple Vue.js Program
  • Lists and their Types
  • Creating a Dynamic and Animated List
  • Reacting to Events Such as Clicks and Keystrokes
  • Choosing a Development Environment
  • Formatting Your Text with Filters

LESSON TWO- Basic Vue.Js Features

  • Learning How to Use Computed Properties
  • Filtering a List with a Computed Property
  • Sorting a List with a Computed Property
  • Formatting Currencies with Filters
  • Formatting Dates with Filters
  • Displaying and Hiding an Element Conditionally
  • Adding Styles Conditionally
  • Adding Some Fun to Your App with CSS Transitions
  • Outputting Raw HTML
  • Creating a Form with Checkboxes
  • Creating a Form with Radio Buttons
  • Creating a Form with a Select Element

LESSON THREE- Transitions And Animations

  • Integrating with Third-Party CSS Animation Libraries
  • Adding Your Own Transition Classes
  • Animating with JavaScript Instead of CS
  • Transitioning on the Initial Render
  • Transitioning Between Elements
  • Letting an Element Leave Before the Enter Phase in a Transition
  • Adding Entering and Leaving Transitions for Elements of a List
  • Transitioning Elements That Move in a List
  • Animating the State of Your Components
  • Dynamic Transitions

LESSON FOUR- All About Components

  • Creating and Registering a Component
  • Passing Data to Your Components with Props
  • Making Components Talk to Each Other
  • Making Components Talk with Vuex
  • Reading a Child’s State
  • Using Components in Your Own Components
  • Content Distribution with Slots
  • Single File Components with Webpack
  • Loading Your Components Asynchronously
  • Having Recursive Components

LESSON FIVE- Vue Communicates With The Internet

  • Sending Basic AJAX Requests with Axios
  • Validating User Data before Sending It
  • Recovering from an Error during a Request
  • Creating a REST Client (and Server!)
  • Implementing Infinite Scrolling
  • Processing a Request before Sending It Out
  • Preventing XSRF Attacks on Your App

LESSON SIX- Single-Page Applications

  • Creating an SPA with Vue-Router
  • Fetching Data before Switching Route
  • Managing Errors for Your Routes
  • Adding a Progress Bar to Load Pages
  • Using Named Dynamic Routes
  • Having More Than One Router-View in Your Page
  • Composing Your Routes Hierarchically
  • Adding Transitions between Your Routes
  • How to Redirect to Another Route
  • Saving Scrolling Position When Hitting Back

LESSON SEVEN- Unit Testing And End-To-End Testing

  • Using Jasmine for Testing Vue
  • Adding Karma to Your Workflow
  • Testing Your Application State and Methods
  • Testing DOM Asynchronous Updates
  • End-to-end testing with TestCafe
  • Stubbing External API Calls with Sinon.JS
  • Measuring the Coverage of Your Code

LESSON EIGHT- Organize + Automate + Deploy = Webpack

  • Extracting Logic from Your Components to Keep the Code Tidy
  • Organizing Your Dependencies with Webpack
  • Using External Components in Your Webpack Project
  • Developing with Continuous Feedback with Hot Reloading
  • Running a Code Linter While Developing
  • Releasing Your Components to the Public

Course Overview

The changing way in which we access the web means that there has never been a greater range of screen sizes and associated user experiences. With these trends driving changes in design, typical desktop-only websites fail to meet even minimum expectations when it comes to style and usability, which can be vital when your website is central to yours or your client’s brand.

A responsive web design provides a single solution that looks great on a phone, desktop, and everything in-between, providing the best experience possible for both today’s and tomorrow’s devices. This course covers every essential aspect of RWD and broader front-end development best practices.

With this course, we have created the definitive guide for all things responsive. We cover the entire gamut of HTML5 and CSS3’s new features that help to effortlessly create modern, responsive web designs.

Course Content

Lesson 1: The Essentials of Responsive Web Design

  • Defining Responsive Web Design
  • Our First Responsive Example

Lesson 2: Media Queries – Supporting Differing Viewports

  • Media Query Syntax
  • Combining Media Queries
  • Using Media Queries to Alter a Design
  • Media Queries Best Practices
  • The Viewport Meta Tag
  • Media Queries Level 4

Lesson 3: Fluid Layouts and Responsive Images

  • Converting a Fixed Pixel Design to a Fluid Proportional Layout
  • Flexbox
  • Responsive Images

Lesson 4: HTML5 for Responsive Web Designs

  • HTML5 Markup
  • Semantic HTML5
  • HTML5 Media Elements

Lesson 5: CSS3 – Selectors, Typography, and Color Modes

  • Introduction to CSS
  • Facilitating Feature Forks in CSS
  • New CSS3 Selectors and Their Use
  • CSS3 Structural Pseudo-classes
  • More About CSS
  • New CSS3 Color Formats and Alpha Transparency

Lesson 6: Stunning Aesthetics with CSS3

  • Shadows with CSS3
  • Gradients
  • Background Images
  • CSS Filters

Lesson 7: Transitions, Transformations, and Animations

  • CSS3 Transitions
  • CSS3 2D Transforms
  • CSS3 3D Transformations
  • Animating with CSS3

Lesson 8: Conquer Forms with HTML5 and CSS3

  • HTML5 Forms
  • The HTML5 Input Element
  • Styling HTML5 Forms with CSS3 

Lesson 9: Using SVGs for Resolution Independence

  • Introducing SVGs
  • Inserting SVGs
  • Extra SVG Capabilities and Oddities

Course Overview

PHP is a dynamic language which allows developers to create interactive server-side scripts. PHP is widely known and used by developers all over the world.

PHP has an easy learning curve and has a very user-friendly approach. It is used in almost all domains, including social media, medical, travel, and so on. Want to get up to speed with the latest PHP version? If your answer is yes, then you should take this course.

This course will get you up to speed starting with basic concepts such as variables, data types, arrays and loops. It then progresses to more advanced concepts such as building your own frameworks and creating your own app.

Course Objectives

This course focuses on the basic aspects of PHP right from variables, data types, arrays, and loops. It will also cover an explanation on frameworks, which will help you in writing your own custom framework. This course will also guide you in creating your own application.

Course Content

Lesson 1: Variables, Data Types, Operators and Conditionals

  • The Basics

Lesson 2: Array and Loops

  • Arrays
  • Loops

Lesson 3: Functions and Classes

  • Functions
  • Classes

Lesson 4: Data Operations

  • Inputting and Outputting Data
  • MySQL Basics

Lesson 5: Building a PHP Web Application

  • Concepts of OOP in a Framework Environment
  • Structure of a Framework

Lesson 6: Building a PHP Framework

  • Setting up a Project Development Environment
  • Configuration Class, Default Classes, and Routing
  • The Base Controller
  • Working with PDO

Lesson 7: Authentication and User Management

  • Setting Up Paths and Inclusion of BootstrapConfiguration Class, Default Classes, and Routing
  • Adding Security to the Project
  • Password Recovery
  • Building CRUD for User Management

Lesson 8: Building a Contacts Management System

  • CRUD, the Contact Application
  • Comments, Joins, and Date Formatting

Course Overview

JavaScript is one of the most widely used programming languages in the world. Born as a simple glue between the user and HTML, it has evolved over the years and has acquired an increasingly important role in modern software development. Today, its scope is no longer just the web browser. Now, it also resides on the server, desktop PCs, mobile devices, and even embedded devices.

JavaScript has now become a language to create complex applications. Beginning Object-Oriented Programming with JavaScript explains how we can write robust and efficient code with JavaScript to create scalable and maintainable applications.


The purpose of this course is to cover all the new object-oriented features introduced in ECMAScript 2015 and show how to build large-scale web apps that promote scalability, maintainability, and reusability. It is ideal for development teams that are thinking of using JavaScript for full-stack web development so that they only need to worry about one language across the entire stack.

Course Objectives

This course begins with a subtle refresher on objects. It teaches you how easy it is to define objects with the new ECMAScript classes. From there, we’ll fly you through some essential OOP principles, forming a base for you to get hands-on with encapsulation.


You’ll get to work with the different methods of inheritance. From there, we’ll move on to some advanced patterns for object creation, and you’ll get a strong idea of how to use interesting patterns to present data to users and to bind data. You’ll manage dynamic typing using various data types and get familiar with duck typing and polymorphism.


You’ll explore various presentations such as MVC and MVP, along with implementing data binding.


By the end of this course, you’ll discover whether JavaScript is asynchronous and learn to write asynchronous code using callbacks and events.

Course Content

Lesson 1: Diving into Objects and OOP Principles

  • Creating and Managing Object Literals .
  • Defining Object Constructors
  • Using Object Prototypes
  • Using Classes
  • Beginning with Object-Oriented JavaScript
  • Checking Abstraction and Modeling Support
  • Analyzing OOP Principles Support in JavaScript

Lesson 2: Working with Encapsulation and Information Hiding

  • Setting up Strategies for Encapsulation and Information Hiding
  • Using the Meta-Closure Approach
  • Using Property Descriptors
  • Implementing Information Hiding in ES6 Classes

Lesson 3: Inheriting and Creating Mixins

  • Implementing Objects, Inheritance, and Prototypes
  • Using Class Inheritance
  • Controlling Inheritance
  • Implementing Multiple Inheritance
  • Creating and Using Mixins

Lesson 4: Defining Contracts with Duck Typing

  • Managing Dynamic Typing
  • Defining Contracts and Interfaces
  • Implementing Duck Typing
  • Comparing Duck Typing and Polymorphism

Lesson 5: Advanced Object Creation

  • Mastering Design Patterns, Object Creation, and Singletons
  • Implementing an Object Factory
  • Exploiting the Builder Pattern

Lesson 6: Working with Data

  • Managing User Interfaces
  • Implementing Presentation Patterns
  • What is Data Binding?
  • Implementing Data Binding
  • Applying the Publish/Subscribe Pattern

Lesson 7: Asynchronous Programming and Promises

  • Is JavaScript Asynchronous?
  • Writing Asynchronous Code
  • Introducing Promises

 Lesson 8: Organizing Code

  • Taking Control of the Global Scope
  • Creating Namespaces
  • Organizing Code with the Module Pattern
  • Loading the Module
  • Using the ECMAScript 2015 Modules