Linguagens de Programação 2016/2 -...

20
Linguagens de Programação 2016/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

Transcript of Linguagens de Programação 2016/2 -...

Page 1: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Linguagens de Programação 2016/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 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Antesdemaisnada...

Agosto2016 LinguagensdeProgramação- 2016/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 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Páginadocurso

Agosto2016 LinguagensdeProgramação- 2016/2 3

http://www.inf.ufes.br/~vitorsouza/pt/teaching/lp-20162/ É responsabilidade do aluno

manter-se informado!

Page 4: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Sobreoprofessor• Nome: VítorE.SilvaSouza• Website: http://www.inf.ufes.br/~vitorsouza• Contato:[email protected] /4009-2196

– Twitter:@vitorsouzabr• Sala: CT-7,sala17(térreo).

Agosto2016 LinguagensdeProgramação- 2016/2 4

Page 5: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Sobreocurso• Código: INF09307(CHsemestral:60h);• Ementa: definiçãodelinguagens:sintaxeesemântica.Paradigmasdeprogramação.Modelosdeimplementação:compilaçãoeinterpretação.Visibilidadedenomes.Comunicaçãoentreunidades.Alocaçãoestáticaedinâmicadememória.Subprogramas.Tiposabstratosdedados.Unidadesgenéricas.Tratamentodeexceções.Noçõesdeprogramaçãoemlinguagensfuncionaiselógicas.Estudocomparativodelinguagens;

(Continua)

Agosto2016 LinguagensdeProgramação- 2016/2 5

Page 6: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Sobreocurso• Objetivo: proporcionarumavisãogeralsobreosconceitosdefinidosemváriaslinguagensdeprogramaçãoemdiferentesparadigmas.Possibilitarqueoalunotenhacontatocomdiversaslinguagensdeprogramaçãomodernas.Capacitaroalunoparaqueelepossaanalisareescolherlinguagensdeprogramação;

• Metodologia: aulasexpositivaseexercíciosemsaladeaula,seminários;

• Aulas:– Segundas-feirasdas8hàs10h;– Quartas-feirasdas9hàs11h.

Agosto2016 LinguagensdeProgramação- 2016/2 6

Page 7: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Estruturadocurso1. Propriedades,paradigmaseevoluçãodelinguagensde

programação;2. Amarrações,identificadores,definiçõesedeclarações;3. Valoresetiposdedados:tiposprimitivos,tiposcompostos;4. Variáveiseconstantes,gerênciadememóriaprincipale

secundária;5. Tiposdecomandoseexpressões,avaliaçãodeexpressões;6. Modularização,subprogramas,tiposabstratosdedados,

compilaçãoseparada;7. Sistemasdetipos,polimorfismo:coerção,sobrecarga,

paramétricoeinclusão;8. Exceções:especificação,tratamento,propagação;9. Concorrência:motivação,problemas,suportedasLPs;10. AvaliaçãodeLPs:critériosgeraiseespecíficos,exemplos;11. Semináriossobrelinguagensdeprogramação.

Agosto2016 LinguagensdeProgramação- 2016/2 7

Page 8: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Bibliografia• F.M.Varejão.Linguagensdeprogramação:Java,CeC++eoutras:

conceitosetécnicas.Campus,2004;– DisponívelparadownloadnositedoprofessorFlávioVarejão:http://www.inf.ufes.br/~fvarejao/livroLP.html.

• A.B.Tucker,R.E.Noonan.LinguagensdeProgramação–PrincípioseParadigmas,2aedição.McGrawHill,2009;

• R.W.Sebesta.ConceitosdeLinguagensdeProgramação,9aedição.Bookman,2011..

Agosto2016 LinguagensdeProgramação- 2016/2 8

Page 9: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Sistemadeavaliação• Três provasindividuais(P1,P2eP3)valendo10cada,1seminárioemgrupo(S)valendo10eumtrabalhopráticoemgrupo(T)valendo1;

• Cálculodanotaparcial:NP=(P1+P2+P3+S *T )/4

• NP>=7è alunoaprovado;– NotaFinal:NF=NP;

• NP<7è AlunopodefazerProvaFinal(PF);– NotaFinal:NF=(NP+PF)/2;– Aprovação:A=(NF>=5).

Agosto2016 LinguagensdeProgramação- 2016/2 9

Page 10: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Registrosdenotasepresença• PresençadecadaaulaenotasdecadaavaliaçãoserãoregistradasnosistemaacadêmicodaUfes;

• OalunodeveteracessoaestainformaçãoviaPortaldoAluno/DiáriodeClasse;

• Éresponsabilidadedoalunoacompanharseupercentualdepresençaesuasnotas.

Agosto2016 LinguagensdeProgramação- 2016/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 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Sobrepresençaefaltas• Registradapormeiodeassinaturaemlistadepresença,disponívelaosalunosdurantetodaaaula;

