Calendar and Lecture Notes

Date Topic Preparation Handouts Resources Suggested Texts
Jan 14 Introduction Above the Clouds: A Berkeley View of Cloud Computing slides Cloud Computing Bible
Barrie Sosinsky
Wiley

The Cloud at Your Service
Jothy Rosenberg and Arthur Mateos
Manning

Jan 21 Python Option 1:
An Introduction to Computer Science Using Python 3
By Paul Gries, Jennifer Campberll, Jason Montojo

Read chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14


Option 2:
PCRS
View videos in prepare sections for week 2
Code Samples

Python 3

PyCharm IDE

Wing IDE 101

Documentation
Jan 28 Web Development Web Development Concepts
  • Watch the video Web Application Basics
    Introduces the following key concepts: web server, web client, URL, and the HTTP protocol.
  • Watch the video The HTTP and the Web
    Provides a high level overview of the HTTP protocol including common methods GET and POST.
HTML5
Go over the following sections of the HTML5 Tutorial Python Flask
Slides

Flask Documentation

Jinja2 Documentation



Flask Web Development
Miguel Grinberg
Feb 4 Databases Introduction to Databases and SQL
Install the following software:
Read the following sections from MySQL Essentials eBook
  • Chapter 2: Database Basics
  • Chapter 27:Using MySQL Workbench to Execute SQL Queries and Create SQL Scripts
  • Chapter 8: Creating Databases and Tables Using SQL Commands
  • Chapter 10: Inserting Data into a MySQL Database
    Only sections:
    • 10.1: The Basics of Data Insertion
    • 10.2: Inserting a Complete Row
  • Chapter 11:Updating and Deleting MySQL Data
  • Chapter 12: Retrieving Data From a MySQL Database
    Only sections:
    • 12.1: Retrieving a Single Column
    • 12.2: Using SELECT to Retrieve Multiple Columns
  • Chapter 14: Using WHERE to Filter MySQL Data
  • Chapter 15: Advanced MySQL Data Filtering - AND, OR, NOT and IN
  • Chapter 18: Joining Tables in MySQL
    Only sections:
    • 18.1: How Does a Join Work?
    • 18.2: Performing a Cross-Join
    • 18.3: Equi-Join (aka the Inner Join)
Python MySQL Connector
Read the following sections from the Python MySQL Connector documentation:
Slides

Code

MySQL Python Connector Documentation
Feb 11 Amazon Web Services
  • Amazon provides limited free access to its infrastructure to new users through its free tier. Information about the AWS free tier, including how to apply for an account is available at https://aws.amazon.com/free. You should complete this assignment using exclusively resources from the free tier. Important note: You AWS account is fully functional which means that it will incur charges if you use resources that do not qualify for the free tier, or if you use free-tier qualifying resources beyond the quota that Amazon provides (e.g., a 750 hour per month of EC2 t2.micro, 30 GB of EBS). You will be responsible for any charges. To avoid incurring charges make sure to use only resources from the free tier and remember to suspend your EC2 instances when not in active use.
  • Sign-in to Amazon Console
  • The following video tutorials show how to : Important: Suspending an instance stops it from incurring CPU charges; however, the instance will continue to incur charges for storage as long as it is not terminated.
  • Boto3 is a Python library for interfacing with Amazon Web Services. Review the following documentation pages:
Slides(small,large)

Amazon Console

Boto3 Documentation
Host Your Web Site in the Cloud
Jeff Barr
SitePoint

Programming Amazon EC2
Jurg van Vliet and Favial Paganelli
O'Reilly
Feb 18 Cluster Computing Slides
Mar 4 Virtualization Read the following research paper:

Slides(large,small) The Architecture of Virtual Machines
James Smith and Ravi Nair

Virtual Machine Monitors: Current Technology and Future Trends
M. Rosemblum and T. Garfinkel

Xen and the Art fof Virtualization
P. Barham, B. Dragovi et al.

Hardware Support for Efficient Virtualization
J. Fisher-Ogden
Mar 11 Function as a Service What this video: Read: Slides

README

Code
AWS Lambda Developer Guide

Zappa - Serverless Python Web Services
AWS Lambda in Action
Danilo Poccia
Manning
Mar 18 No SQL Databases Read the research paper: Slides
Code
boto3 dynamodb documentation

Mar 25 Cancelled
Apr 1 Batch Processing Read the research paper:

Slides MRJob
Apr 8 Stream Processing Slides Apache Storm
Storm Applied
Sean T. Allen, Matthew Jankowski, Peter Pathirana