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

- Goal: Students should understand what the course is about and what is expected from them.
- Topics:
- Introduce students to primary science gateways concepts
- Introduce students to Apache Airavata
- Introduce students to the Apache Way, open source
- Introduce students to planned projects

- [Class Overview Slides]
- [Assignment 1 Slides]

- Goal: Preview the semester lectures so students can understand what the course is about and what is expected from them.
- Topics:
- Walk through of all the course theme areas.
- Overview of RPC and Message Serialization using Apache Thrift

- [Apache Thrift Slides]
- [Class Details Slides]

- Goal: students will understand the basics of microservices and messaging
- Topic: Apache Thrift

- Goal: students will understand how to use containers
- Topic: Microservices
- [Class Details Slides]
- [MicroServices Lecture Slides]

- Goal: students will understand the basics of continuous integration and deployment
- Topics: Microservices and Messaging
- [Assignment 2 Overview Slides]
- [MicroServices and Messaging Lecture Slides]

- Goal: Students will understand the basics of continuous integration and deployment
- Topics: Help session, demo of Apache Jenkins

- Goal: Students will understand the basics of continuous integration and deployment
- Topic:
- [Assignment 1 Followup Remarks]
- [Continuous Integration and Deployment Slides]

- Goal: Understand the motivations for Apache Airavata
- Topic: Supercomputing and Airavata Abstractions to build Science Gateways
- [Airavata introduction slides]

- Goal: Understand project themes
- Topics: Introducing Airavata based projects
- [Project themes introduction slides]

- Goal: Further understand Airavata projects
- Topics: Elaborate on Assignment next steps
- [Assignment 3 instruction slides]

- Goal: Students will gain a basic understanding of distributed systems concepts and their relations to microservice architectures
- Topics: Distributed systems intro, part 1

- Goal: Students will gain a basic understanding of distributed systems concepts and their relations to microservice architectures
- Topics: Distributed systems intro, part 2

- Goal: Students will understand the basics of the ELK stack and its use in microservice systems

- Goal: Students will understand the basics of the ELK stack and its use in microservice systems

- Goal: students will understand the basics of science gateway security

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

- Goal: students will understand security implementations in science gateways

- Dr. Sudhakar Pamidighantam
- Topic: The Science and Engineering Grid SEAGrid Science Gateway

- Guest Lecture: Jetstream and OpenStack

- Topic: Clusters and Supercomputers

- Goal: students will understand Apache Airavata basics and how to make contributions

- Open help session for Project Milestone 3

- Lecture Topic: Apache Mesos

- Lecture Topic: Messaging and Microservices [Slides]

- Guest Lecture: TBD

- Guest Lecture: TBD

- Goal: Expand on previous lecture topics

- Goal: Expand on previous lecture topics