YoVDO

Software Design as an Abstraction

Offered By: University of Colorado System via Coursera

Tags

Software Development Courses Programming Languages Courses Database Design Courses Software Design Courses Design Patterns Courses

Course Description

Overview

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.

Syllabus

  • Who needs abstractions?
    • Contrasted to design as a step in the software development process, a look at design as an abstract representation of the project.
  • Focus on the Users
    • Design considerations to make when users are involved.
  • What if there are no users?
    • Design considerations to make when users are not involved
  • Advanced database design
    • When to create a database in third-normal form, and when not to.
  • The Good and Bad of Design Patterns
    • When and how design patterns are useful and when they are not.
  • Language choices
    • Choose languages and operating systems wisely because you will have to live with them.
  • Final Exam
    • A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.

Taught by

Albert Glock

Tags

Related Courses

Algorithms and Data Structures Capstone
University of California, San Diego via edX
System Validation: Automata and behavioural equivalences
EIT Digital via Coursera
Software Design Principles
Codecademy
Foundations of Data Structures
Indian Institute of Technology Bombay via edX
Diseño de software para la toma de decisiones organizacionales
Universidad del Rosario via edX