Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Colorado System

Software Design Methods and Tools

University of Colorado System via Coursera


Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.


  • General Design Notions
    • What is in a design and an introduction to hierarchical design representations.
  • Dynamic and Algebraic Designs
    • Hierarchical design which shows data flow, and rigorous, formally provable methods of design representation.
  • UML Tools
    • An introduction to IBM Rhapsody, a UML modeling tool.
  • Unit Testing
    • An introduction to the use of JUnit which performs unit testing for Java software.
  • Ethics
    • Unusual situations in a project in which you may find yourself, and what to do about 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


4.7 rating at Coursera based on 147 ratings

Start your review of Software Design Methods and Tools

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.