Software Design as an Abstraction

  • 4.7
Approx. 16 hours to complete

Course Summary

This course teaches students how to design and implement software systems using abstraction and decomposition. It covers topics such as modularity, software architecture, and design patterns.

Key Learning Points

  • Learn how to design and implement software systems using abstraction and decomposition
  • Understand the principles of modularity, software architecture, and design patterns
  • Develop skills in object-oriented design and programming

Related Topics for further study


Learning Outcomes

  • Design and implement software systems using abstraction and decomposition
  • Apply principles of modularity, software architecture, and design patterns
  • Develop skills in object-oriented design and programming

Prerequisites or good to have knowledge before taking this course

  • Basic programming experience in a high-level programming language
  • Familiarity with object-oriented programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Software Design and Architecture Specialization
  • Object-Oriented Design

Related Education Paths


Notable People in This Field

  • Robert C. Martin
  • Martin Fowler

Related Books

Description

The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.

Outline

  • Who needs abstractions?
  • Intro to Design as an Abstraction
  • The Birds Eye View
  • Additional Resource
  • Additional Resource
  • Who needs abstractions?
  • Focus on the Users
  • User Interface Design
  • User Experience
  • Additional Resource
  • Additional Resource
  • Focus on the Users
  • What if there are no users?
  • Back end design
  • Database Design
  • Additional Resource
  • Additional Resource
  • What if there are no users?
  • Advanced database design
  • Database Design II
  • Database Design III and Overall Database Security
  • Additional Resource
  • Additional Reading
  • Advanced database design
  • The Good and Bad of Design Patterns
  • Design Patterns
  • The Mindless Cobbling together of existing capabilities
  • Additional Resource
  • Additional Resource
  • The Good and Bad of Design Patterns
  • Language choices
  • Languages and Operating Systems
  • Operating System Selection
  • Additional Resource
  • Additional Resource
  • Language Choices
  • Final Exam
  • Assessment 1
  • Assessment 2
  • Assessment 3
  • Assessment 4
  • Assessment 5
English
Available now
Approx. 16 hours to complete
Albert Glock
University of Colorado System
Coursera

Instructor

Albert Glock

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses