Orientação a Objetos com Java

Instituto Tecnológico de Aeronáutica via Coursera

Go to Course: https://www.coursera.org/learn/orientacao-a-objetos-com-java

Introduction

### Course Review and Recommendation: Orientação a Objetos com Java If you're looking to deepen your understanding of object-oriented programming (OOP) specifically through the Java programming language, the Coursera course **"Orientação a Objetos com Java"** is a remarkable choice. Designed for those who already have a basic grasp of programming in Java, this course aims to bridge the gap between simple script writing and complex program design, providing learners with the knowledge and skills required to develop robust, organized software efficiently. #### Overview The course assumes that participants possess foundational Java programming skills but may still feel uneasy about designing intricate software systems. Throughout the program, you will learn the fundamental principles of OOP, focusing on practical applications while adopting an agile development approach. The course is structured to facilitate hands-on experience with OOP concepts, making it suitable for those who wish to apply these principles in real-world scenarios. #### Syllabus Breakdown 1. **Classes na Teoria e em Java**: The course kicks off by introducing the basics of classes and objects in both theoretical and Java contexts. You'll learn about attributes, constructors, responsibilities, collaborations, and CRC cards. This foundational knowledge is crucial for any aspiring Java developer as you start to understand the framework of OOP. 2. **Classes com Java e Modelagem CRC**: Delving deeper into classes and methods, this module emphasizes CRC modeling. By the end of this week, you'll be equipped to model class behaviors in Java and design new classes for applications using CRC methodology. 3. **Testes de Unidade, Diagramas UML, Colaboração e Dependência**: Here, you will explore unit testing and UML class diagrams. You'll learn how to use JUnit to test Java classes and how to visualize class designs through UML diagrams, enhancing your understanding of class dependencies and contracts. 4. **Herança na Teoria e em Java**: This module covers inheritance and access modifiers. It enables you to design and structure Java programs while adhering to best practices for inheritance, ensuring low coupling among classes for better scalability. 5. **Encapsulamento, Acoplamento entre Classes e Interfaces do Java**: Focusing on encapsulation, class coupling, and interfaces, this week emphasizes creating programs that prevent encapsulation breaks and maintain a low coupling between classes, all while effectively utilizing interfaces in Java. 6. **Polimorfismo, Law of Demeter e Exceções em Java**: The final week dives into polymorphism, the Law of Demeter, and exception handling. You will learn to design flexible Java programs that exhibit low coupling and manage exceptions properly, ensuring robustness in your applications. #### Review & Personal Experience As a learner who has recently completed this course, I can confidently say that it provides an excellent blend of theory and practical application. The instructors are knowledgeable, and the course material is well-structured, allowing for gradual progression through increasingly complex concepts. Each module builds on the previous, ensuring that by the end, you have a comprehensive understanding of object-oriented principles and their application in Java. The hands-on coding tasks and quizzes helped reinforce my understanding, while sharing insights with peers in the discussion forums added an extra layer of engagement and learning. #### Recommendation I highly recommend **"Orientação a Objetos com Java"** to anyone looking to enhance their software development capabilities with a strong foundation in object-oriented principles. Whether you're aiming to advance your career or wishing to tackle more complex programming projects, this course equips you with the essential tools and techniques to succeed. The course is particularly beneficial for those working in agile software environments or anyone interested in adhering to best practices within the field of programming. With actionable insights, robust content, and a supportive learning community, this course is an invaluable resource in your journey to mastering Java and OOP. Enroll today and take your programming skills to the next level!

Syllabus

Classes na Teoria e em Java

Neste módulo você será capaz de identificar, definir e diferenciar os conceitos básicos de orientação a objetos, tanto em teoria quanto em Java: classes, objetos, atributos de classes, construtores de classes, responsabilidades, colaborações e cartões CRC

Classes com Java e Modelagem CRC

Olá! Bem-vindo à semana 2 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com classes e métodos, bem como com modelagem CRC. Ao final desta semana, você será capaz de: 1) modelar o comportamento de classes com métodos em Java; 2) projetar novas classes para uma aplicação por meio da modelagem CRC

Testes de Unidade, Diagramas UML, Colaboração e Dependência

Olá! Bem-vindo à semana 3 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com Testes de Unidade e Diagramas de Classe da UML, bem como com os conceitos de dependência e contrato de classe. Ao final desta semana, você será capaz de: 1) testar com JUnit o comportamento de classes em Java; 2) projetar e representar classes com diagrama de classes da UML

Herança na Teoria e em Java

Olá! Bem-vindo à semana 4 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com Herança e Modificadores de Acesso. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java com base em boas práticas no uso de herança, 2) além de garantir acoplamento baixo entre classes pelo uso adequado de modificadores de acesso

Encapsulamento, Acoplamento entre Classes e Interfaces do Java

Olá! Bem-vindo à semana 5 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com os conceitos de Encapsulamento, Acoplamento entre Classes e Interfaces em Java. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java evitando quebras de encapsulamento e propiciando acoplamento baixo entre classes, 2) além de garantir acoplamento abstrato entre classes pelo uso adequado de interfaces em Java

Polimorfismo, Law of Demeter e Exceções em Java

Olá! Bem-vindo à semana 6 do curso Orientação a Objetos com Java! Nesta semana você aprofundará seu contato com o conceito de Polimorfismo, princípio "Law of Demeter" e Exceções em Java. Ao final desta semana, você será capaz de 1) projetar e estruturar programas Java mais flexíveis e com acoplamento baixo, 2) além de garantir o tratamento adequado de exceções em Java

Overview

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização. O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a b

Skills

Unit Testing Interfaces Law Of Demeter Java Programming

Reviews

A capacitação dos professores neste curso faz toda a diferença na forma do ensino. O conhecimento prático junto com a teoria faz deste curso uma excelente ferramenta para o aprendizado.

Curso muito bom, nivela o conteúdo dos alunos para que os mesmos possam seguir para os outros módulos de forma a alcançar seus objetivos.

Muito bom. ele aborda de maneira didática e muito correta sobre orientação a objetos. Não tem como fazer esse curso e ficar algo obscuro sobre o assunto.

Excelente curso, só não dou 5 estrelas por causa da edição, em alguns momentos me incomodou, porém é de um bom conteúdo, porém deveria ter materiais do curso em pdf.

Ótimos professores e conteúdos, muito bem explicado como nunca vi antes. Só não avalio com 5 estrelas por algumas falhas na edição e discrepâncias no som da intro com o conteúdo.