DTSA 5507 Fundamentals of Software Architecture for Big Data
- Specialization: Software Architecture for Big Data
- Instructor: Tyson Gern and Mike Barinek
- Prior knowledge needed: Software engineering or big data experience
Learning Outcomes
- Identify big data or large, distributed systems.
- Know when and when not to use big data.
- Practice software engineering fundamentals.
- Create an application that uses rest collaboration, event collaboration and/or batch processing.
- Deploy an application to a continuous integration/delivery environment.
Course Content
In this module, you will learn the basics of modern software engineering. You will learn how our industry progresses over time, practice test driven development, and implement widely used data structures.
In this module, you will learn the fundamentals of software architecture. You will learn how to evolve an architecture over time, how to work within a large codebase, and a bit about blockchain.
In this module, you will learn the fundamentals of monitoring software in production. You will learn how to create reliable background jobs, how to calculate and communicate service availability, and how to implement production metrics and monitoring.
In this module, you will learn the fundamentals of production quality databases and messaging systems. You will learn to understand the tradeoffs between consistency and availability, how to implement database transactions to improve consistency, and how to implement messaging systems to improve availability.
You will complete a peer reviewed final project worth 15% of your grade. You must attempt the final in order to earn a grade in the course. 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.
Note: This page is periodically updated. Course information on the Coursera platform supersedes the information on this page. Click View on Coursera button above for the most up-to-date information.