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/