Save for later

Object-Oriented Design

Software Design and Architecture,

This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML). You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation. After completing this course, you will be able to: • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem. • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization). • Explain and apply different types of inheritance • Explain the difference between association, aggregation, and composition dependencies. • Express object-oriented models as Unified Modeling Language (UML) class diagrams. • Translate between UML class diagrams and equivalent Java code. • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design. • Explain the tradeoff between cohesion and coupling.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Coursera and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.4 based on 168 ratings
Length 5 weeks
Effort Four weeks of study, 5-8 hours/week
Starts Jul 3 (45 weeks ago)
Cost $49
From University of Alberta via Coursera
Instructor Kenny Wong
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Software Development

Get a Reminder

Send to:

Similar Courses

What people are saying

great course

great course about the necessary Really great this is a very nice course, it's kind of primary, i guess it can use much more practical examples rather than using the dog and cat examples.

Great course!

Great course with enough assets to work with and worthy lectures very cool!

Very helpful course, I recommend it for every one Great Course The content is good and the instructors lectures are engaging.

From my point it should be more independent form any platform and frameworks Great course, very good thematic and phenomenal explanation Best course ever I am an Experienced programmer; the course provided a pretty good review of basic OO programming techniques (Encapsulation, Inheritance, etc.).

It's great course for programmers and software engineers.

Great Course, learned from course.

Very Good Course This is a great course.

Good but description of few concepts should have given more examples like object types, state diagram etc Thanks Great course for those who have basic programming skills and want to start some interessting projects.

Great Course This is by far one of the best courses I have undertaken on coursera due to level of quality and simplicity in explaining very technical concepts that are related to this topic.

Thanks to Coursera and University of Albarta Great course, you leave with a stronger understanding in the Software engineering fundamentals.

Read more

oriented design

really helped a lot Excellent course, explain really well object oriented design All is very good!

Good and very useful course Awesome and not boring content Very good introduction to Object Oriented Design and UML Very well presented and extremely helpful!

Videos are not bad, but assignments more about Android applications development (not covered in the course) than about Object-Oriented Design.

This is the first series of Software Architecture it really helped me to understand better Object Oriented Design.

Overall a good course for beginners wanting to learn about good object oriented design.

Will highly recommend it to anyone who is interested in object oriented design.

very useful to help you to understand the OOP basics Perfect for understanding the fundamentals of Object-Oriented Design and UML notation.

The course covers the fundamentals of object-oriented design in a clear and systematic way.

Read more

uml diagrams

I finished this course with a near perfect score, but I'm a 27 year industry veteran (just taking this to review my UML diagrams).

The course is full of practical examples and the UML diagrams in the assignments help you put in practice what is reviewed in the videos.

You'll be working on simple Android app, drawing some UML diagrams.

nice course but hs lot of assignments Very good course, provides you all what is needed to understand different UML diagrams, modelling and Design Principles.

The course is pretty good, though, if you already have some experience programming and/or designing, the content could be considered not too advance.It is a good reminder for basic OO principles and UML diagrams.

Read more

object oriented programming

Good introductory course in Object Oriented Programming Thank you for the content of the course.

Helps me already in my daily work as a Salesforce platform developer :) Best course for Introduction to Object Oriented Programming.

Read more

capstone project

The only part that needs improvement is the capstone project, too heavily based on Android development, so you will work a little more than expected to concluded it Decent videos give a short introduction to object oriented design.

Where this course really falls down is on the capstone projects, especially the last one.

I would have like to see more details on that part that could allow to do a better job at capstone projects.

Some OO concepts presented in very clear way with simple analogies from real life.The "awful" part is the capstone project exercises.

Read more

using android

One is using android platform to teach object oriented design and another reason is putting too much importance on uml, sequence diagram than object orject oriented programming.

This course is very good and instructors explain very clear in my opinion but i little disappoint that they do not use core Java for their execises instead of using android.

One is using android platform to teach object oriented design and another reason is putting too much importance on uml, sequence diagram which is more related to software engineering than object orject oriented programming.

Read more

well structured

the course is well structured and very attractive and pragmatic ~ Excellent explanations, video, content and topic organization.

It was very well structured, and relevant to industry standards.

Well structured, great course notes and nice assignments.

Read more

capstone assignment

Fortunately, I found in the list of literature the article about the topic and so I could close the gap.By the last Capstone Assignment, I wish I would less struggle with Android-SDK setup and concepts, but more develop the UML-Diagrams with technics I learned in the course and implement a tiny application in plain Java, i.e.

the Sharing App can be a command-line-application, which I have to extend according to the User Story based on the given Capstone Assignment.

For example, a capstone assignment with a whole new concept (presented as a hint) and no resources to educate on what it could mean.

Read more

model checking

Nevertheless, after the introduction of Model Checking, I missed the usage examples, exercises, and best practices.

Things start sliding in Week 3 with a lecture on Model Checking which I still have to figure out of what use it can be for anyone.

Read more

oop language

Now using android studio is not a good idea because it is really resource intensive application and when you are using android you are unnecessarily complicating things to teach OOP which could have been easily achieved by selecting any of the core OOP language.

It should be only mandatory to have a good understanding of Java or other any OOP language.

android platform

well organized

Lectures are well organized and enjoyed interviews of veteran OOP programmers.

This is a really nice course, well organized and implemented!

Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Research Tech, Design/Production Specialist $43k

Freelance Interior design $47k

Account Design Specialist $58k

Web Design Contractor $77k

Set Renderer/ Prop Design $80k

switchgear design and construction $95k

Mold Design Engineering (CAD) $104k

LNG Pressure Vessel & Mechanical Design Engineer Lead $124k

Senior Substation Design/P&C/Relay/Automation/SCADA Engineer $127k

Project Manager, Systems Design & Development $132k

ASIC Design Engineer 3 $185k

Software Design Engineer in Test Contractor 2 $203k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.4 based on 168 ratings
Length 5 weeks
Effort Four weeks of study, 5-8 hours/week
Starts Jul 3 (45 weeks ago)
Cost $49
From University of Alberta via Coursera
Instructor Kenny Wong
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Software Development

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now