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
IntermediateCourse Format
- Online
- Self-paced
Similar Courses
- Object-Oriented Programming in Java
- Software Construction: Object-Oriented Design
Related Education Paths
- Java Programming and Software Engineering Fundamentals Specialization
- Object-Oriented Programming with Java
- Java for Android
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 understandingPros 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