Get a head start on program admission

Preview this course in the non-credit experience today! 
Start working toward program admission and requirements right away. Work you complete in the non-credit experience will transfer to the for-credit experience when you upgrade and pay tuition. See How It Works for details.

Cross-listed with DTSA 5714

View on Coursera

Course Description

This course is the third in a three part series. You could think of the project in this course as the capstone or the project for the earlier two courses, Applications of Software Architecture for Big Data. You will create something that's going to go out and collect data. You're going to have something that analyzes data and then a web application that then displays that data. You will build, deploy, run it. This course and project are what you might do out and about in the industry building software.

Learning Outcomes

  • Practice software engineering fundamentals; test first development, refactoring, continuous integration, and continuous delivery.
  • Architect and create a big data or distributed system using rest collaboration, event collaboration, and batch processing.
  • Create a performant, scalable distributed system that handles big data.

Course Grading Policy

Students will submit their final prject for peer reviews.

Below is a rubric that you can use as a guide for your project:

A Level Work

B Level Work

C Level Work

  • Web application basic form, reporting

  • Data collection

  • Data analyzer

  • Unit tests

  • Data persistence any data store

  • Rest collaboration internal or API endpoint

  • Product environment

  • Integration tests

  • Using mock objects or any test doubles

  • Continuous integration

  • Production monitoring instrumenting

  • Event collaboration messaging

  • Continuous delivery

  • Web application basic form, reporting

  • Data collection

  • Data analyzer

  • Unit tests

  • Data persistence any data store

  • Rest collaboration internal or API endpoint

  • Product environment

  • Integration tests

  • Using mock objects, fakes, or spys

  • Continuous integration

  • Production monitoring instrumenting

  • Web application basic form, reporting

  • Data collection

  • Data analyzer

  • Unit tests

  • Data persistence any data store

  • Rest collaboration internal or API endpoint

  • Product environment

The above rubric has three columns. The right most column ("C Level Work (7 items)"), contains the seven most minimum requirements for the project, whilst the leftmost column ("A Level Work (13 items)"), encompasses all the requirements for a complete project. A good procedure for completing the project would be to start completing requirements from the right column and transition through to all the requirements in the left column.

Course Content

Duration: 5 hours

In this module, we will introduce a project where you can apply some of the concepts from Fundamentals of Software Architecture for Big Data. You will learn about the expectations for the project as well as how to establish features for the project.

Duration: 6 hours

In this module you will learn about the concept of a Minimum Viable Product (MVP), how to incrementally add features to the MVP. Additionally, we will show you how to get going with a development environment and set up appropriate tests.

Duration: 6 hours

This module builds upon an MVP created in the previous module. Here we show you how to create a database, populate the database as well as analyze the data in the database. The module ends by elaborating on testing.

Duration: 5 hours

Here we add more features to the project inclusive of collaborative messaging. We end things off by building a simple health check for production monitoring and discussing acceptance testing.

Duration: 2 hours

This module contains materials for the final project. If you've upgraded to the for-credit version of this course, please make sure you review the additional for-credit materials in the introductory module and anywhere else they may be found.

Final Project: Peer-graded Assignment: Monitor and Metrics Endpoints

Notes

  • Cross-listed Courses: Courses that are offered under two or more programs. Considered equivalent when evaluating progress toward degree requirements. You may not earn credit for more than one version of a cross-listed course.
  • Page Updates: This page is periodically updated. Course information on the Coursera platform supersedes the information on this page. Click the View on Coursera button above for the most up-to-date information.