Linguagens de Programação 2017/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... ·...

20
Linguagens de Programação 2017/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 2017/2 - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... ·...

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

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.

Páginadocurso

Agosto2017 DesenvolvimentoWebeWebSemântica2017/2 3

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

manter-se informado!

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

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

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

• Metodologia: aulasexpositivaseexercíciosemsaladeaula,seminários;

• Aulas:– Terçasequintas-feiras,das7hàs9h.

Agosto2016 LinguagensdeProgramação- 2016/2 6

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

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

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

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.

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

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

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

Agosto2016 LinguagensdeProgramação- 2016/2 11

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

Seminário• Emaproximadamente1h30deduração,apresentar:

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

– Demonstraçãodecomootrabalhofoiresolvidonaquelalinguagem.

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

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

Agosto2016 LinguagensdeProgramação- 2016/2 13

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

Trabalhoprático• Resoluçãodeumproblemaespecificadopeloprofessornalinguagemescolhida;

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

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

• Ocódigo-fontedeveserentregueaoprofessor.

Agosto2016 LinguagensdeProgramação- 2016/2 15

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

Datasimportantes

Agosto2016 LinguagensdeProgramação- 2016/2 17

No site

Data Descrição07/09/2017 Feriado – Independência do Brasil12/09/2017 Não haverá aula – Banca de doutorado

26/09/2017 Prazo para definição dos grupos28/09/2017 Prova Parcial 0112/10/2017 Feriado – Nossa Sra. Aparecida19/10/2017 Não haverá aula – Conferência02/11/2017 Feriado – Finados

09/11/2017 Prova Parcial 0216/11/2017 Início dos Seminários21/12/2017 Prova Parcial 0329/12/2017 Prazo para entrevistas (trabalho)04/01/2018 Prova Final

Atendimentoforadaaula• Informaçõesnosite,naseçãoEnsino;• Segundas,quartasesextasemhorá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/

Atendimentoforadaaula

Agosto2016 LinguagensdeProgramação- 2016/2 19

DÚVIDAS?

Agosto2016 LinguagensdeProgramação- 2016/2 20