Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Plano da Unidade Curricular
Documento com o PUC desta unidade curricular.
Sítio: Elearning UAbUnidade curricular:Linguagens de Programação Meta Disciplina 2015Livro: Plano da Unidade CurricularImpresso por: Hugo SantosData: Quinta, 8 Outubro 2015, 14:35
Índice
PUC Plano da Unidade Curricular
PUC
1. A Unidade Curricular
2. Competências
3. Roteiro
4. Metodologia
5. Recursos
6. Avaliação6.1. Cartão de Aprendizagem6.2. Calendário de avaliação contínua6.3. Exame
7. Plano de Trabalho7.1. Primeiro mês7.2. Segundo mês7.3. Terceiro mês7.4. Quarto mês
PUC Plano da Unidade Curricular
UNIDADE CURRICULAR 21077
Linguagens de Programação
Docente: Jorge Morais
Ano Lectivo: 2015/2016
PUC
O que é o PUC?
O PUC constitui um documento que visa orientar o processo de aprendizagemdo estudante ao longo da Unidade Curricular a que se refere. É por isso um guiãoque requer uma leitura atenta e que lhe será útil ao longo de todo o percurso deaprendizagem. Aqui encontrará informação sobre as temáticas a estudar, ascompetências a desenvolver, informações sobre como se organiza o processo deaprendizagem, como utilizar e tirar partido do espaço virtual relativo a estaUnidade Curricular, o que se espera de si, como é avaliado, entre outros aspectosfundamentais para realizar da melhor forma este percurso.
1. A Unidade Curricular
Apresentação da Unidade CurricularMais do que o estudo de uma única linguagem de programação, a cadeira deLinguagens de Programação da Universidade Aberta vaise centrar sobre oestudo comparado dos diversos paradigmas e características das linguagens deprogramação. Assim os alunos vão conhecer os diversos conceitos e técnicas deprogramação associados aos principais tipos de linguagens de programação(nomeadamente linguagens imperativas, linguagens funcionais, linguagensorientadas por objetos e linguagens lógicas). Na exposição da matériaapresentada, assumese conhecimento de uma linguagem imperativa,nomeadamente o C (estudada na cadeira de Programação). O conhecimento deuma linguagem orientada por objetos como o C++ (estudada na cadeira deProgramação por Objetos) é também fortemente aconselhado. Como nestemomento já deve ser claro para um estudante de informática, a componenteprática é indispensável no estudo de qualquer linguagem de Programação. Maisdo que uma visão superficial e meramente teórica dos vários paradigmas daprogramação pretendese uma visão essencialmente prática. Esta visão só épossível se em vez de se estudarem superficialmente as principais linguagens,nos centrarmos num pequeno conjunto de linguagens modernas, que incorporemtodos os paradigmas em estudo. O paradigma funcional será abordado através doestudo da linguagem OCaml. O estudo da linguagem Prolog será utilizado parailustrar o paradigma lógico, Com o Java (uma linguagem orientada por objetos),será possível o estudo de uma outra linguagem para além do C++, que recorre àprogramação orientada por objetos.
2. Competências
Competências a DesenvolverPretendese que, no final desta Unidade Curricular, o estudante tenha adquirido as seguintescompetências:
Complemente os seus conhecimentos do paradigma de programação orientada aosobjetos;
Domine de forma confortável a linguagem de programação Java.
Saiba desenvolver programas numa linguagem de programação em lógica (Prolog);
Domine o paradigma da programação em lógica;
Saiba desenvolver programas numa linguagem de programação funcional (O'Caml);
Domine o paradigma de programação funcional.
3. Roteiro
Roteiro de conteúdos a trabalharNesta Unidade Curricular serão trabalhadas as seguintes temáticas :
1. Paradigmas de Programação1.1. Programação orientada por objetos1.2. Programação em lógica1.3. Programação funcional
2. Estudo da linguagem Java2.1. Introdução à linguagem Java. Introdução à plataforma Java. 2.2. Tipos primitivos e tipos referência em Java. Tiposarray. Assinaturas, protocolos e tiposobjeto. Tiposobjeto sintáticos (interfaces). Tiposobjeto semânticos (classes). 2.3. Tipos genéricos em Java. 2.4. Herança, subclasse, superclasse, subinterface, superinterface. Classes abstratas. 2.5. Construção de sistemas de interfaces e classes em Java. 2.6. Exceções em Java. 2.7. Input/Output em Java. Streams. O package java.io e as suas classes embrulho ("wrapperclasses"). 2.8. Estudo detalhado do mecanismo de herança em Java. Variáveis herdadas ocultas. "this",ou a reinterpretação dos métodos herdados nas subclasses. "super", ou o acesso a componentesescondidas. Packages, classes e construtores.
3. Estudo da linguagem Prolog3.1. Factos e regras 3.2. Programas e perguntas 3.3. Semântica declarativa e operacional 3.4. Mecanismo de retrocesso (backtracking)3.5. Programação de predicados sobre variáveis simples 3.6. Programação de predicados sobre listas
4. Estudo da linguagem OCaml4.1. Conceitos básicos da linguagem ML. Funções como "valores de primeira classe". 4.2. Tipos básicos e tipos estruturados. Sistema de tipos e inferência de tipos. Funçõesmonomórficas e funções polimórficas. 4.3. Formas curried e nãocurried de funções com múltiplos parâmetros. Aplicação parcial. 4.4. Padrões. Emparelhamento de padrões. Padrões disjuntos. 4.5. O método indutivo. 4.6. Listas em ML. Funções sobre listas programadas usando o método indutivo. 4.7. Tipos produto e tipos soma em ML. 4.8. Árvores binárias em ML. O método indutivo aplicado à escrita de funções sobre árvorebinárias.
4. Metodologia
Como vamos trabalhar?A metodologia de trabalho utilizada nesta Unidade Curricular compreende a leitura e reflexãoindividuais (a), assim como também o esclarecimento de dúvidas nos fóruns e a realização deatividades propostas pelo professor (b).
a) A leitura e a reflexão individuais acontecem ao longo de todo o processo de aprendizagem.Sem a leitura e a reflexão individuais, o discente fica muito limitado na resolução dosexercícios propostos.
b) Integram a leitura e a reflexão individuais um conjunto problemas propostos peloprofessor em função da cada módulo, e que o estudante deve tentar resolver.
c) A aprendizagem está estruturada por (3) temas. Para cada tema foi programado um fórumnão moderado pelo professor (Fórum alunos) que permanecerá aberta ao longo da unidadecurricular, proporcionando assim, uma interação ativa entre os estudantes.
5. Recursos
Bibliografia e outros recursosNesta unidade curricular será estimulado uso de informação online, podendo os estudantesadquirir os livros referidos na bibliografia opcional.
Bibliografia opcional:
Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994F. Mário Martins, Java 6 e Programação orientada pelos objectos, FCAJason Hickey, "Introduction to the Objective Caml Programming Language", 2004
6. Avaliação
Como vai ser a avaliação?
A avaliação assume o regime de avaliação contínua. Os estudantes que não possam seguir estamodalidade de avaliação podem optar pela realização de um Exame Final presencial.
A opção pelo regime de avaliação (contínua ou final) será feita pelo estudante até ao final da3ª semana letiva, não podendo ser alterada no decurso do semestre.
Os estudantes que optem pela avaliação contínua disporão de um Cartão de Aprendizagem,pessoal, onde será creditada a avaliação que forem efetuando ao longo do semestre. O Cartãode Aprendizagem é um instrumento personalizado e cada estudante tem acesso apenas ao seucartão.
Os estudantes que optem pela realização de um Exame Final terão acesso a todas asorientações dadas na plataforma e às Atividades Formativas disponibilizadas ao longo dopercurso de aprendizagem, mas não aos instrumentos de avaliação utilizados no regime deavaliação contínua Efólios e Pfólio. Estes estarão disponíveis apenas para os estudantes queoptem pela modalidade de avaliação contínua.
6.1. Cartão de Aprendizagem
Avaliação Contínua
Os estudantes que optarem pela avaliação contínua creditam no seu Cartão de Aprendizagem –CAP – as classificações que obtiveram com a realização de vários trabalhos ao longo dosemestre e a classificação obtida numa prova presencial, no final do semestre.
Ao longo do semestre serlhesá proposto que elaborem pequenos trabalhos, designados efólios. A realização do conjunto dos efólios poderá levar à creditação do seu cartão (CAP) deum máximo de 8 valores.
À classificação obtida nos efólios juntamse os valores obtidos na prova presencial, designadapfólio, tendo esta a duração máxima de 90min. Esta prova, pfólio, terá a cotação global de 12valores.
No sistema de avaliação contínua, a classificação final na unidade curricular corresponde aosomatório das classificações obtidas em cada efólio e no pfólio.
Um efólio é um pequeno documento digital elaborado de forma pessoal e incidindo sobre umasecção dos temas trabalhados.
O pfólio consiste num documento escrito a realizar presencialmente, que complementa os efólios realizados electronicamente.
As indicações para a realização quer dos Efólios, quer do Pfólio serão fornecidas no decursoda 4ª semana de actividades letivas.
A aprovação na Unidade Curricular implica que o estudante obtenha um mínimo de 4 valoresno conjunto dos Efólios e um mínimo de 6 valores no Pfólio.
6.2. Calendário de avaliação contínua
Calendário de avaliação contínua[O quadro seguinte deverá ser preenchido de acordo com o planeamento efectuado; ter emconta o número de efólios previstos e a valorização máxima de cada um ao preencher oquadro e as datas correspondentes ao semestre em questão.]
Outubro Novembro Dezembro ou Maio Janeiro ou Junho
Efólio A 4 valores
Data da
especificação do
trabalho a realizar
no Efólio A e dos
respetivos critérios
de avaliação
23
Envio do Efólio Aao professor
9
Indicação da
classificação do Efólio A
23
Efólio B 4 valores
Data da
especificação do
trabalho a realizar
no Efólio B e dos
respetivos critérios
de avaliação
27
Envio do Efólio Bao professor
14
Indicação da
classificação do Efólio B
4
Pfólio 12 valores
Realização presencial Ver calendário de
exames
6.3. Exame
Opção pelo Exame
O Exame Final traduzse numa única prova escrita realizada presencialmente eclassificada numa escala de 0 (zero) a 20 (vinte) valores.Esta prova tem um caráter somativo, reportandose à totalidade dos conteúdosabordados na unidade curricular e é realizada no final do semestre lectivo, tendoa duração de 2h e 30min.O estudante que optar pela modalidade de exame final, terá de obter neste ummínimo de 10 valores.
7. Plano de Trabalho
Calendário e plano de trabalhoEste Plano apresenta a previsão da distribuição temporal das várias Temáticasde estudo, das atividades e respectivas orientações de trabalho, de modo a quepossa planear, organizar e desenvolver o seu estudo. Esta informação écomplementada por orientações que deverá consultar com regularidade nestaSala de Aula Virtual.Apresentase o exemplo de um possível Plano de Trabalho, distribuído pelosdiversos meses (entradas seguintes). A coluna – O que se espera do Estudante– tem como objectivo fornecer todas as orientações específicas que o docenteentenda como pertinentes para orientar o estudo e o trabalho dos seus alunos nodesenvolvimento das temáticas propostas. O exemplo é apresentado a títulomeramente indicativo. Apague este último parágrafo, por favor, quando terminarde elaborar o seu PUC:
7.1. Primeiro mês
Mês 1
Outubro O que se espera doestudante
1ª Semana
5 a 11Início do módulo programação
funcional, onde vai ser estudada
a linguagem OCaml.
Instale no seu computador o
interpretador da linguagem.
No fórum apropriado, tendo em
conta o roteiro do PUC,
proponha materiais online sobre
programação funcional e sobre
linguagem OCaml, e tenha em
atenção a opinião dos seus
colegas e do docente
responsável. Pode ainda optar
por ler o livro recomendado na
bibliografia opcional (neste caso,
recomendamse os capítulos 1 a
6).
Este módulo tem a duração de 5
semanas e inclui o estudo da
matéria correspondente e a
resolução de um efólio que
incidirá sobre este tema. Deve
programar o seu estudo tendo
em conta este calendário,
resolver os exercícios e colocá
los no fórum respectivo para
discussão com os seus colegas.
2ª Semana
12 a 18
Continuação do módulo 1.
Troque ideias com os seus colegas
no fórum respectivo.
3ª Semana
19 a 25
Continuação do módulo 1.
Troque ideias com os seus colegas
no fórum respectivo.
Faça a sua escolha doregime de avaliação quepretende (avaliação
contínua ou exame final)até à data indicada. Casonão efectue nenhumaescolha, será colocado noregime de avaliaçãocontínua.
Lançamento do efólio A,logo após o fecho da escolhado regime de avaliação.
4ª Semana
26 a 1 de Novembro
Continuação do módulo 1.
Troque ideias com os seus colegas
no fórum respectivo.
7.2. Segundo mês
Mês 2
Novembro O que se espera doestudante
1ª Semana
2 a 8
Fim do módulo 1.
Troque ideias com os seus colegas
no fórum respectivo.
Entregue o efólio A até aodia 9, às 23h55m.
2ª Semana
9 a 15
Início do módulo programação em
lógica, onde vai ser estuadada a
linguagem Prolog.
Instale no seu computador um dos
ambientes de desenvolvimento de
Prolog aconselhase o Yap ou o
SWIProlog.
No fórum apropriado, tendo em
conta o roteiro do PUC, proponha
materiais online sobre programação
em lógica e sobre linguagem Prolog,
e tenha em atenção a opinião dos
seus colegas e do docente
responsável. Pode ainda optar por
ler o livro recomendado na
bibliografia opcional ou ainda o
manual em português indicado.
Este módulo tem a duração de 5
semanas e inclui o estudo da matéria
correspondente e a resolução de um
efólio que incidirá sobre este tema.
Deve programar o seu estudo tendo
em conta este calendário, resolver
os exercícios e colocálos no fórum
respectivo para discussão com os
seus colegas.
3ª Semana
16 a 22
Continuação do módulo 2.
Troque ideias com os seus colegas
no fórum respectivo.
4ª Semana
23 a 29
Continuação do módulo 2.
Troque ideias com os seus colegas
no fórum respectivo.
Lançamento do efólio B, no dia
27.
7.3. Terceiro mês
Mês 3
Dezembro O que se espera doestudante
1ª Semana
30 de Novembro a 6Continuação do módulo 2.
Troque ideias com os seus
colegas no fórum respectivo.
2ª Semana
7 a 13Fim do módulo 2.
Troque ideias com os seus
colegas no fórum respectivo.
Entregue o efólio B até ao dia
14, às 23h55m.
3ª Semana
14 a 20Início do módulo programação
orientada por objectos, onde vai
ser estuadada a linguagem
Java.
Instale no seu computador a
última versão do JDK (Java
Development Kit) e de um IDE
(Integrated Development
Environment). Aconselhase a
instalação do Netbeans, mas
podem também usar, por
exemplo, o Eclipse.
No fórum apropriado, tendo em
conta o roteiro do PUC,
proponha materiais online sobre
programação orientada por
objectos e sobre linguagem
Java, e tenha em atenção a
opinião dos seus colegas e do
docente responsável. Pode
ainda optar por ler o livro
recomendado na bibliografia
opcional (neste caso,
recomendamse os capítulos 1 a
5 e o capítulo 8).
Este módulo tem a duração de 4
semanas e inclui o estudo da
matéria correspondente. Deve
programar o seu estudo tendo
em conta este calendário,
resolver os exercícios e colocá
los no fórum respectivo para
discussão com os seus colegas.
7.4. Quarto mês
Mês 4
Janeiro O que se espera doestudante
1ª Semana
4 a 10
Continuação do módulo 3.
Troque ideias com os seus colegas
no fórum respectivo.
2ª Semana
11 a 17
Continuação do módulo 3.
Troque ideias com os seus colegas
no fórum respectivo.
3ª Semana
18 a 24
Fim do módulo 3.
Troque ideias com os seus colegas
no fórum respectivo.