Este documento apresenta os detalhes de uma disciplina de programação aplicada III ministrada pelo professor Daniel Arndt Alves na Universidade Presbiteriana Mackenzie. Ele descreve os objetivos da disciplina, o conteúdo programático, as regras, o sistema de notas e datas importantes.
Mackenzie: Apresentação da Disciplina Programação Aplicada III
1. Universidade Presbiteriana Mackenzie
Aula 1: Apresentação da Disciplina
Prof. Ms. Daniel Arndt Alves
Faculdade de Computação e Informática
Técnicas de
Programação Aplicada III
Apresentação da Disciplina 1Daniel Arndt Alves
2. Tópicos da Aula
• Professor
• Objetivos
• Conteúdo Programático
• Referências Bibliográficas
• Regras
• Notas
• Comunicados & Avisos
• Datas Importantes
Apresentação da Disciplina 2Daniel Arndt Alves
3. Tópicos da Aula
• Padrões de Nomenclatura
• Um Mau Layout
• Um Bom Layout
Apresentação da Disciplina 3Daniel Arndt Alves
4. Professor
• Daniel Arndt Alves
– Bacharel em Ciência da Computação
– Mestre em Engenharia Elétrica
• http://www.progdan.pro.br/
Apresentação da Disciplina 4Daniel Arndt Alves
5. Professor
• Mackenzie
– Professor PPI da Faculdade de
Computação e Informática
– Administrador do Mackenzie Virtual (Moodle) –
http://ead.mackenzie.br/moodle/
– Administrador do Cluster de Pesquisa
em Computação Evolutiva e Autômatos
Celulares – http://ecca.mackenzie.br/
Apresentação da Disciplina 5Daniel Arndt Alves
6. Objetivos
• Cognitivos
– Aprender fundamentos teóricos e
práticos gerais necessários ao projeto
e desenvolvimento de aplicações
baseada em componentes
– Conhecer e compreender os conceitos de
reusabilidade e testabilidade
– Estudar e distinguir as diversas fases do processo
de desenvolvimento de aplicações baseadas em
componentes
Daniel Arndt Alves Apresentação da Disciplina 6
7. Objetivos
• Habilidades
– Ser capaz de identificar as tarefas
inerentes a cada fase do processo de
desenvolvimento de aplicações
baseadas em componentes.
– Ser capaz de escolher metodologias
adequadas para projeto e desenvolvimento de
aplicações baseadas em componentes.
– Ser capaz de avaliar e utilizar funcionalidades de
servidores de aplicação e fraweworks para a
implementação de funcionalidades típicas de uma
aplicação baseadas em componentes.
Daniel Arndt Alves Apresentação da Disciplina 7
8. Objetivos
• Atitudes
– Ter consciência da necessidade de
busca de inovações tecnológicas,
principalmente na área de aplicações
baseadas em componentes
– Valorizar trabalho cooperativo para
desenvolvimento de tarefas complexas
Daniel Arndt Alves Apresentação da Disciplina 8
9. Conteúdo Programático
• Conceitos Básicos de Objetos Distribuídos
– Remote Procedure Calls
– Serialização
– Proxies e Adapters (stubs)
– Middlewares
– Prática em RPC
Daniel Arndt Alves Apresentação da Disciplina 9
10. Conteúdo Programático
• Java EE
– Visão geral da plataforma
– Comparação com demais alternativas de mercado
– Classes e pacotes
– APIs, IDEs e servidores
de suporte
– Prática em Java EE
Daniel Arndt Alves Apresentação da Disciplina 10
11. Conteúdo Programático
• Java RMI
– Conceitos introdutórios
– Classes e pacotes
– RMI sobre JRMP e
sobre IIOP
– Prática em RMI
• EJB
– Conceitos básicos em EJB
– Tipos de EJB (session, messagen-driven, entity)
– Prática em EJB
Daniel Arndt Alves Apresentação da Disciplina 11
12. Conteúdo Programático
• JMS
– Modelos de trocas de
mensagens
– Elementos da API JMS
– Prática em JMS
• Persistência com JPA
– Conceitos de ORM e POJOs
– Frameworks de persistência
– Prática em JPA com Hibernate
Daniel Arndt Alves Apresentação da Disciplina 12
13. Conteúdo Programático
• Java Web Services
– Conceitos básicos em Web Services
– Prática em Java Web
Services
Daniel Arndt Alves Apresentação da Disciplina 13
14. 14Daniel Arndt Alves Apresentação da Disciplina
Referências Bibliográficas
• RUBINGER, A. L. E BURKE, B. Enterprise
Javabeans 3.1. 2. ed. O'Reilly, 2010.
• YANG, D. Java Persistence with JPA.
Outskirts Press, 2010.
15. 15Daniel Arndt Alves Apresentação da Disciplina
Referências Bibliográficas
• JENDROCK, E. EVANS, I. GOLLAPUDI, D. E
HASSE, K. The Java EE 6 Tutorial: Basic
Concepts. 4. ed. Prentice-Hall, 2010.
17. Regras
• Pontualidade
– O Professor dará o melhor de si
para se apresentar no horário de
início das aulas.
– Os Alunos darão o melhor de si para se
apresentarem no horário de início das aulas.
Daniel Arndt Alves Apresentação da Disciplina 17
18. Regras
• Presença
– A chamada será realizada no início de
cada aula.
– Eventualmente, a chamada poderá ser realizada
mais tarde, sem que isto deva ser entendido como
alteração desta regra.
Daniel Arndt Alves Apresentação da Disciplina 18
19. Regras
• Presença
– Os Alunos deverão gerenciar a sua
cota de faltas adequadamente,
levando em conta o tráfego da cidade,
as responsabilidades em seu trabalho,
feriados, possíveis problemas de saúde, distrações
durante a chamada, etc.
Daniel Arndt Alves Apresentação da Disciplina 19
20. Regras
• Presença
– O Professor não dará presença a um
aluno ausente, qualquer que seja a
razão. Abonos de faltas deverão ser
discutidos diretamente com a Secretaria Geral da
Universidade.
Daniel Arndt Alves Apresentação da Disciplina 20
21. Regras
• Entrega de Trabalhos
– Os trabalhos devem ser entregues na
data determinada pelo Professor.
– As atividades práticas serão dimensionadas para
sua realização no período da aula de Laboratório.
– Não serão aceitos trabalhos após este prazo!
Daniel Arndt Alves Apresentação da Disciplina 21
22. Regras
• Entrega de Trabalhos
– Atrasos poderão eventualmente ser
considerados em casos de doença,
sempre fundamentada em atestado
médico e requerimento apresentado à Secretaria
da FCI, no dia subsequente à alta médica
Daniel Arndt Alves Apresentação da Disciplina 22
23. Regras
• Datas das Provas
– As datas definidas para as provas
desde o início do curso pela Coordenação do
curso de Sistema de Informação, não serão
alteradas em hipótese alguma.
Daniel Arndt Alves Apresentação da Disciplina 23
24. Regras
• Datas das Provas
– O Aluno poderá, eventualmente,
efetuar a prova em outro dia, a ser determinado
pelo professor, nas seguintes situações:
• Doença – fundamentada por atestado
médico e requerimento apresentado
à Secretaria da FCI.
Daniel Arndt Alves Apresentação da Disciplina 24
25. Regras
• Datas das Provas
– O Aluno poderá, eventualmente,
efetuar a prova em outro dia, a ser
determinado pelo professor, nas
seguintes situações:
• Atividade no Trabalho – fundamentada por
correspondência da empresa, em papel timbrado,
esclarecendo o motivo e declarando ter sido informada
pelo aluno sobre a realização da prova, e requerimento
apresentado à Secretaria da FCI.
Daniel Arndt Alves Apresentação da Disciplina 25
26. Regras
• Datas das Provas
– O requerimento deve ser
apresentado à Secretaria da FCI no dia
subsequente à ocorrência.
Daniel Arndt Alves Apresentação da Disciplina 26
27. Notas
• Haverá 1 prova parcial (P1), Listas de
Exercícios e Micro-Avaliações (Ex),
mais participação em aula, e a nota de
Laboratório (Lab), com os pesos:
• N1 = (30 P1 + 20 PROCOMP + 10 Ex + 40
Lab)/100 + Participação
• MF = (N1 + PF)/2
Daniel Arndt Alves Apresentação da Disciplina 27
28. Notas
• A nota de Participação será composta
pelos seguintes critérios:
– 60% pelos Exercícios Complementares submetidos
no ambiente Moodle
– 40% do tempo gasto na interação com os recursos
disponíveis no ambiente Moodle
Daniel Arndt Alves Apresentação da Disciplina 28
29. Notas
• É considerado um fator extremamente
negativo a prática de plágio.
• Quaisquer cópias de trabalhos ou exercícios
detectados, sejam de
outros colegas, ou a partir
de websites na Internet
serão atribuídas nota
0 (zero) a todos os
envolvidos!
Daniel Arndt Alves Apresentação da Disciplina 29
30. Notas
• O desempenho nas aulas será
registrado no Ambiente Moodle,
no espaço dedicado à disciplina de
Laboratório.
• O aluno poderá consultar a qualquer
momento suas notas parciais através do
link “notas” no ambiente Moodle.
Daniel Arndt Alves Apresentação da Disciplina 30
31. Notas
• Durante o semestre será ministrado
um trabalho em grupo, sendo a
entrega feita através do Ambiente Moodle
(Mackenzie Virtual).
• Não serão aceitos trabalhos entregues fora do
prazo estipulado, ou entregues por outros
meios.
Daniel Arndt Alves Apresentação da Disciplina 31
32. Comunicados & Avisos
• Todos os comunicados e avisos
referentes à disciplina serão postados através
do Ambiente Moodle
(Mackenzie Virtual).
• O Aluno deve acompanhar regularmente seu
e-mail @mackenzista.com.br ou redirecioná-lo
ao provedor de sua preferência.
Daniel Arndt Alves Apresentação da Disciplina 32
33. Comunicados & Avisos
• Todas as atividades estarão
disponíveis no Ambiente Moodle
(Mackenzie Virtual).
• O Aluno deverá postar seus exercícios e
trabalhos somente no Ambiente Moodle
(Mackenzie Virtual)
• Não serão aceitos trabalhos entregues fora do
prazo estipulado, ou entregues por outros meios
Daniel Arndt Alves Apresentação da Disciplina 33
34. 34
Datas Importantes
• 11 a 24/Set./2013 – Provas Parciais
• 23/Out./2013 – PROCOMP
• 25/Nov. – 15/Dez./2013 – Provas Finais e Vistas
Daniel Arndt Alves Apresentação da Disciplina 25
35. Padrões de Nomenclatura
Daniel Arndt Alves Apresentação da Disciplina 35
“Programming is best regarded
as the process of creating
works of literature, which are
meant to be read.”
Donald E. Knuth,
Literate Programming
36. Padrões de Nomenclatura
Daniel Arndt Alves Apresentação da Disciplina 36
“Any fool can write code that a
computer can understand.
Good programmers write code
that humans can understand.”
Martin Fowler,
Refactoring, Improving the
Design of Existing Code
37. Padrões de Nomenclatura
• Variáveis
– int umaVariavel;
– int uma_Variavel;
• Funções
– public void umaFuncao (int
umParametro);
– public void umaFuncao (int
um_Parametro);
Daniel Arndt Alves Apresentação da Disciplina 37
38. Padrões de Nomenclatura
• Classes
– public class umaClasse;
– public class uma_Classe;
• Constantes
– static final String ERROR =
"Erro!”;
Daniel Arndt Alves Apresentação da Disciplina 38
39. Um Mau Layout
// Atribuindo n dividido por 2 em r
r = n / 2;
// Loop while r-(n/r) enquanto for maior que t
while(abs(r - (n / r)) > t){
// Atribuindo a metade de r+(n/r) em r
r = 0.5 * (r + (n / r));
}
Daniel Arndt Alves Apresentação da Disciplina 39
40. Um Bom Layout
/*
* Raiz quadrada de n com
* aproximação de
* Newton-Raphson
*/
r = n / 2;
while(abs(r - (n / r)) > t){
r = 0.5 * (r + (n / r));
}
Daniel Arndt Alves Apresentação da Disciplina 40