Paradigmas de Linguagem de Programação II (Teórica)
PUC - CAMPINAS - Segundo Semestre de 2011
Conteúdo desta página
Notícias de última hora
[06/12/2011] Não deixem de fazer a avaliação docente. Os maiores beneficiados são vocês.
[06/12/2011] Caso alguém queira fazer sub para melhorar a nota da teoria, teremos revisão na terça (13/12) e prova na quinta (15/12). Por favor, manifestem-se por e-mail acerca do interesse na sub.
[25/11/2011] Estão disponíveis listas de exercícios a respeito de coleções e threads.
[23/11/2011] Os slides das apresentações de todos os grupos já estão disponíveis. Os utilizem para estudar para a prova.
[22/11/2011] A prova poderá explorar todo o conteúdo apresentado desde o início do semestre, porém o peso maior estará nos assuntos explorados depois da primeira prova (coleções, threads, Android e linguagens apresentadas nos trabalhos).
[22/11/2011] Observem que nossa segunda prova será dia 1 (quinta da semana que vem). Quinta teremos as últimas apresentações e terça teremos a revisão para a prova.
[10/11/2011] Criei uma página com dicas para desenvolvimento em Android.
[09/11/2011] Foi atualizada a agenda de apresentação dos trabalhos, confiram. Devido ao "encontro com ex-alunos", ocorrido na terça, além da alteração na agenda, tive de alterar o tempo de apresentação. Vocês agora terão de 15 a 25 minutos para apresentar e mais 5 minutos para perguntas.
[08/11/2011] Atualizei a página do trabalho indicando quem entregou o relatório e já disponibilizei também a apresentação daqueles que entregaram. Note que a entrega do relatório tem de ser feita hoje e pode utilizar o AVA para isso, mas a apresentação pode ficar para quinta. Assim que decidir, atualizo a agenda das apresentações. Porém sugiro que as 3 primeiras equipes estejam preparadas para apresentar quinta (10/11).
[07/11/2011] Amanhã os alunos de PLP2 devem se dirigir para a sala 800, onde ocorrerá o "Encontro com ex-alunos" (8:30 às 11:30). Em virtude desta atividade teremos uma alteração na agenda de apresentação dos trabalhos, que será divulgada em momento oportuno nesta página. A entrega do trabalho impresso (relatório) fica mantida para amanhã (8/11) ao longo desta atividade.
[25/10/2011] Coloquei na página de PLP2 (prática) a solução parcial da lista 5 da prática (lista conteúdo de diretório). Tal solução foi apresentada hoje em sala de aula.
[24/10/2011] Os grupos e suas respectivas linguagens estão listados aqui. Ainda há alunos sem grupo. Por favor, definir isso urgentemente e comunicar ao professor.
[18/10/2011] Enunciado do trabalho sobre outras linguagens de programação anunciado. Entrega em 08/11 e apresentações entre 08/11 e 24/11.
[30/09/2011] Seguem exercícios relativos à tipos genéricos. Bons estudos.
[28/09/2011] Seguem exercícios relativos à revisão de OO.
[27/09/2011] Como exercício, modifiquem o código da pilha (classe genérica), apresentado em sala de aula, acrescentando um método que a permita alterar de tamanho. A classe deve permitir crescer sempre e diminuir quando possível (sempre que top for menor ou igual ao novo tamanho).
[26/09/2011] Disponibilizei código de exemplo para tratar arquivos. Segue sugestão de exercícios.
[20/09/2011] Como sugestão de exercício, revisem o código e adicionem funcionalidades, por exemplo: elipse, círculo, polyline, polígono, texto, seletor de fontes, seletor de cores e estilo de linha.
[20/09/2011] Disponibilizei o exemplo do Editor Gráfico que fizemos hoje em sala de aula. O problema estava na variável comando em actionPerformed, que tinha o mesmo nome de um atributo. Faltava também um repaint depois de adicionar a reta no ArrayList formas. Dei uma refatorada (otimizada/revisada) no código. Criei novos construtores para ponto e reta. Criei as classes Retangulo e Quadrado. Adicionei uma opção para fazer quadrado.
[10/09/2011] Criei uma nova página, onde escrevi dicas sobre Java.
[09/09/2011] Semana que vem não temos aula devido à Semana de Atividades Integradas do CEATEC. Aproveitem os cursos/palestras.
[06/09/2011] Observem que está disponível uma seção Datas Importantes com as datas das avaliações.
[06/09/2011] Observem que está disponível uma seção Exemplos com todos os exemplos dado em sala de aula.
[30/08/2011] Solução para o exercício da Garagem disponível no site de PLP2 Prática.
[30/08/2011] Site da disciplina no ar.
Docente
André Atanasio Maranhão Almeida
Email: andre.almeida@puc-campinas.edu.br
Dias, horários e local das aulas
Terça e quinta das 8:00 às 9:40. Sala 16 do H-8 na terça e sala 17 do H-8 na quinta.
Dúvidas
As dúvidas devem ser esclarecidas o quanto antes. Não hesitem em interromper as aulas para esclarecer dúvidas.
Uma outra opção é usar o Fórum no Ambiente Virtual de Aprendizagem.
Datas importantes
Revisão P1: 04/10
1ª prova: 06/10
Início apresentação de trabalhos: 08/11
Revisão P2: 29/11
2ª prova: 01/12
Notas finais: 06/12
Revisão sub: 13/12
Substitutiva: 15/12
Material didático
Revisão: Classes 12, Métodos2, Classes 22, Herança2, Polimorfismo2
1: Material de autoria da Editora Prentice Hall.
2: Material de autoria do Prof. Juan Manuel Adán Coello.
Links recomendados
Exemplos:
Revisão POO: Formas
GUI (slides): LabelTest, TextFieldTest, ButtonTest, CheckBoxTest, RadioButtonTest, ComboBoxTest, ListTest, MultipleSelection, MouseTracker, MouseDetails, KeyDemo, FlowLayoutDemo, BorderLayoutDemo, GridLayoutDemo, PanelDemo, Painter, ShowColors, ShowColors2, Fonts, Metrics, LinesRectsOvals, DrawArcs, DrawPolygons, Shapes, Shapes2
GUI (aula): CalculadoraSimples, Calculadora 1.0, Calculadora 2.0, EditorGrafico, Livraria
Arquivos: ArquivoTexto, ArquivoSerializacao
Conteúdo programático
Interface gráfica com o usuário (GUI)
Tratamento de exceções
Arquivos e fluxos
Tipos genéricos
Coleções
Programação concorrente com threads
Visão geral de outras linguagens relevantes: Cobol, Haskell, Python, Ruby, Lua, Java Script, PHP, C#, Java Fx
Bibliografia
DEITEL, H.M. and DEITEL, P.J.; Java: Como Programar, 6a. ed., Pearson, 2006.
HORSTMANN, C.S., CORNELL, G. Core Java™ 2 Volume I - Fundamentals, Eighth Edition. Prentice Hall, 2007.
HORSTMANN, C.S., CORNELL, G. Core Java™ 2 Volume II – Advanced Features, Eigth Edition. Prentice Hall, 2008.
FOWLER, M.,UML Distilled, 3rd. ed. Addison Wesley, 2003.
ECKEL, B. Thinking in Java, 3rd Edition Revision 4.0 http://www.mindview.net/Books/TIJ/
LINDEN, P, Simplesmente Java 2: Guia Autorizado. ALTA BOOKS, 2005
PAGE-JONES, M., Fundamentals of Object-Oriented Design in UML Addison-Wesley, 2003.
Avaliação:
A avaliação da aprendizagem de PLP2 (teórica) se dará por meio de 2 provas, P1 e P2. A média da teoria, MT, se dará da seguinte forma.
MT = 0,3*P1 + 0,7*P2
Haverá ainda uma prova substitutiva (opcional), cuja nota substituirá a menor das notas entre P1 e P2.
As notas de PLP2 teórica e prática, dada por MP, serão combinadas em uma única nota para ser inserida no sistema acadêmico, onde aparece apenas PLP2. A combinação destas se dá da seguinte forma.
Se MT e MP >= 5,0
Então MF = (0,7*MT + 0,3*MP)
Senão MF = min(MT,MP)