Programação
-
- Assistir Semana 1 do Coursera
- Assistir Semana 1 do Coursera
-
- Quais são os principais elementos de OO?
- O que é cada um deles?
- UML (2 vídeos no Coursera)
- exercício em sala de aula:
- Projetar arquitetura de software para um sistema gerenciador de um Cinema.
- Projetar arquitetura de software para um sistema gerenciador de um Cinema.
- exercício em sala de aula:
- Para casa para semana que vem: fazer Semana 2 do Coursera
- Palestra internacional 1: Simple Object-Oriented Design - Prof. Mauricio Aniche (Delft University, The Netherlands).
-
1) Discussão sobre exercícios: Cinema
2) Exercício: Leilão online
2) ProjetOO
3) História da Orientação a Objetos
Para casa: fazer Semana 3 do Coursera
-
1) Brainstorming: Boas Práticas OO2) Exercício: Modelagem de Conta Corrente
3) Discussão Depuração vs. Testes
4) Palestra Internacional 2: Modeling Around the Domain (Joseph Yoder, Refactory, Inc.)Para a Semana da Pátria:- Fazer semana 4 da Parte 1 do Curso no Coursera
- Trabalhar em grupo no ProjetOO (entrega logo após a semana da pátria)
Tópico e trios dos seminários devem ser definidos até o dia 20/setembro, na planilha cujo link está na página de seminários. -
3a feira - Brainstorming:
- Polimorfismo
- Coleções de Objetos
- Classes abstratas vs. interfaces
- Exercício UML Polimorfismo
5a feira - Brainstorming:- linguagens dinâmicas vs. estáticas
- Linguagens baseadas em protótipos: JavaScript
- Dinâmica de Cartões CRC
Para casa:- Fazer semana 5 da Parte 1 do Curso no Coursera
- Polimorfismo
-
3a feira:
- Dramatização dos Cartões CRC
5a feira:- História e o conceito de Padrões de Projeto (Design Patterns)
- Padrão Estratégia (Strategy)
- Padrão Singleton
- Exercício: implementação do Singleton
- Além do Singleton em Java que temos nos slides, veja também este Singleton em Python
Para casa:- Fazer semana 6 da Parte 1 do Curso no Coursera
-
Dois exemplos interessantes da classes definidas por dois grupos da turma durante a dinâmica dos cartões CRC.
-
Devido ao início da Greve dos Estudantes, tivemos apenas um bate-papo na quinta (28).
Para casa:- Terminar a última semana da Parte 1 do Coursera
-
- 2/10/23: Palestra Internacional 3: AI Engineering - How can Software & Requirements Engineering Help Solving the “AI Dilemma” - Prof. Walid Maalej (Universität Hamburg, Alemanha)
- 3/10/23: Palestra Internacional 4: User feedback and data mining for Software Engineering & PhD surviving skills - Prof. Walid Maalej (Universität Hamburg, Alemanha)
- 2/10/23: Palestra Internacional 3: AI Engineering - How can Software & Requirements Engineering Help Solving the “AI Dilemma” - Prof. Walid Maalej (Universität Hamburg, Alemanha)
-
Fazer Semana 1 da Parte 2 do curso no Coursera
3a:
- Padrão Command
- Padrão Memento
- Padrão Chain of Responsibility
- Exercício:
- Projetar arquitetura OO de um sistema usando pelo menos 2 dos 3 padrões acima
5a:- Padrão Composite
- Padrão Builder
-
3a feira:
- Fazer Semana 2 da Parte 2 do curso no Coursera
- 1a Sessão de atividade prática no laboratório do CEC
- Revisão dos padrões:
- Fábrica abstrata
- Método fábrica
- Protótipo
- Exercício implementação de padrões
- Fazer Semana 2 da Parte 2 do curso no Coursera
-
Seminários: Antes de começar a preparar os slides para apresentação, todos os membros do grupo devem ler o seguinte com bastante atenção: https://www.ime.usp.br/~kon/ResearchStudents/dicasSlides.html7/novembro:
- Padrão Iterator
- Seminário 1: Dívida técnica - Antônio Lima, Caio, Luiz Fernando Assis
- Padrão Interpreter
9/novembro:- Seminário 2: Popularização da tipagem (TypeScript, Python Type Hints, Ruby 3) Antonio Hachisuca, Luan Icaro Pinto Arcanjo, Eduardo Ribeiro Silva de Oliveira
Caso não tenha ainda concluído a Semana 2 da Parte 2 do Coursera, não deixe de fazer isso agora! - Padrão Iterator
-
14/11:
Palestra Internacional 5: Refactoring to the Adaptive Object-Model Architectural Style (Joe Yoder, The Refactory, inc.)
16/11:- Design Fest @ IME
-
Fazer Semana 3 da Parte 2 do Coursera21/11: Aula no CEC, Sala 2
- Revisão dos padrões:
- MVC
- Strategy
- Exercício em pares: MVC com Strategy
23/11: (3 grupos devem conversar com bastante antecedência para evitar sobreposição de conteúdo)- Seminário 3: Testes de Unidade: princípios, práticas e padrões - Lucas Quaresma, Roberto Bolgheroni, Thiago Yukio Sikusawa
- Seminário 4: Mocks, fakes, stubs e boas práticas de testes em Java - Marilia Fernandez, Victor Mattos, Rafael Toledo
- Seminário 5: Teste de Software Eficaz (livro Effective Software Testing: A Developer's Guide), Pedro H M Corrêa, Vinicius H F Lima, Gustavo U Fukunaga
- Revisão dos padrões:
-
Fazer Semana 4 da Parte 2 do curso no Coursera28/11:
- Greve dos metroviários :-(
30/11:- Seminário 8: Rust é uma linguagem orientada a objetos? - Luciano Leão, Julia Leite, João Pevidor
- Seminário 9: Padrões para Mapeamento Objeto-Relacional - Iggor Numata, João Souza, Sabrina Araújo
- Seminário 10: Resolvendo null em linguagens modernas (Java vs. Kotlin vs. Scala) - Martin Mayer, Luca Diogo
- Greve dos metroviários :-(
-
Fazer Semana 5 da Parte 2 do curso no Coursera5/12 - Exercício prático no laboratório do CEC
- Padrão Null Object (slide 46 da palestra de Refatoração)
- O padrão que faltou no GoF segundo o Ralph Johnson
- O padrão que faltou no GoF segundo o Ralph Johnson
- Padrão Visitor
7/12:- Seminário 6: Modelagem com Domain-Driven Design (DDD) - Arthur T Magalhães, Pedro R Sato, Gustavo Akio Honda
- Seminário 11: Reflexão e Metaprogramação - João Henri, Max Cabrajac, Marcos Castello
- Seminário 12: Funções lambda, closures, pattern matching, funtores - Cássio Cancio, Kaique Oliveira, Eduardo Lopes
- Padrão Null Object (slide 46 da palestra de Refatoração)
-
Finalizar 5a e última semana da Parte 2 do Coursera:
- Finalizar, entregar e corrigir exercício dos pares do Arcabouço de Controle de Qualidade
12/12:- Seminário 13: A Philosophy of Software Design - Thales V Cristante, Matheus Martines, Lorena Braguini
- Seminário 14: Object-Oriented Programming — The Trillion Dollar Disaster - Bruno Braga, Guilherme Assis, Pedro Schneider
- Seminário 15: Sustainable software engineering: Reflections on advances in research and practice - Gustavo Souto, José Lima Neto, Samantha Miyahira
14/12:- Seminário 16: Padrões de Projeto para Aprendizado de Máquina - João Lucas Gomes de Miranda, Luíz Carlos Costa da Silva, Melissa Hongjin Song Zhu
- Seminário 7: Software Architecture: It Might Not Be What You Think It Is - Chung Jin Shian, Rafael Oliveira Magalhães, Enzo Hideo Kobayashi
- Seminário 17: Refatoração de Código para Adotar Princípios SOLID - Larissa V M Silva, Luiz Gabriel Arrais, Pedro Lucas Campos
-
Apresentação final do projeto
Cada grupo deverá apresentar os resultados alcançados pelo seu grupo em 15 minutos, incluindo informações sobre a arquitetura de software, características interessantes de sua implementação, código interessante (opcional) e demonstração do software rodando (pode ser pré-gravado ou screenshots se preferirem).
Terça-feira:
- Olympic Insights
- Song Seeker
- Tanquinhos!
- Touhou Hell
- Bismuth
- Cemetery Soulstice
Quinta-feira:- Dexsciplina
- Space Invaders
- Mandala
- Bomberman
- Reflexões finais sobre POO e Desenvolvimento de Software em geral