Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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"

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)_**