Skip to content

Object-Oriented Programming with Java course by Instituto Tecnológico de Aeronáutica (ITA).

License

Notifications You must be signed in to change notification settings

bernardodangelo/object-oriented-programming-ita

Repository files navigation

Object-Oriented Programming with Java by ITA

Repository for the Object-Oriented Programming with Java course by Instituto Tecnológico de Aeronáutica (ITA).

Coursera

About the Course

The objective of this course is to make you understand the principles of object-oriented programming through the Java language and know how to efficiently apply these principles in practice when designing and developing software in an agile way. The concepts discussed and experimented by you in this course will be the basis for you to be able to understand the new concepts presented in the following courses of this specialization.

Schedule

1st Module - Classes in Theory and in Java

In this module, the basic concepts of object-oriented programming will be presented, both in theory and in Java: classes, objects, class attributes, class constructors, responsibilities, collaborations, and CRC cards.

2nd Module - Java Classes and CRC Modeling

In this module, there will be a deepening of the previous module, based on classes and methods, as well as CRC modeling.

Providing the ability to:

  • Model the behavior of classes with methods in Java;

  • Design new classes for an application through CRC modeling.

3rd Module - Unit Testing, UML Diagrams, Collaboration, and Dependency

In this module, the concepts of Unit Testing and UML Class Diagrams will be presented, as well as the concepts of dependency and class contract.

Providing the ability to:

  • Test the behavior of classes in Java with JUnit;

  • Design and represent classes with UML class diagrams.

4th Module - Inheritance in Theory and in Java

In this module, the concepts of Inheritance and Access Modifiers will be presented.

Providing the ability to:

  • Design and structure Java programs based on best practices in the use of inheritance;

  • Ensure low coupling between classes by the proper use of access modifiers.

5th Module - Encapsulation, Coupling between Classes, and Java Interfaces

In this module, the concepts of Encapsulation, Coupling between Classes, and Interfaces in Java will be presented.

Providing the ability to:

  • Design and structure Java programs, avoiding encapsulation breaks and providing low coupling between classes;

  • Ensure abstract coupling between classes through the proper use of interfaces in Java.

6th Module - Polymorphism, Law of Demeter, and Exceptions in Java

In this module, the concept of Polymorphism, the "Law of Demeter" principle, and Exceptions in Java will be presented.

Providing the ability to:

  • Design and structure more flexible and low-coupling Java programs;

  • Ensure proper handling of exceptions in Java.

Certification

Certification

License

Licensed under the MIT. See LICENSE for more informations.

Contact

See my contact information on my GitHub profile.

About

Object-Oriented Programming with Java course by Instituto Tecnológico de Aeronáutica (ITA).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages