Twice a Week Lectures

The course focuses in teaching the distributed systems concepts through projects. The lectures prepare the students to execute the projects.

Class 1 - August 23rd

  • Introduction to the class [Slides]
    • Overview of class structure: projects, grading, etc.
  • Student Detailed Introductions
    • Discussion of programming languages, tools, etc
  • Lecture Topic: Science Gateways and Apache Airavata

Class 2 - August 25th

  • Lecture Topic: Getting Ready for the Project 1 Assignment [Slides]
  • Lecture Topic: Apache Airavata: Enabling Science with Science Gateways [Slides]

Class 3 - August 30th

  • Project ASSIGNED: Microservices and Messaging
  • Lecture: Introduction to Weather Prediction [Slides]
    • Motivating weather prediction use case
    • Linked Environment for Atmospheric Discovery
    • Personal Weather Predictor
  • Advanced Track Project

Class 4 - September 1

  • Project Milestone 1: Break down of Components [Slides]
  • Lecture Topic: Services, SOA, and Microservices [Slides]

Class 5 - September 6th

  • Lecture: Nuts and Bolts of the projects
    • Git and GitHub basics [Slides]
    • CICD with Travis-CI and Amazon Code Deploy [Slides]

Class 6 - September 8th

  • Lecture Topic: Introduction to Apache Thrift [Slides]
  • Tutorial: Creating a microservice using Apache Thrift

Class 7 - September 13th

Class 8 - September 15th

  • Open project help with teaching assistants

Class 9 - September 20th

  • Lecture Topic: Continuous Integration and Continuous Delivery [Slides]

Class 10 - September 22nd

  • Open help session on Project Milestone 1

September 26th: Project Milestone 2 DUE

Class 11 - September 27th

Guest Lecture

  • Speaker: Dr. Andrea Donnellan, NASA JPL
  • Topic: GeoGateway and Earthquake Science Cyberinfrastructure

Class 12 - September 29th

Guest Lecture

  • Dr. Sudhakar Pamidighantam
  • Topic: The Science and Engineering Grid SEAGrid Science Gateway
  • Project Milestone 2 ASSIGNED

Class 13 - October 4th

  • Lecture Topic: Authentication and Authorization with OAuth2 and OpenID Connect [Slides]

Class 14 - October 6th

  • Lecture Topic: Authentication and Authorization with OAuth2 and OpenID Connect, Part 2 [Slides]
  • Lecture Topic: Capacity Testing [Slides]

Class 15 - October 11th

  • Lecture Topic: Containerization and Docker [Slides]

Class 16 - October 13th

  • Lecture Topic: Containerizatoin and Docker, Part 2 [Slides]

Class 17 - October 18th

Midterm Demos

  • Project Midterm Demos and Presentations

Class 18 - October 20th

Midterm Demos

  • Project Milestone 2 DUE
  • Project Milestone 3 ASSIGNED
  • Project Midterm Demos and Presentations

Class 19 - October 25th

  • Project Midterm Demos and Presentations

Class 20 - October 27th

  • Lecture Topic: Apache Zookeeper and Distributed Systems [Slides]

Class 21 - November 1st

  • Lecture Topic: IU’s Jetstream and OpenStack

Class 22 - November 3rd

  • Open help session for Project Milestone 3

Class 23 - November 8th

  • Lecture Topic: Apache Mesos

Class 24 - November 10th

  • Lecture Topic: Messaging and Microservices [Slides]

Class 25 - November 15th

  • Lecture Topic: DevSecOps and Microservice Security [Slides]

Class 26 - November 17th

  • Project Milestone 3 DUE
  • Project Milestone 4 ASSIGNED
  • Open help session for Project Milestone 3

Thanksgiving Break - November 20th to 27th

Class 27 - November 29th

  • Lecture Topic: Science Gateways and Clusters [Slides]

Class 28 - December 1st

Lecture Topic: Amazon and Atmospheric sciences; Advanced Gateway Topics

Class 29 - December 6th

Final Demos

  • Final presentations and demos

Class 30 - December 8th

Final Demos

  • Project Milestone 4 DUE
  • Final presentations and demos

Finals Week - December 12th to 16th

  • Final Grading