- Level Expert
- Course by Universidade de São Paulo
-
Offered by
About
Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos. Nesta segunda parte do curso, aprenderemos mais padrões de projeto, os princípios SOLID, o que são arcabouços (frameworks), injeção de dependências, veremos aplicações de padrões em sistemas reais e discutiremos desafios para a OO no futuro. Ao final do curso, o estudante será capaz de refletir sobre aspectos avançados de arquitetura de software e conhecerá técnicas para desenvolver sistemas de qualidade. Com esse curso, você poderá começar a construir um espaço diferenciado entre os profissionais do Desenvolvimento de Software, tanto trabalhando no meio empresarial quanto na academia. Nós nos divertimos bastante (e suamos um pouquinho) para montar esse curso prá você! Espero que você também se divirta bastante (e sue um pouquinho :-) para cursá-lo! Fabio Kon e a equipe de Ciência da Computação do IME-USPModules
Abertura - Parte 2
1
Videos
- Um mundo de Objetos
Decorador
1
Assignment
- Padrão Decorador (Decorator)
1
Videos
- O Padrão Decorador
Método Modelo
1
Assignment
- Método Modelo (Template Method)
1
Videos
- Padrão Template Method
Fachada
1
Assignment
- Padrão Fachada (Façade)
1
Videos
- O Padrão Fachada
Mediador
1
Assignment
- Padrão Mediador
1
Videos
- O Padrão Mediador
SOLID
1
Peer Review
- Gerenciador de e-mail
3
Videos
- O Problema do Software
- Sólido
- Os Princípios SOLID
Padrões no mundo real
1
Assignment
- Padrões no mundo real
2
Videos
- Template Method no SERPRO
- Padrão State no SERPRO
Observador
1
Assignment
- Padrão Observador (Observer)
1
Videos
- O padrão Observador (Observer)
Flyweight
1
Assignment
- O padrão Flyweight
1
Videos
- O padrão Flyweight
Refatoração
1
Assignment
- Refatoração
1
Videos
- Refatoração
Injeção de Dependências (material extra, opcional, mas muito bom :-)
1
Videos
- Injeção de Dependências e Spring (opcional)
2
Readings
- O Padrão Injeção de Dependências (por Martin Fowler, em inglês)
- Discussões sobre Injeção de Dependências (em português)
Arcabouços (Frameworks)
1
Assignment
- Arcabouços Orientados a Objetos
2
Videos
- Arcabouços Orientados a Objetos
- Exemplo de Arcabouço: SQLAlchemy
1
Readings
- Frameworks = Components + Patterns
Arquitetura Limpa
1
Assignment
- Arquitetura Limpa
1
Videos
- Arquitetura Limpa
Finalização do Curso: e agora, quais são os próximos passos?
2
Videos
- Desafios para o futuro da Programação Orientada a Objetos
- 10 Livros que você precisa ler
1
Readings
- Desafios para o futuro da Programação Orientada a Objetos
Projeto Final
1
Peer Review
- O arcabouço ControleDeQualidade
Auto Summary
Embark on an advanced journey into Object-Oriented Programming with the second installment of this comprehensive course offered by the Department of Computer Science at IME-USP. Designed for professionals and students with a solid foundation in programming and basic object-oriented concepts, this course delves deeper into advanced software development techniques. Under the expert guidance of Fabio Kon and the esteemed Computer Science team at IME-USP, you will explore design patterns, the SOLID principles, frameworks, and dependency injection. Additionally, the course will demonstrate real-world application of these patterns and address future challenges in object-oriented programming. Upon completion, you will gain profound insights into advanced software architecture and acquire the skills necessary to develop high-quality systems. This course is ideal for those aspiring to distinguish themselves in the software development field, whether in industry or academia. Join us on Coursera and choose from flexible subscription options, including Starter and Professional plans, to enhance your expertise at your own pace. This expert-level course promises both enjoyment and a rewarding challenge, preparing you to excel in the world of advanced software development.

Fabio Kon