• Presençamínimaem75%dasaulas:– Art.51RegimentoCT,art.104RegimentoGeralUfes;– Naprática:45das60horas-aula,23das30aulas;– OsistemaacadêmicodaUfes reprovaporfaltaautomaticamente;

– Eunãovouinserirdadosfalsosnosistema.• Atestados(ousimilares)nãoabonamfaltas;• Assinaturasclaramentediferentesserão consideradascomo falta.

Agosto2016 LinguagensdeProgramação- 2016/2 11

Page 12: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Seminárioetrabalhoprático

1. Python2. JavaScript3. PHP4. C#5. Groovy6. Scala7. Haskell

8. Go9. Ruby10. ShellScript11. Lua12. Perl13. ActionScript14. Erlang

Agosto2016 LinguagensdeProgramação- 2016/2 12

• Alunosserãodivididosem10grupos;• Cadagruporecebeumalinguagemdalistaabaixo;• Ogrupodeveprepararoseminárioeimplementarotrabalhopráticonalinguagemescolhida;

15. Objective C/Swift16. Rust17. Dart18. VisualBasic19. Julia20. Delphi21. D

Page 13: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Seminário• Emaproximadamente1h30deduração,apresentar:

– Ummini-tutorialsobrealinguagem;– Apresentação eavaliação dalinguagemusandoosconceitosaprendidosnocurso;

– Demonstraçãodecomootrabalhofoiresolvidonaquelalinguagem.

• Escolhadalinguagem:– Atédia05/09enviaronomedosmembrosdogrupoecincolinguagens,emordemdepreferência;

– Oprofessoriráalocaraslinguagensaosgrupos;– Quemnãoenviarseráalocadocompulsoriamente.

Agosto2016 LinguagensdeProgramação- 2016/2 13

Page 14: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Seminário• Arguição(afetaanotaS):

– Apósaapresentaçãodoseminário;– PerguntasteóricassobreaLPapresentada;– Respostaeavaliação individuais.

• Importância daabordagem teórica:– Duranteocursoveremosateoriaportrás dasLPs;– Oseminário deve conter informações práticas (mini-tutorial)daLP;

– Porém é mais importante que contenha informaçõesteóricas sobre aLP!

Agosto2016 LinguagensdeProgramação- 2016/2 14

Page 15: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Trabalhoprático• Resoluçãodeumproblemaespecificadopeloprofessornalinguagemescolhida;

• Apresentaçãoduranteoseminárioouagendamentodehoráriocomoprofessor;– Deveserrealizadaatédia08/12(fimdoperíodo).

• Grupopodeapresentaremcomputadorportátilpróprio,nodoprofessorounoLabGrad:– OprofessordevesercontatadocomantecedênciacasoaduplatenhadificuldadesdedesenvolvernaquelalinguagemnoLabGrad!

• Ocódigo-fontedeveserentregueaoprofessor.

Agosto2016 LinguagensdeProgramação- 2016/2 15

Page 16: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Provas• P1:primeirametadedaparteteóricadocurso;

– Introdução,amarrações,valoresetiposdedados,variáveiseconstantes,expressõesecomandos;

• P2:segundametadedaparteteóricadocurso;– Modularização,polimorfismo,exceções,concorrência,avaliaçãodelinguagens.

• P3:provasobreoconteúdodosseminários;– PerguntassobreoquevocêsapresentaremsobreasLPsescolhidas.

Agosto2016 LinguagensdeProgramação- 2016/2 16

Page 17: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Datasimportantes

Agosto2016 LinguagensdeProgramação- 2016/2 17

No site

Data Descrição08/08/2016 Não haverá aula.

22 e 24/08/2016 Semana da Engenharia.05/09/2016 Prazo para definição dos grupos07/09/2016 Feriado – Independência do Brasil

12/09/2016 Prova Parcial 0112/10/2016 Feriado – Nossa Sra. Aparecida

17/10/2016 Prova Parcial 0224/10/2016 Início dos Seminários28/11/2016 Prova Parcial 0308/12/2016 Prazo para entrevistas (trabalho)12/12/2016 Prova Final

Page 18: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Atendimentoforadaaula• Informaçõesnosite,naseçãoEnsino;• Segundas,quartasequintasemhoráriodetrabalho;• Nãoégarantidoatendimentosemagendamento;• Alunosqueagendaremhorárioterãoprioridade;

• Atendimentoserásuspensonas24hqueantecedemaprovaeosprazosparaentregadetrabalhos;

• Alunosquenãoagendaremapresentaçãodotrabalhopráticoatéadatalimitereceberãonota0.Nãoháagendamentoapósfimdoperíodo.

Agosto2016 LinguagensdeProgramação- 2016/2 18

http://vitorsouza.youcanbook.me/

Page 19: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

Atendimentoforadaaula

Agosto2016 LinguagensdeProgramação- 2016/2 19

Page 20: Linguagens de Programação 2016/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp-20162-a... · e cinco linguagens, em ordem de preferência; – O professor irá alocar as

DÚVIDAS?

Agosto2016 LinguagensdeProgramação- 2016/2 20