Start learning with our library of video tutorials taught by experts. Get started
Viewed by members. in countries. members currently watching.
Most modern programming languages, such as Java, C#, Ruby, and Python, are object-oriented languages, which help group individual bits of code into a complex and coherent application. However, object-orientation itself is not a language; it's simply a set of ideas and concepts.
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.
When you see the words, Object-Oriented, you will usually see another word right beside them, Object-Oriented Programming, Object-Oriented Design, or Object-Oriented Analysis. These are, of course, all connected and refer to the idea that to write any piece of software we need to do three things. Understand our problem, plan our solution, and build it, or rather analysis, design, and programming. They all deal with this larger idea, the larger world of Object-Orientation. But we have analysis, understanding the problem, what do we need to do? Design, and here, it's the word design as in plan, not design as in visually attractive layout.
This is the conceptual design of the solution. How are we going to do it? And by conceptual I mean no code here, diagrams sure, sketches on the whiteboard, yes, written descriptions, absolutely, but no code. Now mostly these days, rather than talking about analysis and design as two separate steps, they are often referred to together. Object-Oriented Analysis and Design. What do we need to do and how are we going to do it. Now we've called this course Object- Oriented Design simply because we are interested in the deliverables.
What should we create before we start to code? But we can't design without understanding our problem, without analyzing, so we will be talking about that too. And you might have one group of people that you are doing the analysis and design, and another group doing the programming, or the same people could be doing all three. But either way, the more you understand analysis and design, the easier the programming will be. So that's what we are focused on here.
There are currently no FAQs about Foundations of Programming: Object-Oriented Design.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.