Getting Started

Get a brief overview of this course and prerequisites.

We'll cover the following


In software development, design is often considered as the step that’s done before programming. This isn’t true; in reality, analysis, programming, and design tend to overlap, combine, and interweave. Throughout this course, we’ll be covering a mixture of design and programming issues without trying to parse them into separate buckets. One of the advantages of a language like Python is the ability to express the design clearly.

We’ll be covering the concept of how we can move from a good idea to writing software. We’ll create some design artifacts – like diagrams – that can help clarify our thinking before we start writing code. We’ll cover the following topics:

  • What object-oriented means.
  • The difference between object-oriented design (OOD) and object-oriented programming (OOP).
  • The basic principles of object-oriented design.
  • Basic Unified Modeling Language (UML) and when it isn’t evil.

Get hands-on with 1200+ tech skills courses.