Object-Oriented Design

  • 4.7
Approx. 17 hours to complete

Course Summary

This course teaches the fundamentals of object-oriented design and programming in Java. Students will learn how to use object-oriented techniques to write software that is robust, reliable, and maintainable.

Key Learning Points

  • Learn how to design and implement object-oriented programs in Java
  • Understand the principles of object-oriented design
  • Develop skills for writing software that is robust, reliable, and maintainable

Related Topics for further study


Learning Outcomes

  • Understand the principles of object-oriented design
  • Develop and implement object-oriented software in Java
  • Write software that is robust, reliable, and maintainable

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming concepts
  • Familiarity with Java programming language

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Object-Oriented Programming in Java
  • Software Construction: Object-Oriented Design

Related Education Paths


Related Books

Description

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).

Outline

  • Object-Oriented Analysis and Design
  • 1.1.1 – Welcome to Software Design and Architecture
  • 1.1.2 – Software Architect and Design Roles in Industry
  • 1.1.3 – Object-Oriented Modeling
  • 1.1.4 – Software Requirements, Conceptual and Technical Designs
  • 1.1.5 – Competing Qualities and Trade-offs
  • 1.1.6 – Record, Organize, and Refine Components
  • Meet Your Presenter – Sam Jeffery
  • Meet Your Facilitators
  • Java Knowledge
  • Object Oriented Design Course Notes
  • Course Glossary
  • Discussion: Introduce Yourself
  • Expressing Requirements with User Stories
  • Categories of Objects in Design
  • Discussion: Modeling CRC
  • Java Proficiency Quiz 1
  • Java Proficiency Quiz 2
  • Java Proficiency Quiz 3
  • Module 1 Review
  • Object-Oriented Modeling
  • 1.2.1 – Models: Bridging Concepts and Solutions
  • 1.2.2 – Languages Evolution
  • 1.2.3 – Abstraction
  • 1.2.4 – Encapsulation
  • 1.2.5 – Decomposition
  • 1.2.6 – Generalization
  • 1.2.7 – Abstraction in Java and UML
  • 1.2.8 – Encapsulation in Java and UML
  • 1.2.9 – Decomposition in Java and UML
  • 1.2.10 – Generalization with Inheritance in Java and UML
  • 1.2.11 – Generalization with Interfaces in Java and UML
  • Discussion: Design Principles and Language Evolution
  • Ungraded Assignment - UML Class Diagram (Solution)
  • Capstone Assignment 1.1 - UML Class Diagram (Solution)
  • Module 2 Review
  • Design Principles
  • 1.3.1 – Coupling and Cohesion
  • 1.3.2 – Separation of Concerns
  • 1.3.3 – Information Hiding
  • 1.3.4 – Conceptual Integrity
  • 1.3.5 – Inheritance Issues
  • 1.3.6 – UML Sequence Diagram
  • 1.3.7 – UML State Diagram
  • 1.3.8 – Model Checking
  • Discussion: Coupling and Cohesion
  • Discussion: Design Principles
  • Ungraded Assignment - UML Sequence Diagram (Solution)
  • Capstone Assignment 1.2 - UML Sequence Diagram (Solution)
  • Ungraded Assignment - UML State Diagram (Solution)
  • Capstone Assignment 1.3 - UML State Diagram (Solution)
  • Module 3 Review
  • Capstone Challenge
  • Capstone Assignment 1.4 - Update the Application (Solution)
  • Discussion: Last Word – Object-Oriented Design
  • Acknowledgements
  • Credits
  • Final Exam

Summary of User Reviews

The Object-Oriented Design course on Coursera has received positive reviews from many users. Students appreciate the course's emphasis on real-world examples and its interactive assignments. Overall, the course is highly recommended by its users.

Key Aspect Users Liked About This Course

Real-world examples for better understanding

Pros from User Reviews

  • Interactive assignments that reinforce learning
  • Engaging lectures that simplify complex concepts
  • Great course for beginners looking to learn Object-Oriented Design
  • Course content is well-organized and easy to follow
  • Instructors are knowledgeable and responsive to questions

Cons from User Reviews

  • Some users found the course to be too basic and not challenging enough
  • Limited opportunities for peer interaction and feedback
  • Course can be time-consuming, especially for those with full-time jobs
  • Course material may become repetitive and boring for some users
  • Lack of guidance on how to apply concepts to real-world projects
English
Available now
Approx. 17 hours to complete
Kenny Wong
University of Alberta
Coursera

Instructor

Kenny Wong

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses