Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m7moudgadallah/learning-object-oriented-design-coursera-uoa
This repository for learning Object Oriented Design through the Coursera course "Object Oriented Design by University of Alberta"
https://github.com/m7moudgadallah/learning-object-oriented-design-coursera-uoa
abstraction crc decomposition encapsulation generalization inheritanc java object-oriented-analasis-design oop oop-principles uml
Last synced: about 5 hours ago
JSON representation
This repository for learning Object Oriented Design through the Coursera course "Object Oriented Design by University of Alberta"
- Host: GitHub
- URL: https://github.com/m7moudgadallah/learning-object-oriented-design-coursera-uoa
- Owner: m7moudGadallah
- License: mit
- Created: 2023-08-07T03:31:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-07T04:15:47.000Z (over 1 year ago)
- Last Synced: 2023-08-07T04:37:32.037Z (over 1 year ago)
- Topics: abstraction, crc, decomposition, encapsulation, generalization, inheritanc, java, object-oriented-analasis-design, oop, oop-principles, uml
- Homepage:
- Size: 15.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Learning Object Oriented Design - Coursera UOA
- [Learning Object Oriented Design - Coursera UOA](#learning-object-oriented-design---coursera-uoa)
- [Description](#description)
- [Course Topics](#course-topics)
- [Course Overview](#course-overview)
- [Module 1: Object-oriented analysis and design](#module-1-object-oriented-analysis-and-design)
- [Module 2: Object-Oriented Modelling](#module-2-object-oriented-modelling)
- [Module 3: Design Principles](#module-3-design-principles)
- [Materials](#materials)
- [Getting Started](#getting-started)
- [License](#license)
- [Acknowledgements](#acknowledgements)## Description
Welcome to my personal repository for learning Object Oriented Design through the Coursera course [Object-Oriented Design](https://www.coursera.org/learn/object-oriented-design/home/). Within this repository, I am organizing a collection of my notes, assignment solutions and projects.
## Course Topics
### Course Overview
- Introduction to the course and its objectives.
### Module 1: Object-oriented analysis and design
- Object-Oriented Thinking
- Design in the Software Process
- Requirements
- Design
- Compromise in Requirements and Design
- Design for Quality Attributes
- Trade-offs
- Context and Consequences
- Satisfying Qualities
- Compromise
- Class Responsibility Collaborator (CRC) Cards
- Prototyping and Simulation### Module 2: Object-Oriented Modelling
- Creating Models in Design
- Evolution of Programming Languages
- Four Design Principles
- Abstraction
- Encapsulation
- Decomposition
- Generalization
- Design Structure in Java and UML Class Diagrams
- Abstraction
- Encapsulation
- Decomposition
- Generalization### Module 3: Design Principles
- Evaluating Design Complexity
- Coupling
- Cohesion
- Separation of Concerns
- Information Hiding
- Conceptual Integrity
- Generalization Principles
- Specialized UML class diagrams
- UML Sequence Diagrams
- UML State Diagrams
- Model Checking**_[↑top](#learning-object-oriented-design---coursera-uoa)_**
## Materials
- **_[Notes](https://docs.google.com/document/d/1gBDyQPzb4uj2716dnYmfrbkA1wjJnRebMxVP9Yat0og/edit?usp=sharing)_**
- **_[Assignments](./assignments/README.md)_****_[↑top](#learning-object-oriented-design---coursera-uoa)_**
## Getting Started
To get started with this repository, follow these steps:
1. Clone this repository to your local machine using:
> git clone https://github.com/your-username/Learning-Object-Oriented-Design-Coursera-UOA.git
2. Navigate to specific directories for notes, assignments, and projects.
**_[↑top](#learning-object-oriented-design---coursera-uoa)_**
## License
This repository is licensed under the [MIT License](LICENSE). Feel free to use, modify, and distribute the contents of this repository for educational purposes.
**_[↑top](#learning-object-oriented-design---coursera-uoa)_**
## Acknowledgements
We would like to express our gratitude to the instructors, course creators, and Coursera for providing this valuable learning opportunity.
Happy learning!
**_[↑top](#learning-object-oriented-design---coursera-uoa)_**