Fundamentals of Software Architecture for Big Data
University of Colorado Boulder via Coursera
-
212
-
- Write review
Overview
The course is intended for individuals looking to understand the basics of software engineering as they relate to building large software systems that leverage big data. You will be introduced to software engineering concepts necessary to build and scale large, data intensive, distributed systems. Starting with software engineering best practices and loosely coupled, highly cohesive data microservices, the course takes you through the evolution of a distributed system over time.
This course can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:
MS in Data Science: https://www.coursera.org/degrees/master-of-science-data-science-boulder
MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder
Syllabus
- Software Engineering Overview
- Welcome to Fundamentals of Software Architecture for Big Data. In the first week of this course, 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.
- Fundamentals of Software Architecture
- In this week 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.
- Fundamentals of Production Software
- This week 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.
- Fundamentals of Software Architecture for Big Data
- In this last week of the course, you will learn the fundamentals of production quality databases and messaging systems. You will understand the tradeoffs between consistency and availability, how to implement database transactions to improve consistency, and how to implement messaging systems to improve availability.
Taught by
Tyson Gern and Mike Barinek