linguagens de programação 2015/2 -...
TRANSCRIPT
![Page 1: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/1.jpg)
Linguagens de Programação 2015/2
Vítor E. Silva Souza
([email protected])http://www.inf.ufes.br/~vitorsouza
Departamento de Informática
Centro Tecnológico
Universidade Federal do Espírito Santo
![Page 2: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/2.jpg)
Antes de mais nada...
Agosto 2015 Linguagens de Programação -‐ 2015/2 2
Todos os slides apresentadosdurante o curso (inclusive este) serão
publicados na página do curso.
O programa da disciplina encontra-se disponível também na secretariado Departamento de Informática.
![Page 3: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/3.jpg)
Página do curso
Agosto 2015 Linguagens de Programação -‐ 2015/2 3
http://www.inf.ufes.br/~vitorsouza/pt/teaching/lp-20152/
É responsabilidade do alunomanter-se informado!
![Page 4: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/4.jpg)
Sobre o professor• Nome: Vítor E. Silva Souza• Website: http://www.inf.ufes.br/~vitorsouza• Contato: [email protected] / 4009-‐2196
– Twitter:@vitorsouzabr• Sala: CT-‐7, sala 17 (térreo).
Agosto 2015 Linguagens de Programação -‐ 2015/2 4
![Page 5: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/5.jpg)
Sobre o curso• Código: INF 09307 (CH semestral: 60h);• Ementa: definição de linguagens: sintaxe e semântica. Paradigmas de programação. Modelos de implementação: compilação e interpretação. Visibilidade de nomes. Comunicação entre unidades. Alocação estática e dinâmica de memória. Subprogramas. Tipos abstratos de dados. Unidades genéricas. Tratamento de exceções. Noções de programação em linguagens funcionais e lógicas. Estudo comparativo de linguagens;
(Continua)
Agosto 2015 Linguagens de Programação -‐ 2015/2 5
![Page 6: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/6.jpg)
Sobre o curso• Objetivo: proporcionar uma visão geral sobre os conceitos definidos em várias linguagens de programação em diferentes paradigmas. Possibilitar que o aluno tenha contato com diversas linguagens de programação modernas. Capacitar o aluno para que ele possa analisar e escolher linguagens de programação;
• Metodologia: aulas expositivas e exercícios em sala de aula, seminários;
• Aulas: quartas e sextas-‐feiras das 9h às 11h.
Agosto 2015 Linguagens de Programação -‐ 2015/2 6
![Page 7: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/7.jpg)
Estrutura do curso1. Propriedades, paradigmas e evolução de linguagens de
programação;2. Amarrações, identificadores, definições e declarações;3. Valores e tipos de dados: tipos primitivos, tipos compostos;4. Variáveis e constantes, gerência de memória principal e
secundária;5. Tipos de comandos e expressões, avaliação de expressões;6. Modularização, subprogramas, tipos abstratos de dados,
compilação separada;7. Sistemas de tipos, polimorfismo: coerção, sobrecarga,
paramétrico e inclusão;8. Exceções: especificação, tratamento, propagação;9. Concorrência: motivação, problemas, suporte das LPs;10. Avaliação de LPs: critérios gerais e específicos, exemplos;11. Seminários sobre linguagens de programação.
Agosto 2015 Linguagens de Programação -‐ 2015/2 7
![Page 8: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/8.jpg)
Bibliografia• F. M. Varejão. Linguagens de programação: Java, C e C++ e outras:
conceitos e técnicas. Campus, 2004;– Disponível para download no site do professor Flávio Varejão: http://www.inf.ufes.br/~fvarejao/livroLP.html.
• A. B. Tucker, R. E. Noonan. Linguagens de Programação –Princípios e Paradigmas, 2a edição. McGraw Hill, 2009;
• R. W. Sebesta. Conceitos de Linguagens de Programação, 9a edição. Bookman, 2011..
Agosto 2015 Linguagens de Programação -‐ 2015/2 8
![Page 9: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/9.jpg)
Sistema de avaliação• Três provas individuais (P1, P2 e P3) valendo 10 cada, 1 seminário em grupo (S) valendo 10 e um trabalho prático em grupo (T) valendo 1;
• Cálculo da nota parcial: NP = (P1 + P2 + P3 + S * T ) / 4
• NP >= 7 è aluno aprovado;– Nota Final: NF = NP;
• NP < 7 è Aluno pode fazer Prova Final (PF);– Nota Final: NF = (NP + PF) / 2;– Aprovação: A = (NF >= 5).
Agosto 2015 Linguagens de Programação -‐ 2015/2 9
![Page 10: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/10.jpg)
Registros de notas e presença• Presença de cada aula e notas de cada avaliação serão registradas no sistema acadêmico da Ufes;
• O aluno deve ter acesso a esta informação via Portal do Aluno / Diário de Classe;
• É responsabilidade do aluno acompanhar seu percentual de presença e suas notas.
Agosto 2015 Linguagens de Programação -‐ 2015/2 10
Obs.: o sistema acadêmico registra faltas em número de horas-aula. Cada aula possui duas horas-aula.
![Page 11: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/11.jpg)
Sobre presença e faltas• Registrada por meio de assinatura em lista de presença, disponível aos alunos durante toda a aula;
• Presença mínima em 75% das aulas:– Art. 51 Regimento CT, art. 104 Regimento Geral Ufes;– Na prática: 45 das 60 horas-‐aula, 23 das 30 aulas;– O sistema acadêmico da Ufes reprova por falta automaticamente;
– Eu não vou inserir dados falsos no sistema.• Atestados (ou similares) não abonam faltas;• Assinaturas claramente diferentes serão consideradascomo falta.
Agosto 2015 Linguagens de Programação -‐ 2015/2 11
![Page 12: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/12.jpg)
Seminário e trabalho prático
1. Python2. JavaScript3. PHP4. C#5. Groovy6. Scala
7. Haskell8. Go9. Ruby10. Shell Script11. Lua12. Perl
Agosto 2015 Linguagens de Programação -‐ 2015/2 12
• Alunos serão divididos em 10 grupos;• Cada grupo recebe uma linguagem da lista abaixo;• O grupo deve preparar o seminário e implementar o trabalho prático na linguagem escolhida;
13. ActionScript14. Objective C / Swift15. Erlang16. Rust17. Dart
![Page 13: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/13.jpg)
Seminário• Em aproximadamente 1h30 de duração, apresentar:
– Um mini-‐tutorial sobre a linguagem;– Apresentação e avaliação da linguagem usando os conceitos aprendidos no curso;
– Demonstração de como o trabalho foi resolvido naquela linguagem.
• Escolha da linguagem:– Até dia 25/08 enviar o nome dos membros do grupo e cinco linguagens, em ordem de preferência;
– O professor irá alocar as linguagens aos grupos;– Quem não enviar será alocado compulsoriamente.
Agosto 2015 Linguagens de Programação -‐ 2015/2 13
![Page 14: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/14.jpg)
Seminário• Arguição (afeta a nota S):
– Após a apresentação do seminário;– Perguntas teóricas sobre a LP apresentada;– Resposta e avaliação individuais.
• Importância da abordagem teórica:– Durante o curso veremos a teoria por trás das LPs;– O seminário deve conter informações práticas (mini-‐tutorial) da LP;
– Porém é mais importante que contenha informaçõesteóricas sobre a LP!
Agosto 2015 Linguagens de Programação -‐ 2015/2 14
![Page 15: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/15.jpg)
Trabalho prático• Resolução de um problema especificado pelo professor na linguagem escolhida;
• Apresentação durante o seminário ou agendamento de horário com o professor;– Deve ser realizada até dia 04/12 (fim do período).
• Grupo pode apresentar em computador portátil próprio, no do professor ou no LabGrad:– O professor deve ser contatado com antecedênciacaso a dupla tenha dificuldades de desenvolver naquela linguagem no LabGrad!
• O código-‐fonte deve ser entregue ao professor.
Agosto 2015 Linguagens de Programação -‐ 2015/2 15
![Page 16: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/16.jpg)
Provas• P1: primeira metade da parte teórica do curso;
– Introdução, amarrações, valores e tipos de dados, variáveis e constantes, expressões e comandos;
• P2: segunda metade da parte teórica do curso;– Modularização, polimorfismo, exceções, concorrência, avaliação de linguagens.
• P3: prova sobre o conteúdo dos seminários;– Perguntas sobre o que vocês apresentarem sobre as LPs escolhidas.
Agosto 2015 Linguagens de Programação -‐ 2015/2 16
![Page 17: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/17.jpg)
Datas importantes
Agosto 2015 Linguagens de Programação -‐ 2015/2 17
No site
Data Descrição12/08/2015 Primeira aula do curso (após a Seng)
25/08/2015 Prazo para definição dos grupos09/09/2015 Prova Parcial 0125/09/2015 Não haverá aula
14/10/2015 Prova Parcial 0221/10/2015 Início dos Seminários28/10/2015 Feriado – Dia do Servidor Público30/10/2015 Não haverá aula
02/12/2015 Prova Parcial 0304/12/2015 Prazo para entrevistas (trabalho)11/12/2015 Prova Final
![Page 18: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/18.jpg)
Atendimento fora da aula• Informações no site, na seção Ensino;• Terças, quartas e quintas-‐feiras em horário de trabalho;• Não é garantido atendimento sem agendamento;• Alunos que agendarem horário terão prioridade;
• Atendimento será suspenso nas 24h que antecedem a prova e os prazos para entrega de trabalhos;
• Alunos que não agendarem apresentação do trabalho prático até a data limite receberão nota 0. Não há agendamento após fim do período.
Agosto 2015 Linguagens de Programação -‐ 2015/2 18
http://vitorsouza.youcanbook.me/
![Page 19: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/19.jpg)
Atendimento fora da aula
Agosto 2015 Linguagens de Programação -‐ 2015/2 19
![Page 20: Linguagens de Programação 2015/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20152-a... · Antes&de&mais&nada... Agosto&2015 Linguagens&de&Programação&82015/2 2 Todos](https://reader030.vdocuments.mx/reader030/viewer/2022040705/5e037ca25de3a615b42d1cde/html5/thumbnails/20.jpg)
DÚVIDAS?
Agosto 2015 Linguagens de Programação -‐ 2015/2 20