Unidade Curricular:Código:
Linguagens de Programação II832LPR2
Ano:Nível:Curso:Créditos:
2LicenciaturaEngenharia Informática7 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Segundo SemestrePortuguês/Inglês91
Objectivos de Aprendizagem:
Esta unidade curricular pretende que os alunos consigam compreender e utilizar os principais conceitos de desenvolvimento orientado aos objetos. Inicialmente introduzem-se os conceitos de programação orientada aos objetos (POO) que são aplicados com recurso à linguagem Java. Os alunos devem ficar habilitados a modelizar aplicações orientadas aos objetos utilizando diagramas de classes UML. Devem ainda conseguir implementar esses modelos aplicando todos os conceitos de POO disponíveis (e.g., herança, polimorfismo, etc.). Posteriormente, pretende-se que os alunos dominem o modelo de implementação de interfaces gráficas e manipulação de ficheiros (cf. texto e binários) para gestão da persistência das aplicações. Os alunos deverão ser ainda capazes de compreender e interpretar fluentemente qualquer modelo OO e implementação em Java, bem como utilizar todo o potencial da POO aplicado à resolução de múltiplos problemas de programação.
Conteúdos Programáticos:
1. Introdução à programação OO & UML
2. A tecnologia Java
3. Introdução à linguagem de programação Java
4. Aplicações gráficas (GUIs)
5. Conceitos avançados sobre Java
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos estão coerentes com os objectivos de aprendizagem na medida em que abordam os temas principais sobre a programação orientada aos objetos (POO) bem como a sua concretização na linguagem Java, que deverão ser dominados pelos alunos no final da unidade curricular. Em particular começa-se por abordar os conceitos fundamentais inerentes à programação orientada aos objetos e estruturação de programas em Java. Particulariza-se inicialmente o estudo na definição de modelos de classes e posterior implementação em Java, com base na utilização de coleções e nos mecanismos orientados aos objetos disponíveis (Cf. herança, polimorfismo, etc.). Todos os temas abordados são exemplificados com a aplicação de vários exercícios concretos. Os objectivos da aprendizagem estão portanto alinhados com os temas abordados tanto ao nível teórico-prático como prático, sendo aplicados em exemplos variados concretos tanto nas aulas como em trabalhos para casa.
Metodologias de Ensino (Avaliação Incluída):
Esta unidade curricular está organizada em aulas teórico-práticas (TP) e práticas (PR). A metodologia de ensino utilizada no âmbito das aulas TP baseia-se na exposição oral dos conteúdos programáticos e na sua imediata exemplificação com exercícios concretos sobre os temas abordados, nomeadamente os conceitos de programação orientada aos objetos em Java. Paralelamente, no contexto das aulas práticas laboratoriais, os alunos têm oportunidade de aplicar e desenvolver mais exercícios que complementam a base de experiências com os temas abordados. A avaliação é contínua, contemplando na componente TP duas frequências e na componente PL um projecto prático. As frequência têm um peso de 30% e 40% respectivamente. O projeto prático tem um peso de 30%. Para efeitos de cálculo da classificação final será necessário obter positiva a ambas as componentes individualmente (frequências TP e projecto PL).
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
As metodologias de ensino aplicadas nesta unidade curricular procuram levar os alunos a contactar e a conhecer os conceitos mais importantes de modelização orientada aos objetos bem como a sua implementação em Java. Procura-se ainda que os alunos desenvolvam competências práticas na estruturação e desenvolvimento de programas orientados aos objetos concretizados em Java. As aulas teórico-práticas e em particular as aulas práticas laboratoriais permitem um contato permanente com a modelização e implementação de aplicações orientadas aos objetos, facilitando portanto o progresso gradual no desenvolvimento de aplicações em Java. Esta experiência e contato com contextos práticos específicos e concretos permite ainda melhorar o conhecimento e aplicação da programação orientada aos objetos, uma vez que é essencial para o desenvolvimento técnico e de competências de programação.
Bibliografia:
[1] H.E. Eriksson and M. Penker, UML Toolkit, John Wiley & Sons Inc., October 1997.
[2] Eckel, Bruce, Thinking in Java, 4th Ed., Prentice Hall, 2006, URL: http://mindview.net/Books/TIJ4 (2014).
[3] Hubbard, J. R., Programação em Java, Schaums easy Outlines, McGraw Hill, 2002.
[4] Paul Deitel, Harvey Deitel, Java How to Program, 9th Ed., Deitel, 2012.
[5] Sun, The Java Tutorial, A practical guide for programmers, URL: http://java.sun.com/docs/books/tutorial/index.html (2003).
Docente (* Responsável):
Christophe Soares (csoares@ufp.edu.pt)
Rui Silva Moreira (rmoreira@ufp.edu.pt)