<commit_before>---
layout: post
title:  "Métodos Avançados de Programação - 17.1"
date:   2017-01-1
categories: map
lang: pt
ref: map
---

### Ementa do curso
___

Padrões de análise, de projeto, de codificação e de teste no desenvolvimento de software. Frameworks. Arquiteturas de componentes.

### Objetivos do curso
___

Permitir que o discente se torne minimamente capaz de criar designs de baixo nível com qualidade, utilizando os principais padrões de projeto conhecidos.

[Estrutura Curricular](https://drive.google.com/file/d/0B9oADRpZVGECMmQ4WV83YVlRRGs/view?usp=sharing)

### Conteúdo programático
___

Características do desenvolvimento orientado a objetos

Reusabilidade no desenvolvimento de software

GRASP - General responsibility assignment software patterns

Padrão Expert, Creator e Controller

Padrões GoF

Padrões Criacionais 

Padrões Estruturais

Padrões Comportamentais

_Noções de Design de Aplicações Enterprise_

### Plano de aulas
___

| Data	| Assunto | Deadlines
| :------- | :------ | :------ |
| 13/02/2017 | [Apresentação do Curso](https://docs.google.com/presentation/d/1mOPHxgTf-A9LoSyBTqXDawuYjvLN6OLG_ytMcxBym_w/edit#slide=id.g1cd879af31_0_542)
| 16/02/2017 | [Intro Padrões de Proj. SW OO](https://docs.google.com/presentation/d/13WPIixGznyko2lYZDl54ltgzTWyRVW7U-LRAZEEmX74/preview?slide=id.p)
| 20/02/2017 |[GRASP](https://docs.google.com/presentation/d/1E0U-IXt7-KPCndPUqKGZ44LF1B3SJlKOCCjmnYLHH6s/preview) | [Exercício I](http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/auto.htm)
| 23/02/2017 | Dicussão da Atividade 1 
| 27/02/2017 | Feriado (Carnaval)
| 02/03/2017 | [Intro Padrões de Criação](https://docs.google.com/presentation/d/1puvG2ExPgBdSdiQ8nNP7L5058Wm8cYV-JUQkP05nCHg/preview?slide=id.p) - [Padrão Singleton](https://docs.google.com/presentation/d/1aBYsCEikyoo6cHU040ZAmHhUt21YL0qpuXFXS0xJGeo/preview)
| 06/03/2017 | [Padrão Factory Method](https://docs.google.com/presentation/d/1LP7U-3RkJzVV377RtkEFnvNHQKBsT2bECqPYAmcc4fA/preview) | [Exercício II](https://github.com/brunojdo/courses/blob/master/map/src/com/danielfireman/courses/map/singleton/Exercicio.java)
| 09/03/2017 | [Padrão Abstract Factory](https://docs.google.com/presentation/d/124y2J-xrB_par7WPBgvnGeV7_zWLN9kGfYWI9bnlqS4/preview) | [Exercício III](https://docs.google.com/presentation/d/124y2J-xrB_par7WPBgvnGeV7_zWLN9kGfYWI9bnlqS4/edit#slide=id.g2118828481_0_36)
| 13/03/2017 | [Padrão Builder](https://docs.google.com/presentation/d/1544QiRITl1-O3GGR_sx-7ZmPHxlba8qcfnGA1Oyt_50/preview?slide=id.p) 
| 16/03/2017 | Discussão sobre Padrões criacionais | [Exercício IV](https://github.com/brunojdo/ds/blob/master/factoryMethod/DependentPizzaStore.java)
| 20/03/2017 | [Padrões Estruturais - Wrappers](https://docs.google.com/presentation/d/1hHc56ps92uCgnPv76x8qcfzJ6qkVK87N6PqgOUGrWzs/preview)
| 23/03/2017 | [Padrão Proxy](https://docs.google.com/presentation/d/1Pz9EfAD0xB96nZ0x6ELp0nkl3DoLdrNAYxAkZgqy7ss/preview) | [Exercício V](https://docs.google.com/presentation/d/1Pz9EfAD0xB96nZ0x6ELp0nkl3DoLdrNAYxAkZgqy7ss/preview#slide=id.g1d3eb963e1_0_68)
| 27/03/2017 | [Padrão Adapter](https://docs.google.com/presentation/d/1KV8Z-aEdB_6vnwCh5N-KDf5MfCJvghP_eKbmBTwbdrM/preview) | [Exercício VI](https://docs.google.com/presentation/d/1KV8Z-aEdB_6vnwCh5N-KDf5MfCJvghP_eKbmBTwbdrM/preview?slide=id.g1da6e32097_0_25)
| 30/03/2017 | [Padrão Decorator](https://docs.google.com/presentation/d/16DgbgEJ9nK_2awe7z6xbbgC0cKRMNfh0E7UgRlu9pHQ/preview)
| 03/04/2017 | [Padrão Facade](https://docs.google.com/a/diasbruno.com/presentation/d/1KAkneYlpUXz3GkERBVjKg1TTOv2FEGxMLtQbVSGsZSo/preview) | Exercício VII
| 06/04/2017 | Revisão para Prova | [Links de Exercicios](https://docs.google.com/document/d/1C_Du_AtW-BxDx-3vqrsgHGLWi3pSAiWkwihHzvNi2yU/preview)
| 10/04/2017 | P1
| 13/04/2017 | Feriado (Semana Santa)
| 17/04/2017 | Correção da P1
| 20/04/2017 | [Padrão Composite](https://docs.google.com/presentation/d/1YxnvwLx62QPFVa3OOPTRvaJy6bj8nQSEUqQeNL2I-PQ/preview)
| 24/04/2017 | [Introdução aos Padrões Comportamentais](https://docs.google.com/presentation/d/1BNVv7-2yBeI7RUTQCMRMZ4RSsCx1_pUANlLBk9acW80/preview) | Exercício VIII
| 27/04/2017 | Assembléia dos Professores (Não haverá Aula)
| 01/05/2017 | Feriado (Dia do Trabalho)
| 04/05/2017 | [Padrão Strategy](https://docs.google.com/presentation/d/1Ec3mRcubMe-FOhq5mwbur45qA50JOSA42KVgS0N5sGg/preview?slide=id.p) | [Exercício IX](https://docs.google.com/presentation/d/1Ec3mRcubMe-FOhq5mwbur45qA50JOSA42KVgS0N5sGg/edit?slide=id.p#slide=id.g221df784ff_0_74)
| 08/05/2017 | [Padrão Chain of Responsibility](https://docs.google.com/presentation/d/1WvF15XKtMGT_yyeyMg9R9KpHTao1VukYmWNMoo5hNbI/preview) | [Exercício X](https://docs.google.com/presentation/d/1WvF15XKtMGT_yyeyMg9R9KpHTao1VukYmWNMoo5hNbI/edit?slide=id.p#slide=id.g2230723bec_0_15)
| 11/05/2017 | [Padrão Template Method](https://docs.google.com/presentation/d/1elsV0ezsaVbZv-i3FYF5mNOWr1x2BpNS8pHZYPLBttU/preview) | [Exercício XI](https://docs.google.com/presentation/d/1elsV0ezsaVbZv-i3FYF5mNOWr1x2BpNS8pHZYPLBttU/edit#slide=id.g22300be208_0_47)
| 15/05/2017 | [Padrão Observer](https://docs.google.com/presentation/d/1b1byFVVayhgNHBfnRNVUlAJCGChcW6PkZ6xXncGjQ_U/preview) | [Exercício XII](https://docs.google.com/presentation/d/1b1byFVVayhgNHBfnRNVUlAJCGChcW6PkZ6xXncGjQ_U/preview#slide=id.g22300be208_0_47)
| 18/05/2017 | [Padrão Command](https://docs.google.com/presentation/d/1u1PyLzY9FuuFjm_UrGpq1k1WSwZDF3WWT4pjcGcuEF8/preview)
| 22/05/2017 | Anti-Padrões de Projeto
| 25/05/2017 | [Padrões de Projeto em outras Linguagens](https://docs.google.com/presentation/d/1E9r3TS6AFXul0kh7f9_ew4BeBQKxwo_WxCJPlDRzeIQ/preview) | [Exercício XIII](https://docs.google.com/document/d/1_UjPi_h6IuWiGuz8uTBep4LUJE5QPC2ZNQwef9Fr8R4/preview)
| 29/05/2017 | [Noções de Design de Aplicações Enterprise](https://docs.google.com/presentation/d/16uQbjlaPH4mcOyo3UZ6jOUi-8fF6FjcttbTSV5jgZu4/preview)
| 01/06/2017 | [DTO e DAO](https://docs.google.com/presentation/d/1ONBmxqb1rTipi2C8OW1heUZSJRqZaHDR14Gm7A8wnQY/preview?slide=id.p)
| 05/06/2017 | Revisão da P2
| 08/06/2017 | P2
| 12/06/2017 | Correção da P2
| 15/06/2017 | Feriado (Corpus Christi)
| 19/06/2017 | Aula de dúvidas
| 22/06/2017 | Prova Substitutiva
| 26/06/2017 | Correção da PS
| 29/06/2017 | Prova Final


### Metodologia
___
Os recursos didáticos utilizados no ensino do conteúdo programático incluirão aulas expositivas dialogadas com o uso de projetor, mesas redondas para discussão de assuntos pertinentes e pesquisas em grupo.

### Avaliação
___
Provas e Exercícios/Mini-testes

[Notas](https://docs.google.com/spreadsheets/d/1LSGXS7hxzQK_5fHpYqRZcOVVjCq_bn69RTGO_NnOpww/edit#gid=0)

### Comunicação
___
Será utilizado o slack como meio de comunicação para a disciplina. [Acesse aqui](https://map20171.slack.com/messages)

Também haverá atendimento presencial, horário: **Todas segundas-feira das 20h20 às 21h50**

### Referências
___<commit_msg>Create 2017-01-1-pt-map.md<commit_after>---
layout: post
title:  "Métodos Avançados de Programação - 17.1"
date:   2017-01-1
categories: map
lang: pt
ref: map
---

### Ementa do curso
___

Padrões de análise, de projeto, de codificação e de teste no desenvolvimento de software. Frameworks. Arquiteturas de componentes.

### Objetivos do curso
___

Permitir que o discente se torne minimamente capaz de criar designs de baixo nível com qualidade, utilizando os principais padrões de projeto conhecidos.

[Estrutura Curricular](https://drive.google.com/file/d/0B9oADRpZVGECMmQ4WV83YVlRRGs/view?usp=sharing)

### Conteúdo programático
___

Características do desenvolvimento orientado a objetos

Reusabilidade no desenvolvimento de software

GRASP - General responsibility assignment software patterns

Padrão Expert, Creator e Controller

Padrões GoF

Padrões Criacionais 

Padrões Estruturais

Padrões Comportamentais

_Noções de Design de Aplicações Enterprise_

### Plano de aulas
___

| Data	| Assunto | Deadlines
| :------- | :------ | :------ |
| 13/02/2017 | [Apresentação do Curso](https://docs.google.com/presentation/d/1mOPHxgTf-A9LoSyBTqXDawuYjvLN6OLG_ytMcxBym_w/edit#slide=id.g1cd879af31_0_542)
| 16/02/2017 | [Intro Padrões de Proj. SW OO](https://docs.google.com/presentation/d/13WPIixGznyko2lYZDl54ltgzTWyRVW7U-LRAZEEmX74/preview?slide=id.p)
| 20/02/2017 |[GRASP](https://docs.google.com/presentation/d/1E0U-IXt7-KPCndPUqKGZ44LF1B3SJlKOCCjmnYLHH6s/preview) | [Exercício I](http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/auto.htm)
| 23/02/2017 | Dicussão da Atividade 1 
| 27/02/2017 | Feriado (Carnaval)
| 02/03/2017 | [Intro Padrões de Criação](https://docs.google.com/presentation/d/1puvG2ExPgBdSdiQ8nNP7L5058Wm8cYV-JUQkP05nCHg/preview?slide=id.p) - [Padrão Singleton](https://docs.google.com/presentation/d/1aBYsCEikyoo6cHU040ZAmHhUt21YL0qpuXFXS0xJGeo/preview)
| 06/03/2017 | [Padrão Factory Method](https://docs.google.com/presentation/d/1LP7U-3RkJzVV377RtkEFnvNHQKBsT2bECqPYAmcc4fA/preview) | [Exercício II](https://github.com/brunojdo/courses/blob/master/map/src/com/danielfireman/courses/map/singleton/Exercicio.java)
| 09/03/2017 | [Padrão Abstract Factory](https://docs.google.com/presentation/d/124y2J-xrB_par7WPBgvnGeV7_zWLN9kGfYWI9bnlqS4/preview) | [Exercício III](https://docs.google.com/presentation/d/124y2J-xrB_par7WPBgvnGeV7_zWLN9kGfYWI9bnlqS4/edit#slide=id.g2118828481_0_36)
| 13/03/2017 | [Padrão Builder](https://docs.google.com/presentation/d/1544QiRITl1-O3GGR_sx-7ZmPHxlba8qcfnGA1Oyt_50/preview?slide=id.p) 
| 16/03/2017 | Discussão sobre Padrões criacionais | [Exercício IV](https://github.com/brunojdo/ds/blob/master/factoryMethod/DependentPizzaStore.java)
| 20/03/2017 | [Padrões Estruturais - Wrappers](https://docs.google.com/presentation/d/1hHc56ps92uCgnPv76x8qcfzJ6qkVK87N6PqgOUGrWzs/preview)
| 23/03/2017 | [Padrão Proxy](https://docs.google.com/presentation/d/1Pz9EfAD0xB96nZ0x6ELp0nkl3DoLdrNAYxAkZgqy7ss/preview) | [Exercício V](https://docs.google.com/presentation/d/1Pz9EfAD0xB96nZ0x6ELp0nkl3DoLdrNAYxAkZgqy7ss/preview#slide=id.g1d3eb963e1_0_68)
| 27/03/2017 | [Padrão Adapter](https://docs.google.com/presentation/d/1KV8Z-aEdB_6vnwCh5N-KDf5MfCJvghP_eKbmBTwbdrM/preview) | [Exercício VI](https://docs.google.com/presentation/d/1KV8Z-aEdB_6vnwCh5N-KDf5MfCJvghP_eKbmBTwbdrM/preview?slide=id.g1da6e32097_0_25)
| 30/03/2017 | [Padrão Decorator](https://docs.google.com/presentation/d/16DgbgEJ9nK_2awe7z6xbbgC0cKRMNfh0E7UgRlu9pHQ/preview)
| 03/04/2017 | [Padrão Facade](https://docs.google.com/a/diasbruno.com/presentation/d/1KAkneYlpUXz3GkERBVjKg1TTOv2FEGxMLtQbVSGsZSo/preview) | Exercício VII
| 06/04/2017 | Revisão para Prova | [Links de Exercicios](https://docs.google.com/document/d/1C_Du_AtW-BxDx-3vqrsgHGLWi3pSAiWkwihHzvNi2yU/preview)
| 10/04/2017 | P1
| 13/04/2017 | Feriado (Semana Santa)
| 17/04/2017 | Correção da P1
| 20/04/2017 | [Padrão Composite](https://docs.google.com/presentation/d/1YxnvwLx62QPFVa3OOPTRvaJy6bj8nQSEUqQeNL2I-PQ/preview)
| 24/04/2017 | [Introdução aos Padrões Comportamentais](https://docs.google.com/presentation/d/1BNVv7-2yBeI7RUTQCMRMZ4RSsCx1_pUANlLBk9acW80/preview) | Exercício VIII
| 27/04/2017 | Assembléia dos Professores (Não haverá Aula)
| 01/05/2017 | Feriado (Dia do Trabalho)
| 04/05/2017 | [Padrão Strategy](https://docs.google.com/presentation/d/1Ec3mRcubMe-FOhq5mwbur45qA50JOSA42KVgS0N5sGg/preview?slide=id.p) | [Exercício IX](https://docs.google.com/presentation/d/1Ec3mRcubMe-FOhq5mwbur45qA50JOSA42KVgS0N5sGg/edit?slide=id.p#slide=id.g221df784ff_0_74)
| 08/05/2017 | [Padrão Chain of Responsibility](https://docs.google.com/presentation/d/1WvF15XKtMGT_yyeyMg9R9KpHTao1VukYmWNMoo5hNbI/preview) | [Exercício X](https://docs.google.com/presentation/d/1WvF15XKtMGT_yyeyMg9R9KpHTao1VukYmWNMoo5hNbI/edit?slide=id.p#slide=id.g2230723bec_0_15)
| 11/05/2017 | [Padrão Template Method](https://docs.google.com/presentation/d/1elsV0ezsaVbZv-i3FYF5mNOWr1x2BpNS8pHZYPLBttU/preview) | [Exercício XI](https://docs.google.com/presentation/d/1elsV0ezsaVbZv-i3FYF5mNOWr1x2BpNS8pHZYPLBttU/edit#slide=id.g22300be208_0_47)
| 15/05/2017 | [Padrão Observer](https://docs.google.com/presentation/d/1b1byFVVayhgNHBfnRNVUlAJCGChcW6PkZ6xXncGjQ_U/preview) | [Exercício XII](https://docs.google.com/presentation/d/1b1byFVVayhgNHBfnRNVUlAJCGChcW6PkZ6xXncGjQ_U/preview#slide=id.g22300be208_0_47)
| 18/05/2017 | [Padrão Command](https://docs.google.com/presentation/d/1u1PyLzY9FuuFjm_UrGpq1k1WSwZDF3WWT4pjcGcuEF8/preview)
| 22/05/2017 | Anti-Padrões de Projeto
| 25/05/2017 | [Padrões de Projeto em outras Linguagens](https://docs.google.com/presentation/d/1E9r3TS6AFXul0kh7f9_ew4BeBQKxwo_WxCJPlDRzeIQ/preview) | [Exercício XIII](https://docs.google.com/document/d/1_UjPi_h6IuWiGuz8uTBep4LUJE5QPC2ZNQwef9Fr8R4/preview)
| 29/05/2017 | [Noções de Design de Aplicações Enterprise](https://docs.google.com/presentation/d/16uQbjlaPH4mcOyo3UZ6jOUi-8fF6FjcttbTSV5jgZu4/preview)
| 01/06/2017 | [DTO e DAO](https://docs.google.com/presentation/d/1ONBmxqb1rTipi2C8OW1heUZSJRqZaHDR14Gm7A8wnQY/preview?slide=id.p)
| 05/06/2017 | Revisão da P2
| 08/06/2017 | P2
| 12/06/2017 | Correção da P2
| 15/06/2017 | Feriado (Corpus Christi)
| 19/06/2017 | Prova Substitutiva
| 22/06/2017 | Correção da Substitutiva
| 26/06/2017 | Prova Final
| 29/06/2017 | Não há atividades
| 29/06/2017 | Não há atividades


### Metodologia
___
Os recursos didáticos utilizados no ensino do conteúdo programático incluirão aulas expositivas dialogadas com o uso de projetor, mesas redondas para discussão de assuntos pertinentes e pesquisas em grupo.

### Avaliação
___
Provas e Exercícios/Mini-testes

[Notas](https://docs.google.com/spreadsheets/d/1LSGXS7hxzQK_5fHpYqRZcOVVjCq_bn69RTGO_NnOpww/edit#gid=0)

### Comunicação
___
Será utilizado o slack como meio de comunicação para a disciplina. [Acesse aqui](https://map20171.slack.com/messages)

Também haverá atendimento presencial, horário: **Todas segundas-feira das 20h20 às 21h50**

### Referências
___
{'fraction_non_alphanumeric': 0.12480241413996264, 'fraction_numerical': 0.10109211093547923, 'mean_word_length': 5.949076385421868, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 74, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '89227', 'n_tokens_mistral': 7291, 'n_tokens_neox': 6391, 'n_words': 729}