Introdução da UC e explicação do seu funcionamento
TBL
TBL
TBL
TBL
TBL (a remover se não existirem semanas suficientes)
Apresentação do enunciado do projeto e do primeiro guião
PBL: Guião
PBL: Guião
PBL: Guião
PBL: Guião
PBL: Guião
PBL: Guião
PBL: Avaliação final
Tecnologias utilizadas
Slack
Github
Trello
Stepik
Recursos
Referências bibliográficas
Sebenta
Conteúdos disponibilizados online
Eventualmente vídeos
Slack
O Slack é uma ferramenta que permite:
Promover discussões entre todos os elementos em canais públicos
Nomear pessoas para as notificar e assim saberem que tem que responder a alguma solicitação
Incorporar discussão entre os elementos de cada grupo em canais privados
Partilhar ficheiros entre os vários elementos de cada canal
Utilizar apps como por exemplo o Trello para gestão de projeto ou o Github para repositório de código
Github
O Github é uma ferramenta que serve de repositório de código e de controle de versões. Esta ferramenta permite que:
Todos os elementos trabalhem colaborativamente no mesmo projeto utilizando a versão mais atualizada do código
Saber que elementos foram responsáveis por cada alteração
Contabilizar as contribuições de cada um dos elementos do grupo
Possuir um controle de versões que permita verificar o que foi feito em cada versão e voltar a uma versão anterior caso algo corra mal numa versão
Trello
O Trello é uma ferramenta muito simples de gestão de projeto que permite aos alunos gerir o projeto de uma forma muito intuitiva
Stepik
O Stepik é um sistema de avaliação automática de código.
Avaliação
TBL: 40% da classificação
PBL: 60% da classificação
Team based learning
Os alunos são agrupados no início do semestre em grupos de 3 ou 4 elementos escolhidos aleatoriamente
Cada aluno resolve pequenos problemas de programação
O grupo reúne-se e discute as soluções chegando a uma solução de consenso que é avaliada por um sistema de avaliação automática que avalia:
Se o programa elaborado resolve o problema corretamente
Se o programa é eficiente a resolver o problema
Pretende-se também ver se o programa está bem escrito (avaliação por pares?)
Em cada aula procede-se da seguinte forma:
Nos primeiros 30 minutos, cada elemento elabora uma solução para 3 problemas pequenos
A solução é submetida para um sistema de avaliação automática que mediante testes, verifica se o programa está correto
Durante os próximos 50 minutos, os elementos de cada grupo reunem-se e elaboram em conjunto uma versão que submetem para o sistema
Essa versão submetida pelo grupo é utilizada para a avaliação de todos os elementos
Nos restantes 30 minutos, discute-se na turma as soluções implementadas pelos vários grupos e propõe-se coletivamente uma versão “oficial”
Project Based Learning (PBL)
No início do semestre, os alunos criam grupos de 3 elementos
A avaliação é feita da seguinte forma:
Guiões
6 pontos
Funcionalidades avaliadas no fim do semestre
8 pontos
Contribuição de cada elemento
6 pontos
Avaliação do projeto
O projeto é dividido em vários guiões, valendo 1 ponto cada
Cada guião especifica funcionalidades a implementar que são avaliadas de forma objetiva (funciona/não funciona)
Tipicamente, há um guiao por semana, sendo as funcionalidades avaliadas durante a aula
Cada guião é apresentado numa semana e avaliado na semana seguinte
No final do projeto são avaliadas outras funcionalidades:
Legibilidade do código: 2 pontos
Documentação do código: 2 pontos
Verificação final das funcionalidades: 3 pontos
Verificação automática de código sem erros/problemas: 1 ponto
Em relação à legibilidade e à documentação, seria interessante usar avaliação por pares
Avaliação dos elementos da equipa
Cada elemento do grupo avalia quantitativamente a prestação de todos os outros elementos, em 4 momentos ao longo do semestre
Esta avaliação é entregue por todo o grupo após uma discussão em cada um destes momentos valendo de 0 a 2 pontos para cada elemento
De cada vez que um dos elementos altera o código, utiliza o sistema de controle de versões submetendo uma nova versão, calcula-se a percentagem de submissões de cada um dos elementos como uma forma de avaliar a contribuição de cada um dos elementos para o trabalho de grupo