View
412
Download
2
Category
Preview:
DESCRIPTION
Relatório apresentado no âmbito de provas de agregação, de acordo com a alínea b), do número 2, do artigo 8.º do Decreto-Lei n.º 239/2007 de 19 de Junho de 2007.A área do ensino da programação é vasta e com um longo historial. Neste documento procura-se apresentar a relevância, na formação dos alunos da Licenciatura em Informática, da UC “Metodologias de Programação III”. Esta UC visa propiciar uma ponte entre o acto de programação enquanto acto isolado de criação de artefactos intelectuais focados em problemas objectivos e simples, e o acto de programação enquanto elemento organizador de sistemas complexos, onde os diversos componentes podem surgir em diversas etapas ou fases, por parte de pessoas ou equipas distintas. Esta apresentação da unidade curricular será efectuada através de: objectivos, competências a adquirir, conteúdo programático, métodos de ensino, sistema de avaliação e bibliografia recomendada.
Citation preview
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 1/44
Leonel Caseiro Morgado
Metodologias deProgramação III
Relatório da unidade curricular “Metodologias de Programação III”, apresentado no
âmbito de provas de agregação, de acordo com a alínea b), do número 2, do artigo 8.º do
Decreto-Lei n.º 239/2007 de 19 de Junho de 2007.
Universidade de Trás-os-Montes e Alto Douro
Escola de Ciências e Tecnologia
Maio de 2011
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 2/44
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 3/44
Índice
1. Resumo .......................................................................................................................... 1
2. Enquadramento e objectivos da unidade curricular ..................................................... 2
3. Conteúdo programático ................................................................................................ 6
4. Métodos de ensino........................................................................................................ 8
5. Plano de aulas ............................................................................................................. 10
Aulas teóricas .................................................................................................................... 10
Aulas práticas .................................................................................................................... 11
6. Sistema de avaliação ................................................................................................... 12
7. Bibliografia recomendada ........................................................................................... 16
Principal ............................................................................................................................ 16
Auxiliar .............................................................................................................................. 16
Páginas Web ..................................................................................................................... 16
8. Referências .................................................................................................................. 17
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 4/44
Índice de figuras
Figura 1 – Wiki de acompanhamento da elaboração dos trabalhos teóricos ...................... 13
Índice de tabelasTabela 1 - Plano de Estudos da Licenciatura em Informática (1.º ciclo de Bolonha) ............. 4
Tabela 2 – Resumo do conteúdo programático ..................................................................... 7
Tabela 3 - Plano de aulas teóricas ........................................................................................ 10
Tabela 4 - Plano de aulas práticas ........................................................................................ 11
Tabela 5 – Exemplos de temas de trabalhos teóricos .......................................................... 13
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 5/44
1
1. Resumo
A unidade curricular (UC) “Metodologias de Programação III”, sobre a qual incide o
presente relatório para apreciação no âmbito das provas conducentes à obtenção do grau de
Agregado, faz parte do plano de estudos da Licenciatura em Informática da Universidade de
Trás-os-Montes e Alto Douro (UTAD). O candidato é regente da UC desde o ano lectivo
2006/2007. Leccionou durante os anos lectivos de 2006/2007 a 2010/2011 a componente
teórica da UC, tendo a componente prática sido assegurada, nos anos lectivos de 2006/2007 a
2008/2009, pelo Lic. António Marques e pelo Lic. Luís Barbosa. Este último assegurou a
componente prática integralmente nos anos lectivos 2009/2010 e 2010/2011.
A área do ensino da programação é vasta e com um longo historial. Neste documento
procura-se apresentar a relevância, na formação dos alunos da Licenciatura em Informática, da
UC “Metodologias de Programação III”. Esta UC visa propiciar uma ponte entre o acto de
programação enquanto acto isolado de criação de artefactos intelectuais focados em
problemas objectivos e simples, e o acto de programação enquanto elemento organizador de
sistemas complexos, onde os diversos componentes podem surgir em diversas etapas ou fases,
por parte de pessoas ou equipas distintas. Esta apresentação da unidade curricular será
efectuada através de: objectivos, competências a adquirir, conteúdo programático, métodos
de ensino, sistema de avaliação e bibliografia recomendada.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 6/44
2
2. Enquadramento e objectivos da unidade curricular
Na UTAD, a Licenciatura em Informática foi criada no ano lectivo 2002/2003 (regime
anterior à colocação em prática do Processo de Bolonha), tendo funcionado no regime pré-
Bolonha até ao ano lectivo 2005/2006. Após adequação ao processo de Bolonha, o ano lectivo
2006/2007 viu a sua colocação em prática – ano este no qual iniciei a leccionação da unidade
curricular “Metodologias de Programação III”.
Central a todo o Processo de Bolonha encontra-se uma alteração paradigmática do ensino
superior. De um paradigma clássico focado na transmissão de conhecimentos enquanto
directriz dos momentos lectivos, almeja-se a transição para um modelo de formação mais
amplo, focado no desenvolvimento de competências. O conhecimento surge doravante como
competência essencial e específica da área de formação, acompanhado pelas técnicas
associadas, mas requer-se igualmente o desenvolvimento de competências genéricas
(González & Wagenaar, 2003):
competências instrumentais, entre as quais: capacidades de compreensão e
manipulação de ideias e conceitos, capacidades metodológicas (organização de
recursos, tomada de decisões, adopção de estratégias de aprendizagem) e técnicas
associadas ao uso de instrumentos tecnológicos, informativos e comunicacionais;
competências interpessoais, a nível individual e social, como sejam a capacidade
para expressão emocional, auto-crítica e hetero-crítica, trabalho em equipa,
responsabilidade ética e social;
competências sistémicas, capacidades e técnicas que lidam com o funcionamento
de sistemas, com a visão da relação entre as parte e o todo.
A adequação da Licenciatura em Informática ao Processo de Bolonha efectuou-se por
aplicação deste paradigma às recomendações dos “Computing Curricula 2005” produzidos
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 7/44
3
conjuntamente pela Association for Computing Machinery (ACM) e pela Association for
Information Systems (AIS), e pela Computer Society do Institute of Electrical and Electronics
Engineers (IEEE-CS) (The Joint Task Force for Computing Curricula 2005, 2005), focando-se
especialmente, nestas recomendações, nas disciplinas designadas por “Ciência dos
Computadores” e “Engenharia de Software” (op.cit., p. 18; p. 21). O plano de estudos
resultante da actual Licenciatura em Informática consiste num curso de 1.º Ciclo (180 créditos
ECTS) composto por UC semestrais, ao longo seis semestres lectivos (vd. Tabela 1).
A UC “Metodologias de Programação III” surge assim, neste plano de estudos, visando
concretizar os objectivos do Processo de Bolonha com aspectos específicos da disciplina de
Engenharia de Software, em particular na área da programação. E, dentro desta, visa
desenvolver as capacidades de desempenho “Do large-scale programming”, “Do systems
programming” e “Develop new software systems” (op. cit., p. 28). Complementarmente, a
operacionalização destas efectua-se em simultâneo com o desenvolvimento de capacidades de
desempenho na área da interacção pessoa-computador, especificamente as capacidades
“Create a software user interface” e “Produce graphics or game software” (ibid .). Tem
evoluído desde o ano lectivo original (2006/2007), face à experiência de leccionação e
investigação do docente, ao acompanhamento de novas tendências pedagógicas em particular
no domínio do b-learning, e também face às recomendações actualizadas ACM/IEEE (CS2008
Review Taskforce, 2008).
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 8/44
4
Tabela 1 - Plano de Estudos da Licenciatura em Informática (1.º ciclo de Bolonha)
Fonte: adaptado de Diário da República, 2.ª série – N.º 88 – 8 de Maio de 2007, pp. 11957-11960.
Unidade Curricular T TP/S P/PL Tot. h. ECTS
1.ºAno
1.ºSemestr
e
Informática 4 168 6
Lógica Computacional 2 2 168 6
Álgebra Linear 2 2 168 6
Tópicos de Matemática 2 2 168 6
Português e Técnicas de Comunicação 3 112 4
Seminário I 2 56 2
Totais 6 9 6 840 30
2.º
Semestre
Arquitectura de Computadores 2 2 168 6
Metodologias de Programação I 2 2 168 6
Sistemas Digitais 2 2 140 5
Análise Matemática 2 2 168 6
Inglês e Técnicas de Comunicação I 3 84 3
Laboratório de Informática I 2 112 4Totais 8 5 8 840 30
2.ºAno
3.ºSemestre
Metodologias de Programação II 2 2 168 6
Sistemas Operativos 2 2 168 6
Métodos Estatísticos 2 2 168 6
Sistemas de Informação 2 2 168 6
Inglês e Técnicas de Comunicação II 3 56 2
Laboratório de Informática II 2 112 4
Totais 8 5 8 840 30
4.ºSemest
re
Metodologias de Programação III 2 2 168 6
Engenharia de Software 2 2 168 6
Comunicação de Dados 2 2 168 6Algoritmia 2 2 168 6
Engenharia nas Organizações 3 56 2
Laboratório de Informática III 2 112 4
Totais 8 5 8 840 30
3.ºAno
5.ºSemestre
Metodologias de Programação IV 2 2 168 6
Bases de Dados 2 2 168 6
Redes de Computadores I 2 2 140 5
Interacção Pessoa Computador 2 2 140 5
Empreendedorismo 3 112 4
Laboratório de Informática IV 2 112 4
Totais 8 5 8 840 30
6.ºSemestre
Metodologias de Programação V 2 2 168 6
Técnicas Avançadas de Bases de Dados 2 2 168 6
Redes de Computadores II 2 2 168 6
Desenvolvimento de Aplicações na Web 2 2 140 5
Projecto 3 140 5
Seminário II 2 56 2
Totais 8 5 8 840 30
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 9/44
5
A opção pelo desenvolvimento destas capacidades de desempenho específicas, no âmbito
das recomendações ACM/AIS/IEEE, prende-se com o contexto da mesma no plano de estudos.
De facto (vd. Tabela 1), antecedem-na uma UC da área da algoritmia (“Lógica Computacional”)
e também UC dedicadas total ou parcelarmente à área da programação, onde as capacidades
de desempenho focadas são “Do small-scale programming” e, em menor medida, “Do large-
scale programming”. Nomeadamente, conceitos de programação imperativa/procedimental
(“Metodologias de Programação I”), de programação orientada a objectos (“Metodologias de
Programação II”) e de programação concorrente (parte de “Sistemas Operativos”).
Estas capacidades são fortalecidas pela exigência de desenvolvimento de projectos de
programação nas UC “Laboratório de Informática I” e “Laboratório de Informática II”, cujos
objectivos não incluem a aquisição adicional de conhecimentos de programação, focando-se
especificamente no apoio ao desenvolvimento de competências de aplicação. Os alunos
contactam ainda com os conceitos de programação-máquina em código assembly , na UC
“Arquitectura de Computadores”.
Desta forma, a UC “Metodologias de Programação III”, pretende servir como charneira no
processo de aprendizagem de programação. Propiciando aos alunos o contacto com um leque
variado de recursos de programação, pretende-se apoiá-los na evolução do grau de
complexidade da programação: do código a pequena escala, planeado e criado de raiz para
resolução de um problema, para o código em maior escala, planeado e criado por recurso a
componentes já existentes (quer através de bibliotecas e API disponíveis livremente, quer por
recurso a código aberto), e tentando antecipar futuras necessidades de reformulação ou
manutenção por outros programadores das soluções implementadas. Dada também a
natureza textual das interfaces utilizadas nas UC anteriores, pretende-se também apoiar os
alunos na transição para a produção de interfaces visuais de utilização, em diversos ambientes.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 10/44
6
3. Conteúdo programático
Os objectivos enunciados são implementados através do contacto com o conceito de
“padrão arquitectónico” enquanto directriz estruturadora do código, com ênfase no padrão
Model-View-Controller (MVC). Este é abordado segundo duas perspectivas distintas: a original
de Krasner & Pope (1988), que atribuía aos módulos Controller a responsabilidade pelo
processamento dos actos do utilizador; e uma mais moderna (Curry & Grace, 2008), que
entrega aos módulos View a responsabilidade integral pela mediação da interacção.
O conceito de MVC é analisado do ponto de vista teórico através do estudo das
possibilidades de sua implementação em diversas interfaces gráficas pessoa-computador, com
ambientes de programação distintos. A análise baseia-se na produção e conservação dos
módulos Model de forma independente das interfaces pessoa-computador, e no confronto dos
impactes daquelas nos módulos Controller e View , contrastando as abordagens de Krasner &
Pope e de Curry & Grace. Em particular, privilegiando a contenção dos impactes sobre os
módulos Controller de alterações de interface, favorecendo a sua resolução nos módulos View .
A concretização da análise tem lugar com recurso ao estudo de algumas ferramentas de
programação disponíveis na plataforma .Net, em linguagem C#. Nomeadamente, a análise do
processamento de erros por recurso a excepções é contrastada com o retorno de valores de
erro, e verificam-se as consequências, em termos de complexidade de implementação e de
gestão para diversas opções de interacção com o utilizador e comportamento aplicacional. O
recurso a delegados e eventos é estudado como forma de isolar componentes aplicacionais
por abstracção de funcionalidades e permitir, dessa forma, apoiar a independência entre os
módulos Model , View e Controller . As interfaces (enquanto artefacto de programação
produzido pela palavra-chave interface, não enquanto artefacto visual de interacção com o
utilizador) são analisadas no mesmo sentido, em particular enquanto forma de permitir
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 11/44
7
fornecer ou receber objectos entre componentes sem revelação de informação desnecessária
sobre pormenores de implementação, e enquanto forma de permitir o intercâmbio de
objectos de forma mais independente e abstracta entre componentes, apenas por recurso a
características de interacção comuns.
A natureza central das interfaces visuais pessoa-computador no conteúdo programático
acima exposto leva a que o aluno possa iniciar nesta UC o contacto com o desenvolvimento
deste tipo de interfaces visuais – em particular dada a ênfase na independência entre os
módulos Model , View e Controller para interfaces distintas. Neste sentido, a UC recorre, de
forma contrastante, ao desenvolvimento de interfaces nos ambientes gráficos clássicos
(Windows Forms), em ambientes gráficos para smartphones (Windows Phone, Silverlight e
XNA) e em mundos virtuais tridimensionais (C# libOpenMetaverse + scripting Second
Life/OpenSimulator). A Tabela 2 resume esta apresentação do conteúdo programático.
Tabela 2 – Resumo do conteúdo programático
A arquitectura MVC
Introdução à arquitectura MVC
Abordagens e implementações.
Utilização da arquitectura MVC com Windows Forms,Windows Phone e libOpenMetaverse.
C# e Plataforma .Net
Introdução à plataforma .Net e à linguagem C#
Diferenças sintáctico-semânticas entre C# e C++
Herança em C# e implementação de interfaces C#
Processamento de eventos e excepções
Registo de métodos de resposta a excepções
Delegados e parâmetros de eventos
Blocos try-catch-finally
Colecções de dados da plataforma .Net 3.5 em C#
Aspectos de programação em ambientes gráficos de utilizador
Métodos para desenho gráfico em C#
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 12/44
8
4. Métodos de ensino
As aulas são de duas tipologias: aulas teóricas e aulas práticas. Nas aulas teóricas indica-se
previamente aos alunos quais as fontes de estudo a seguir para aquisição dos conceitos a
trabalhar na aula seguinte. (Excepto, por redundância, na primeira aula, onde se sensibiliza os
alunos para a disciplina e seu método de funcionamento.)
Partido do estudo prévio solicitado aos alunos, as aulas teóricas iniciam-se por momentos
de exposição de casos, apoiado por diaporamas e/ou excertos de código. Os casos expostos,
inspirados em casos reais da prática profissional de programadores ou na actividade de
investigação do docente, são então fonte de reflexão aberta e debate coordenado pelo
docente, com base na temática de estudo prévio solicitada. Esta reflexão/debate é apoiada
com recurso ao registo visual ou textual dos contributos – ou mesmo testes de código – em
diaporamas interactivos ou em ferramentas de programação. As conclusões são registadas em
diapositivos criados em aula, que se acrescentam aos diaporamas de apoio e são
posteriormente disponibilizados aos alunos através das plataformas on-line de apoio à
aprendizagem.
A fase final da disciplina consiste na elaboração on-line de trabalhos teóricos em grupos
pelos alunos. Neste processo, o docente propõe os temas a desenvolver por cada grupo, bem
como as fases de desenvolvimento dos trabalhos, que implicarão interacção entre os alunos, e
entre estes e programadores externos à disciplina e à UTAD (conforme exposto na secção 6).
As várias fases dos trabalhos são obrigatoriamente elaboradas on-line, em plataformas
cooperativas ou sociais, permitindo ao docente acompanhar a evolução de cada trabalho
teórico e intervir com esclarecimentos, incentivos, advertências ou sugestões, bem como
percepcionar o envolvimento e contributo dos vários membros do grupo para o resultado
final. Os melhores trabalhos são então apresentados e debatidos em aula no final do semestre.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 13/44
9
Nas aulas práticas, procura-se colocar em prática métodos de ensino-aprendizagem
centrados no aluno, onde se dá ênfase à produção de código concreto de aplicação dos
conceitos teóricos. Todas as aulas são leccionadas em contexto de laboratório de
computadores com turmas de cerca de 20 alunos, para que o docente possa acompanhar o
trabalho realizado por cada aluno. As aulas seguem, genericamente, um formato comum que
consiste numa breve apresentação de um problema e de qual a técnica proposta para
resolução do mesmo. De seguida, é proposta aos alunos a tentativa de implementação da
resolução. É reservado um período de tempo para actuação pelos alunos, durante o qual o
docente acompanha e apoia os alunos, identificando dúvidas e erros, ou clarificando aspectos
particulares de implementação da solução. Decorrido o tempo previsto, é apresentada uma
resolução para o problema proposto e uma nova fase (mais avançada), do problema,
procedendo-se de igual forma. Cada aula estará, regra geral, estruturada para
desenvolvimento de três ciclos de problemas e resoluções.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 14/44
10
5. Plano de aulas
Os objectivos da UC são concretizados, por via do conteúdo programático e dos métodos
de ensino, nos planos de aulas que se seguem.
Aulas teóricas
O plano de aulas teóricas (vd. Tabela 3) reflecte 30 horas de contacto semanais,
distribuídas ao longo de 15 semanas, em aulas de 2 horas.
Tabela 3 - Plano de aulas teóricas
Aula Conteúdo
1 Apresentação do docente, dos objectivos, do conteúdo programático, da bibliografiae dos métodos de avaliação.Sensibilização para as temáticas a abordar.
2 O padrão arquitectónico Model-View-Controller.
3 Diferenças entre C++ e C#/.Net: as referências e as propriedades.
4 Eventos e delegados em .Net e no padrão arquitectónico MVC.
5 Implementação de arquitectura MVC em Windows Forms.Delegados simples e multicast .
6 Resolução da 1.ª prova teórica de avaliação
7 Excepções em .Net, gestão de erros em MVC.
8 Interfaces em .Net aplicadas ao padrão arquitectónico MVC.
9 Análise de casos de aplicação em XNA.10 Resolução da 2.ª prova teórica de avaliação
11 Gráficos em Windows: a GDI+
12 Análise de casos de aplicação com libOpenMetaverse.
13 Apresentação de trabalhos teóricos.
14 Apresentação de trabalhos teóricos.
15 Resolução da 3.ª prova teórica.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 15/44
11
Aulas práticas
O plano de aulas práticas (vd. Tabela 4) reflecte 30 horas de contacto semanais,
distribuídas ao longo de 15 semanas, em aulas de 2 horas.
Tabela 4 - Plano de aulas práticas
Aula Conteúdo
1 Apresentação da metodologia das aulas práticas.Introdução à programação em C#:- Apresentação do ambiente de trabalho;- Aplicação básica de exemplo.
2 Desenvolvimento de aplicações com várias janelas:- Passagem de Informação entre janelas;- Classe DialogResult;Classes de manuseamento de ficheiros de texto.
Classes de diálogos de acesso a ficheiros.3 Desenvolvimento de aplicações com janelas:
- Menus de navegação (MenuStrip e ContextMenuStrip);- Componentes ComboBox, ListBox, ListView e TreeView;Desenvolvimento de aplicação para Windows em C# utilizando o padrãoarquitectónico Model-View-Controller (MVC).
4 Definição e implementação de eventos.Definição de delegados para utilização em eventos.Colecções List, ArrayList, Dictionary, OrderedList.
5 Desenvolvimento de aplicação Windows Forms em C# utilizando o padrãoarquitectónico Model-View-Controller (MVC) – 1.ª parte.
6 Desenvolvimento de aplicação Windows Forms em C# utilizando o padrãoarquitectónico Model-View-Controller (MVC) – 2.ª parte.
7 Leitura e escrita de ficheiros de texto em formatos XML.
8 Definição e implementação de excepções.
9 Definição e implementação de interfaces.
10 Utilização de bibliotecas externas: libOpenMetaverse para integração com o mundovirtual Second Life, utilização em MVC.
11 Correcção da parte prática do 2.º Teste.
12 Utilização de bibliotecas externas: exemplos de desenvolvimento para WindowsPhone em MVC.
13 Gráficos em Windows:- contextos de dispositivo e a GDI+ (classe Graphics).- operações e componentes de desenho gráfico.
14 Gráficos em Windows:- Windows Presentation Foundation.
15 Resolução de exercícios de aplicação de conceitos.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 16/44
12
6. Sistema de avaliação
Pelo exposto nas secções anteriores, a UC “Metodologias de Programação III” requer o
domínio complementar de competências de compreensão e manipulação de conceitos e de
competências de concretização desses conceitos em programação. Desta forma, a avaliação
debruça-se sobre ambas as componentes (prática e teórica), com idêntica ponderação.
Assim, os alunos serão avaliados de forma individual em três provas periódicas com
consulta, distribuídas ao longo do semestre e com recurso ao uso do computador (a
componente teórica é ainda alvo de um trabalho a realizar em grupo). Dado o foco da UC na
compreensão e domínio de competências, a consulta a fontes de informação e o emprego de
ferramentas de software durante estes momentos de avaliação periódica decorre em plena
liberdade de formatos (fontes impressas e on-line). A única restrição reside na não ocorrência
de comunicação com outras pessoas durante as provas (cada prova é individual).
Estas provas são de carácter obrigatório para todos os alunos. Os alunos com estatutos
especiais, em caso de impossibilidade de realização das provas deverão contactar o docente
para combinar datas alternativas para a sua realização. Os temas incidem sobre o conteúdo
leccionado no período compreendido entre duas provas, tendo uma duração aproximada de
50 minutos para cada componente (prática/teórica). A componente prática foca-se em
exercícios de aplicação e a teórica em análise de casos. No Anexo A apresentam-se exemplos
destas provas.
A componente teórica, além das provas de avaliação periódicas, requer também a
realização de um trabalho de grupo. O Anexo B apresenta um exemplo desses trabalhos. No
trabalho de grupo visa-se reforçar as competências instrumentais, interpessoais e sistémicas
dos alunos, levando-os a contactar com comunidades reais de programadores no sentido de
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 17/44
13
debater e reflector sobre os desafios lançados pelo docente, tendo por produto final novos
materiais teóricos. Estes trabalhos decorrem on-line, numa plataforma wiki (por ex.:
mpiii20102011.pbworks.com – vd. Figura 1), para que o docente possa acompanhar e
aconselhar os alunos no decurso do trabalho teórico, não apenas reagir a eventual
apresentação de dúvidas e avaliar o resultado final.
Figura 1 – Wiki de acompanhamento da elaboração dos trabalhos teóricos
Tabela 5 – Exemplos de temas de trabalhos teóricos
Tema de trabalho
Escrever um documento pormenorizado que explique como aplicar o padrão arquitectónicoMVC ao desenvolvimento de aplicações com a libOpenMetaverse. Esse documento devecomplementar essa explicação com exemplos concretos das várias formas de aplicação queconcebam.
Escrever um documento pormenorizado que explique como aplicar o padrão arquitectónico
MVC ao desenvolvimento de aplicações na Windows Phone Application Platform, com aframework XNA. Esse documento deve complementar essa explicação com exemplosconcretos das várias formas que concebam para aplicação do padrão.
Escrever um documento pormenorizado que explique como aplicar o padrão arquitectónicoMVC ao desenvolvimento de aplicações na Windows Phone Application Platform, com aframework Silverlight. Esse documento deve complementar essa explicação com exemplosconcretos das várias formas que concebam para aplicação do padrão.
Escrever um documento pormenorizado que explique como aplicar o padrão arquitectónicoMVC ao desenvolvimento de aplicações para Windows com a WPF (Windows PresentationFoundation). Esse documento deve complementar essa explicação com exemplos concretosdas várias formas que concebam para aplicação do padrão.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 18/44
14
Os trabalhos teóricos são compostos por quatro partes, avaliadas independentemente: a)
pesquisa bibliográfica inicial, preparatória; b) pesquisa por especialistas e/ou comunidades de
prática sobre o tema; c) interacção com os especialistas e comunidades de prática
identificados, debatendo ideias em busca de soluções para os desafios; e por fim d)
apresentação em aula dos resultados. A Tabela 5 apresenta alguns exemplos de temas de
trabalho propostos aos alunos.
Este modo de avaliação, designado por “Avaliação periódica”, é o modo ordinário, sendo
os restantes exclusivamente decorrentes da aplicação das Normas Pedagógicas da UTAD para
resolução de casos especiais. Em particular, tais normas definem um requisito prévio à
avaliação, designado como a obtenção de “Frequência” a uma UC. No caso de Metodologias
de Programação III, face à sua natureza enquanto UC com horas de contacto lectivas e a
componente prática de avaliação, decorre directamente das normas pedagógicas que a
frequência seja obtida pelo cumprimento cumulativo de duas condições:
• o aluno não deve faltar a mais de 25% das horas de contacto previstas no
calendário escolar;
• deverá igualmente obter não menos de 8,5 valores (escala 0 – 20) à componente
prática da avaliação periódica.
Os alunos que obtenham frequência face às condições anteriores obterão a nota final de
avaliação através da seguinte expressão:
Tt = Trabalho teórico, componente n.º t; Pt = Prova teórica n.º t; Pp = Prova prática n.º p
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 19/44
15
Os alunos que, tendo-se submetido à avaliação periódica, tenham obtido frequência à
disciplina mas não aprovação pela aplicação da fórmula anterior, poderão realizar uma prova
escrita de avaliação complementar (PAC). Este modo de avaliação (“Avaliação periódica mais
PAC”) incidirá sobre as vertentes prática e teórica da unidade curricular, sendo que estes
alunos só poderão efectuar PAC à vertente em que tiverem tido nota inferior a 9,5 valores na
avaliação periódica. A nota obtida em cada vertente da PAC substituirá as componentes
negativas respectivas da fórmula anterior.
Os alunos que, por usufruírem de estatuto especial previsto nas Normas Pedagógicas da
UTAD ou por terem obtido frequência no ano lectivo imediatamente anterior, não tendo
contudo obtido nesse ano aprovação à UC, poderão ser avaliados através de uma prova única
de exame final, que incidirá sobre as vertentes prática e teórica da UC. Neste modo de
avaliação (“Exame final”), a nota final é decorrente da seguinte fórmula:
Pt = Parte teórica; Pp = Parte prática
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 20/44
16
7. Bibliografia recomendada
Principal Marques, Paulo; Pedroso, Hernâni; Figueira, Ricardo (2009). C# 3.5. Lisboa, Portugal: FCA.
Curry, Edward, & Grace, Paul (2008). Flexible Self-Management Using the Model-View-
Controller Pattern. IEEE Software, 25 (3), 84-90.
Krasner, G. & Pope, S. (1988). A cookbook for using the model-view controller user
interface paradigm in Smalltalk-80, Journal of Object-Oriented Programming, 1(3), 26 –49.
Auxiliar
Stellman, Andrew; Greene, Jennifer (2010). Head First C#: A Learner's Guide to Real-World
Programming with Visual C# and .NET (2nd Edition). Sebastopol, CA, EUA: O'Reilly Media.
Páginas Web
Visual C# Developer Center
http://msdn2.microsoft.com/en-gb/vcsharp/default.aspx
101 Visual Basic and C# Code Samples
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=08e3d5f8-033d-420b-a3b1-3074505c03f3
Visual C# Starter Kits
http://msdn2.microsoft.com/en-gb/vcsharp/aa336742.aspx
C# Stationhttp://www.csharp-station.com/
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 21/44
17
8. Referências
CS2008 Review Taskforce (2008). Computer Science Curriculum 2008: An Interim Revision of CS
2001 Report from the Interim Review Task Force [on-line]. http://www.acm.org/
education/curricula/ComputerScience2008.pdf (23 de Abril de 2011).
Curry, Edward, & Grace, Paul (2008). Flexible Self-Management Using the Model-View-
Controller Pattern. IEEE Software, 25 (3), 84-90.
González, Julia; Wagenaar (Eds., 2003). Tuning Educational Structures in Europe – Final Report
– Phase One. Bilbau, Espanha: Universidad de Deusto.
Krasner, G. & Pope, S. (1988). A cookbook for using the model-view controller user interface
paradigm in Smalltalk-80, Journal of Object-Oriented Programming, 1(3), 26 –49.
The Joint Task Force for Computing Curricula 2005 (2005). Computing Curricula 2005 – The
Overview Report covering undergraduate degree programs in Computer Engineering,
Computer Science, Information Systems, Information Technology, Software Engineering.
ISBN 1-59593-359-X. Nova Iorque, EUA: ACM.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 22/44
18
Anexo A – Exemplos de provas
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 23/44
19
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 24/44
20
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 25/44
21
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 26/44
22
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 27/44
23
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 28/44
24
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 29/44
25
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 30/44
26
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 31/44
27
Anexo B – Exemplos detrabalhos teóricos
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 32/44
28
Trabalho teórico de Metodologias da
Programação III
Os alunos deverão organizar-se em grupos de 4/5 alunos.
O docente atribuirá um problema específico a cada grupo, o qual deverá ser
solucionado, com recurso a documentos científicos e por discussão com peritos da área ou
participação em fóruns e comunidades de prática.
O trabalho que se propõe decompõe-se em três fases, que se encontram abaixo
descritas.
Cada grupo deverá organizar a informação recolhida e disponibilizá-la no wiki da
unidade curricular (http://mpiii20102011.pbworks.com/ ), o qual funcionará como portfólio de
grupo, respeitando os prazos previstos para cada fase.
1.ª Fase – Pesquisa bibliográfica sobre o problema
Duração: 3,5 semanas 7h de carga horária por aluno (2h/semana)
Deadline: 20/03/2011
Tarefas:
1.
Pesquisa bibliográfica acerca do tema/problema atribuído pelo docente a cadagrupo
2. Elaboração de fichas de leitura sobre os materiais bibliográficos considerados
relevantes para o trabalho
Nota: no wiki deverão constar:
- locais de consulta (referências correctas)
- materiais seleccionados (cópias dos documentos, salvo se páginas Web)
- fichas de leitura.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 33/44
29
2.ª Fase – Pesquisa e contacto com peritos e/ou comunidades de prática
Duração: 2,5 semanas 5h de carga horária por aluno (2h/semana)
Deadline: 07/04/2011
Tarefas:
1. Procurar peritos e/ou comunidades relacionadas com o tema do trabalho e
estabelecer o contacto com os mesmos (mailing lists, Facebook, Twitter, LinkedIn,
fóruns de debate, Second Life, etc.);
2. Convidar esses peritos e/ou comunidades à participação no debate e resolução da
situação-problema;3. Calendarizar reuniões/encontros virtuais com elementos do grupo e os peritos ou
elementos das comunidades anteriormente contactados, ou ainda outras pessoas
que demonstrem interesse em participar.
Nota: no wiki deverão ser disponibilizados:
- comprovativos do contacto estabelecido com elementos externos à disciplina
(cópias de e-mails ou de posts em fóruns, redes sociais, comunidades, etc.).
- calendário ou cronograma das reuniões a realizar, com respectivas datas, horário e
local (Second Life, fóruns, Facebook, etc.).
3.ª Fase – Troca de ideias/ Procura de soluções para as situações-
problema de cada grupo
Duração: 3,5 semanas 7h de trabalho por aluno (2h/semana)
Deadline: 09/05/2011
Tarefas:
1. Estabelecer trocas de ideias/informações com os peritos e comunidades
anteriormente contactados, de forma a enriquecer o trabalho desenvolvido na fase
1;
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 34/44
30
2. Realizar debates/reuniões com os mesmos peritos e/ou comunidades, na tentativa
de procura de soluções para a situação-problema de cada grupo;
Nota: no wiki deverão ser disponibilizados:
- Actas e excertos dos encontros/discussões (printscreens; gravação de reuniões
síncronas; materiais trocados e ou indicados pelos peritos/comunidades)
- Relatório com resultados relevantes para a resolução do problema.
4.ª Fase – Apresentação dos melhores trabalhos desenvolvidos
Serão seleccionados os melhores trabalhos elaborados, pelo material disponibilizado no
wiki da unidade curricular.
Os grupos seleccionados apresentarão o trabalho na aula (2 últimas aulas teóricas do
semestre).
Tempo de apresentação: 15 a 20 minutos por grupo.
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 35/44
31
Exemplo
Área: Administração e Marketing
Tema: O negócio electrónico (E-business/ E-commerce/E-marketing)
Objectivo/Questões-problema:
Desenvolver uma estratégia de negócio electrónico para a uma empresa local
Que tipo de modelos de negócio deverei seguir?
Quais as ferramentas mais indicadas para fins de marketing e divulgação? Redessociais? Sítio Web? Blogue? Usar Marketing multicanal?
Que empresas portuguesas estão apostar neste tipo de negócio? Que estratégias
usam? Com que objectivos?
Fase 1: Pesquisa bibliográfica
Websites consultados:
Website: Web 2.0 Marketing for Small Bussiness
Facebook for Business Marketing: This Week’s Posts and Good Links
http://pegcorwin.com/
Harness The Power Of Twitter For Local Marketing
http://searchengineland.com/how-to-use-twitter-for-local-marketing-16809
A new Twitter business model – a comprehensive hashtag strategy
http://socialmediatoday.com/pkitano/258580/new-twitter-business-model-
developing-comprehensive-hashtag-strategy?ref=node_other_posts_by
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 36/44
32
Documentos consultados:
Bernardo, M., Guerra, J., Rabadão, C., Gonçalves, R., Morgado, L. (2008).
Perspectivas sobre o comércio no Second Life pelos próprios residentes
(comerciantes e produtores de conteúdo). In Actas da conferência cef^SL 08 -Comunicação, Educação e Formação no Second Life®, 26 a 28 de Junho, Universidade
de Aveiro. Consultado em 2010-02-17, Disponível em
http://home.utad.pt/~leonelm/papers/MartineBernardo_et_al.pdf
Romão, F. (2010). e-Business: Estratégias e Modelos. Dissertação de Mestrado em
Estatística e Gestão da Informação – Universidade Nova de Lisboa. Consultado em
2011 – 02 - 17, Disponível em
http://dspace.fct.unl.pt/bitstream/10362/2657/1/TEGI0245.pdf
Ficha de leitura (modelo):
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 37/44
33
Fase 2: Pesquisar e estabelecer contacto com peritos ou comunidades de prática
Pesquisa:
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 38/44
34
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 39/44
35
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 40/44
36
Contactos estabelecidos:
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 41/44
37
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 42/44
38
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 43/44
39
5/17/2018 Metodologias de Programação III - Relatório da Unidade Curricular - slidepdf.com
http://slidepdf.com/reader/full/metodologias-de-programacao-iii-relatorio-da-unidade-curricular 44/44
40
Cronograma de reuniões a realizar:
Reunião Data/Hora Local Convidados1 31.Março.2011
21h (a confirmar)
Twitter AMargaridaMaia
Part Kitano2 15.Abril.2011
19h (a confirmar)Second Life AMargaridaMaia
Pat KitanoSandra Truchi
Fase 3: Resultados
Reunião 1:
31.Março.2011 – Twitter
Presentes: Margarida, Gonçalo e Ricardo, Pat Kitano e AMargaridaMaia
Duração: 1h
Reunião 2:
15.Abril.2011 – Second Life
Presentes: Margarida, Gonçalo e Ricardo, AMargaridaMaia, Pat Kitano e Sandra
Truchi
Duração: 1h:30min
Recommended