YoVDO

Fundamentals of Software Architecture for Big Data

Offered By: University of Colorado Boulder via Coursera

Tags

Software Development Courses Databases Courses Big Data Courses Distributed Systems Courses Blockchain Development Courses Software Engineering Courses Software Architecture Courses Test-Driven Development Courses

Course Description

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

Tags

Related Courses

Online Master of Computer Science
Arizona State University via Coursera
Blockchain Scalability and its Foundations in Distributed Systems
The University of Sydney via Coursera
Blockchain Technology
University of California, Berkeley via edX
Building Globally Distributed Databases with Cosmos DB
Coursera Project Network via Coursera
Cloud Computing
University of Illinois at Urbana-Champaign via Coursera