Introduces object-oriented terms like abstraction and inheritance and shows how to define requirements and use cases and create a conceptual model of your application.
- View Offline
- Hi. I'm Simon Allardice, and welcome to Foundations of Programming: Object-Oriented Design. This course exists because everyone who learns to program hits the same wall. First, you get the through the fundamentals, the basic syntax of a programming language. You learn how to write some code. But soon you realize there's a huge difference between being able to write a few lines of code, and being able to design, understand, and create a more complex application. And often it's difficult to even know where to start. Well, this is where object-oriented design can help.
But to discuss these ideas, we're going to need a vocabulary, the jargon, the terminology, the words we use, so that when we talk about this, we know exactly what we're talking about. And we'll see the process of taking an initial idea for an application, something you'd write on the back of a napkin and understanding how to break it apart into the right pieces, so that we end up knowing exactly what code to go and write. And we'll also see the basics of UML, or the Unified Modeling Language. This is one useful way of diagramming, of sketching visual models of an object-oriented system.
Now we won't be writing any code in this course. And you'll see, we won't have to. But you will see examples of how the most popular languages put these ideas into practice. So we've got a lot to cover. Let's get started.
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles
Skill Level Intermediate
1. Core Concepts
2. Object-Oriented Analysis and Design
Defining requirements6m 9s
3. Utilizing Use Cases
4. Domain Modeling (Modeling the App)
5. Creating Classes
6. Inheritance and Composition
7. Advanced Concepts
8. Object-Oriented Design Patterns
9. Object-Oriented Design Principles
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.