/syllabus

Syllabus for 'Práticas de Programação'

Creative Commons Zero v1.0 UniversalCC0-1.0

Práticas de Programação 2016.1

  • Professor: Diogo Moreira, diogo.moreira@ifpb.edu.br
  • Horários de aula:
    • Segunda-feira, de 07h às 09h30
    • Terça-feira, de 09:45 às 11:25
  • Dúvidas?
    • Utilize o chat no Gitter Join the chat at https://gitter.im/ads-ifpb-praticas-20161/syllabus
      • Sinta-se a vontade para enviar perguntas mesmo que ninguém esteja online, uma vez que o Gitter envia uma compilação das últimas mensagens aos que estão offline.
    • Crie um issue
    • Email para dúvidas individuais, ou para pedir acompanhamento
    • Grupo de discussão para dúvidas de interesse de toda a turma.

Ementa

Projeto arquitetural de software. Automação da construção de aplicativos. Integração contínua. Utilização de frameworks. Integração com banco de dados. Programação baseada em eventos. Ferramenta de desenvolvimento RAD.

Aulas

  1. Apresentação
  2. Controle de Versão
  3. Construção de aplicativos

Objetivos

Geral

  • Permitir o aprendizado de conceitos e técnicas fundamentais necessários à integração, automatização e construção de aplicações

Específicos

Tornar o aluno capacitado a:

  • Entender os fundamentos da integração de software;
  • Aplicar e gerenciar os principais frameworks utilizados do desenvolvimento de um sistema;
  • Entender e aplicar uma Modelagem de Software;
  • Conhecer e utilizar os principais conceitos de Teste;
  • Entender e utilizar os principais conceitos de Projeto Arquitetural;

Trabalhos/Projetos

As atividades da disciplina serão conduzidas por meio do Github Education

Fluxo de trabalho

Aqui serão adicionadas as instruções sobre como será feita a entrega de trabalhos via Github.

Conteúdo

  • Contextualização e Motivação
  • Objetivos
  • Horários de aulas
  • Meios de comunicação
  • Avaliações
  • Dicas para melhor aproveitamento da disciplina

Atividades

  • Nenhuma atividade para esta aula.

Data das aulas: 16/05/2016, 18/05/2016 e 23/05/2016
Slide: https://www.dropbox.com/s/foo6h77mumsfx9m/01-controle-de-versao-slide-23052016.pdf?dl=0

  • Contextualização e Motivação
  • Funcionamento de um controle de versão
  • Métodos de edição (Optimistic Merge e Exclusive Lock)
  • Controle de Versão Local
  • Controle de Versão Centralizado
  • SVN
    • Fluxo de trabalho básico com SVN (checkout, update, commit)
  • Controle de Versão Distribuído
  • GIT
    • Fluxo de trabalho básico
    • Branching
    • Merging
    • Tags e Semantic Versioning
    • Remotos
    • Push/Pull/Fetch
    • Bare e Non-bare repositories
    • Git Daemon

Atividades

Data das aulas: 30/05/2016, 31/05/2016, 06/06/2016, 07/06/2016 e 13/06/2016
Slide: https://www.dropbox.com/s/uron2voqm1nvarv/02-construcao-de-apps-ant-10072016.pdf?dl=0 e https://www.dropbox.com/s/gym9d9bq649hc8n/02-construcao-de-apps-maven-10072016.pdf?dl=0

  • Processo de construção
  • Ant
  • Maven
    • O que é o Maven?
    • Por que usar?
    • Instalação
    • O POM
    • Identificação de projetos
    • Archetypes
    • Ciclo de vida
    • Tarefas comuns
    • Dependências
  • Repositórios de pacotes
    • Artifactory

Atividades


Grupos

  • As atividades serão feitas em grupos de até 3 pessoas, exceto quando o professor tornar explícito que o exercício é individual. Tentem trabalhar em grupos de 2 pessoas, o trabalho flui melhor.
  • Tentem praticar programação em par
    • Combinem um ambiente que o grupo esteja familiarizado
    • O membro com menos experiência para realizar a atividade deve passar mais tempo no "comando".
    • Troquem o comando regularmente

Recursos

Leituras obrigatórias

  • Sem links no momento.

Leituras recomendadas

Avaliações

  • Atividades – 40%
  • Projeto (dividido em 3 releases)– 60%