Paradigmas de Programação 2005 – 06 Apresentação da Disciplina Equipa docente: Jorge Louçã – coordenador da disciplina, docente de EI – gab. D609 – [email protected] Nuno David – docente de ETI – gab. D633 – [email protected] Sancho Oliveira – docente de IGE – gab. D616 – [email protected] Programa: Programação declarativa. Sintaxe e significado dos programas em PROLOG. Listas e operadores. Controlo de backtraking. Input e output. Predicados prédefinidos. Operações sobre estruturas de dados. Modelos de execução de cláusulas de forma concorrente. Programação concorrente. Modelos e alternativas. Estudo da classe THREAD de JAVA dedicada à gestão de processos múltiplos. Ciclo de vida de um processo ligeiro. Prioridade. Sincronização. Recursos partilhados. Starvation e deadlock. Grupos de processos ligeiros. Outros aspectos de programação em JAVA. Acesso a Bases de Dados Relacionais. Programação em Internet (Applets). Documentação (Javadoc). Programação distribuída em rede: modelo cliente/servidor com programação concorrente. Bibliografia: Tutorial on-line da Sun Microsystems sobre programação concorrente em JAVA http://java.sun.com/docs/books/tutorial/essential/threads “Concurrent Programming in Java : Design Principles and Patterns” Doug Lea Edição Edição The Java Series “PROLOG Programming for Artificial Intelligence” Ivan Bratko Ed. Addison Wesley, 3ª edição 2001 Outra documentação distribuída na disciplina. Avaliação: Avaliação Periódica A avaliação periódica inclui três momentos de avaliação, incluindo dois trabalhos de programação em grupo e uma frequência. Grupos de 3 / 4 alunos. Primeiro trabalho Incidência : Prolog Ponderação : 20% da nota Data de Entrega: 07.10.2005 Nota mínima: 7,5 valores Segundo trabalho Incidência : programação distribuída em JAVA (inclui matéria de concorrência, prog.distr. e acesso a BD) Ponderação : 40% da nota Data de Entrega : 09.12.2005 Nota mínima: 7,5 valores Frequência Incidência : toda a matéria. Ponderação : 40% da nota final. Data de realização : no decurso da 1ª época, em data a indicar oportunamente. Na frequência é exigida uma classificação mínima de 7.5 valores para aprovação na cadeira. Apenas ficam dispensados do exame final os alunos que obtiverem a nota final de dez valores em avaliação periódica e não tenham uma nota inferior a sete e meio no teste ou em cada um dos trabalhos. Caso a nota de um trabalho seja superior à nota da frequência em mais de 4 valores e a nota da frequência seja inferior a 13 valores, o aluno será submetido a uma avaliação oral individual para a determinação da nota final da disciplina. Caso o aluno opte por não comparecer na referida avaliação oral a sua nota final será a nota do teste acrescida de dois valores. Em caso de dúvida a equipa docente reserva-se o direito de submeter o aluno a uma avaliação oral para determinação da nota final. Exame Final Exame final escrito. Os alunos que obtenham aprovação em avaliação contínua poderão fazer melhoria de nota em exame final de 2ª época desde que devidamente inscritos nos serviços académicos. Incidência : toda a matéria. Ponderação : 100% da nota final. As notas dos trabalhos práticos realizados ao longo do ano, em avaliação periódica, não são consideradas para cálculo da nota do exame final. Notas entre 7,5 e 9,5 valores dão acesso a oral. São aprovados os alunos que obtiverem nota final superior ou igual a 9,5 valores. Plano das aulas : semanas 1, 2 e 3 – Prolog 1ª aula – apresentação. 2ª aula – Posicionamento do Prolog nos diferentes Paradigmas de Programação; introdução ao Prolog; factos, regras; relações; base de conhecimentos; definição de relações; interrogação de relações; conjunção de duas condições. 3ª aula – regras recursivas; como o Prolog responde a questões; árvores de decisão; exercícios. semana 4 – Programação concorrente em Java semana 5 – Orais 1º trabalho semanas 6 e 7 – Programação concorrente em Java semana 8 – Applets + Javadoc semanas 9 e 10 – JDBC semanas 11 e 12 – Programação Distribuída em JAVA (modelo de programação distribuída com processos ligeiros e sockets) semanas 13 – 2º trabalho semana 14 – Orais 2º trabalho Horários: 2º ano de Licenciatura em Engenharia Informática Docente: Jorge Louçã 5ª-feira 13:00 – 14:20 5ª-feira 14:30 – 15:50 5ª-feira 16:10 – 17:30 Horário de dúvidas: 5ª-feira das 10:30 – 13:00, sala D609 2º ano de Licenciatura em Engenharia em Telecomunicações e Informática Docente: Nuno David 3ª-feira 11:10 – 12:30 e 13:00 – 14:20 5-feira 9:40 – 12:30 e 14:30 – 17:30 Horário de dúvidas: 3º-feira das 15:00-18:30 e 5º-feira 17:30-18:30 2º ano de Licenciatura em Informática e Gestão de Empresas Docente: Sancho Oliveira 3ª-feira: 14:30 – 15:50 (IB2), 16:10 – 17:30 (IB1) 5ª-feira: 13:00 – 14:20 (IB2), 16:10 – 17:30 (IB1) 6ª-feira: 14:30 – 15:50 (IB1), 16:10 – 17:30 (IB2) Horário de dúvidas: 3ª-feira das 10:00 – 14:30, sala D616