Desenvolvimento Ágil com Padrões de Projeto (Coursera)

Desenvolvimento Ágil com Padrões de Projeto (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em lidar com cenários mais complexos, onde é difícil desenvolver software com código de qualidade com flexibilidade suficiente para facilitar a implementação de mudanças repentinas de requisitos.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

O objetivo deste curso é oferecer a você um aprofundamento em técnicas de programação orientadas a objetos pelo uso de padrões de projeto no contexto de desenvolvimento ágil.
Os seguintes conceitos são apresentados neste curso:
• Revisão de conceitos de orientação a objetos: abstração de dados, encapsulamento, herança e polimorfismo
• Reúso por meio de herança: padrões Null Object, Template Method e Factory Method
• Delegando comportamento com composição: padrões Strategy, Bridge, State e Observer
• Composição recursiva: padrões Composite e Chain of Responsibility
• Envolvendo objetos: padrões Proxy, Decorator e Adapter
• Estratégias para criar objetos: padrões Static Fabric Methods, Singleton e Builder
• Modularidade: padrão Dependency Injection
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar partes da aplicação Web final com o componente de gamificação enriquecido constantes do Trabalho de Conclusão da Especialização, aplicando onde apropriado alguns dos padrões apresentados neste curso durante a refatoração na prática TDD.

Syllabus

WEEK 1
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Estamos contentes que você esteja aqui para se exercitar com padrões de projeto. Neste módulo introdutório, você será apresentado inicialmente a uma revisão rápida de conceitos de orientação a objetos pertinentes a padrões de projeto; depois, a uma introdução a padrões de projeto, onde você aprenderá a usar o padrão Strategy. Ao final deste módulo você também terá aprendido uma forma alternativa a construtores para instanciar objetos, na forma do padrão Static Factory Methods.
Graded: Avaliação Semanal

WEEK 2
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Neste módulo você aprenderá a identificar quatro padrões em que se utiliza a herança; depois, três padrões em que se utiliza a composição.
Graded: Avaliação Semanal

WEEK 3
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Neste módulo você aprofundará seus conhecimentos sobre composição recursiva, bem como com os padrões Composite e Chain of Responsibility, nos quais se emprega a composição recursiva. Você será exposto aos padrões Proxy, Decorator e Adapter, em cujas estruturas se faz uso do encapsulamento. Ao final, você aprenderá como criar classes em que se pode instanciar apenas um único objeto, na forma do padrão Singleton.
Graded: Avaliação Semanal

WEEK 4
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Ao final deste módulo, você terá aprendido a criar objetos por meio dos padrões Abstract Factory e Builder. Você terá aprendido também uma forma de modularizar seu código com base no padrão de projeto Dependency Injection. Ao final, você irá exercitar parte do conhecimento aprendido neste curso ao desenvolver uma pequena aplicação com gamificação!
Graded: Componente de Gamification Utilizando Padrões

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Developing Applications with SQL, Databases, and Django (Coursera) Coursera
IBM

Developing Applications with SQL, Databases, and Django (Coursera)

The essentials of application development are accessing, processing, and presenting data. Data is stored in various databases, either on-premise or on the cloud, and developers will need to learn how to talk to them via programming languages. In this course, you will be introduced to some fundamental database concepts. You will learn the basics of SQL, a simple and powerful programming language for querying and managing data. And you will learn about cloud database fundamentals and get hands-on cloud database experiences.

Jun 1st 2026
5-12 Weeks
Use C++ to build a crypto trading platform I: user input (Coursera) Coursera
University of London,Goldsmiths, University of London

Use C++ to build a crypto trading platform I: user input (Coursera)

This course is the first of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language. This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Jun 1st 2026
2 Weeks
Functional Programming Principles in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming Principles in Scala (Coursera)

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera.

May 25th 2026
5-12 Weeks
Intermediate Object-Oriented Programming for Unreal Games (Coursera) Coursera
University of Colorado System

Intermediate Object-Oriented Programming for Unreal Games (Coursera)

This course is the fourth and final course in the Specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac. This course assumes you have the prerequisite knowledge from the previous three courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course.

Jun 1st 2026
4 Weeks
Developing an Agile Team (Coursera) Coursera
University of Colorado System

Developing an Agile Team (Coursera)

Now that you have undergone personal information, you will be better prepared to empathize, understand, and mentor individual members of your team on a similar journey. Leading teams towards change-resilience is not as simple as knowing and understanding the psychology of individuals multiplied by a number of team members. It requires a different approach. In this course, you will learn what influences human behavior in teams by looking at social psychology.

Jun 1st 2026
4 Weeks
Crash Course on Python (Coursera) Coursera
Google

Crash Course on Python (Coursera)

This course is designed to teach you the foundations in order to write simple programs in Python using the most common structures. No previous exposure to programming is needed. By the end of this course, you'll understand the benefits of programming in IT roles; be able to write simple programs using Python; figure out how the building blocks of programming fit together; and combine all of this knowledge to solve a complex programming problem.

May 26th 2026
5-12 Weeks
Princípios de Desenvolvimento Ágil de Software (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Princípios de Desenvolvimento Ágil de Software (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos, TDD e conceitos avançados de Java aplicados à Web e banco de dados exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em planejar e gerenciar o desenvolvimento das aplicações com base em modernas práticas de modelagem ágil.

May 25th 2026
4 Weeks
Advanced C# Programming in .NET Core (Coursera) Coursera
EDUCBA

Advanced C# Programming in .NET Core (Coursera)

Embark on a journey to master Advanced C# Programming in .NET Core through our comprehensive course. Explore the intricacies of Advanced Language Features, unlocking the full potential of C# to refine your coding skills. Dive into Object-Oriented Programming Techniques, achieving proficiency in design patterns and crucial principles for crafting scalable applications.

Jun 1st 2026
4 Weeks
Java for Android (Coursera) Coursera
Vanderbilt University

Java for Android (Coursera)

This MOOC teaches you how to program core features and classes from the Java programming language that are used in Android, which is the dominant platform for developing and deploying mobile device apps. In particular, this MOOC covers key Java programming language features that control the flow of execution through an app (such as Java’s various looping constructs and conditional statements), enable access to structured data (such as Java's built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap), group related operations and data into classes and interfaces (such as Java's primitive and user-defined types, fields, methods, generic parameters, and exceptions), customize the behavior of existing classes via inheritance and polymorphism (such as subclassing and overriding virtual methods).

Jun 2nd 2026
4 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

May 25th 2026
5-12 Weeks