Badge: Python for Data Science

The Python for Data Science badge earner is able to write their own Python scripts and perform basic hands-on data analysis using IBM’s Jupyter-based lab environment.

Issued By: IBM

Issued On: 11 July 2018

What it takes to earn this badge

  •  Successful completion of the Big Data University course “Python for Data Science”.

Blockchain Architecture Training

This course is offered by Blockchain Training Alliance (Link to course: https://blockchaintrainingalliance.com/collections/all-courses/products/blockchain-architecture)

Dates: April 25-27, 2018: Virtual Instructor-led WebEx

Certification obtained on May 16th, 2018 – Certified Blockchain Solution Architect (BTA-CBSA)

Course Overview

This instructor-led 3 day Blockchain Architecture training is for technical leaders who need to make decisions about architecture, environment, and development platforms. The class covers the following topics:

  • What is Blockchain
  • How does Blockchain work
  • Types of Blockchains
  • How is Blockchain different from what we have today
  • What are use cases for Blockchain
  • What does a Blockchain app look like
  • How do I design a Blockchain app
  • How do I develop a Blockchain app
  • How do I test a Blockchain app

 

Course Outline

What is Blockchain?

  • A record keeping system, Trust, Decentralization, Trustless environment

How does Blockchain work?

  • Announcements, Blocks, Nodes, Chaining, Verification, Consensus, Scalability, Privacy, Crypto Hashing, Digital Fingerpring, PoW vs PoS

Types of Blockchains

  • Public vs Private, Open vs closed, Smart Contracts, Blockchain as History, Tokens / Coins, Gas

How is Blockchain different from what we have today?

  • Decentralized, Peer-to-peer architecture, Software vs Firmware, Database vs Blockchain, Distributed database or other technology? Data Sovereignty, Group Consensus

What are Use Cases for Blockchain?

  • Use Case Examples: Currency, Banking Services, Voting, Medical Records, Supply Chain / Value Chain, Content Distribution, Verification of Software Updates (cars, planes, trains, etc), Law Enforcement, Title and Ownership Records, Social Media and Online Credibility, Fractional asset ownership, Cable Television billing, High fault tolerance, DDoS-proof, Public or Private Blockchain? Who are the participants?

What does a Blockchain app look like?

  • DApp
  • Resembles typical full stack web application
  • Any internal state changes and all transactions are written to the blockchain
  • Node.js
  • IDE
  • Public Blockchain visibility
  • Private Blockchain solutions
  • Oracles

How do I design a Blockchain app?

  • What does this solution need to let users do?
  • Will the proposed solution reduce or remove the problems and pain points currently felt by users?
  • What should this solution prevent users from doing?
  • Do you need a solution ready for heavy use on day 1?
  • Is your solution idea enhanced by the use of Blockchain? Does the use of Blockchain create a better end-user experience? If so, how?
  • Has your business developed custom software solutions before?
  • What level of support are you going to need?
  • How big is the developer community?
  • Does your vision of the future align with the project or platform’s vision of the future?
  • Does the platform aim to make new and significant contributions to the development space, or is it an efficiency / cost play?
  • Should the solution be a public or private Blockchain?
  • Should the solution be an open or closed Blockchain?
  • Create a plan for contract updates and changes!
  • Hybrid solutions
  • Monetary exchanges?

How do I develop a Blockchain app?

  • AGILE approach pre-release
  • Define guiding principles up front
  • Software vs Firmware
  • Announcements, not transactions!
  • Classes, not contracts
  • Link contracts to share functions
  • Use calling contracts to keep contract address the same
  • Hyperledger vs Ethereum
  • CONSIDER No of Users * Avg No of Transactions (state changes) per User
  • Should a Blockless solution be applied?
  • Performance
  • Security
  • Anonymity
  • Security
  • Monolithic vs Modular
  • Sandwich complexity model

How do I test a Blockchain app?

  • Recommend 5x to 10x traditional application testing time
  • SECURITY is #1!
  • Networks (Ethereum)

IBM Cloud: Deploying Microservices with Kubernetes

This course is offered by coursera (Link to course: https://www.coursera.org/learn/deploy-micro-kube-ibm-cloud/home/welcome)

April 7, 2018 – Completed Topics:

  • Introduction to Kubernetes – what Kubernetes is and what it does. Explore Kubernetes architecture and basic concepts.
  • Set up your environment – how to set up your environment, and create a Kubernetes cluster.
  • Deploy a microservices application to a Kubernetes cluster – deployment configuration, and deploy a microservices application to a Kubernetes cluster in IBM Cloud.
  • Manage applications in a Kubernetes cluster – how to secure and manage a Kubernetes cluster, and how to plan cluster deployment to IBM Cloud.

Algorithmic Toolbox (University of California, San Diego & National Research University Higher School of Economics)

This course is offered by coursera (Link to course: https://www.coursera.org/learn/algorithmic-toolbox/home/welcome).

It is part of a 5-course specialization in Data Structures and Algorithms.

It’s been a while since I’ve tackled any algorithmic dilemmas. So I figured it would be great to refresh on the basics quickly, instead of deep diving in NP-hard problems :))!

December 1, 2017 – Completed Topics:

  • Solving a basic coding problem while tackling different bugs that might arise because of things like integer overflow, slow performance, wrong results, boundary issues, etc…
  • Stress Testing techniques and debugging