Programação https://fenix.ist.utl.pt/disciplinas/pro/ deec-prog@disciplinas.ist.utl.pt Sumário Corpo Docente Página da disciplina Funcionamento Avaliação Suporte informático 01-2 Corpo Docente Aulas teóricas/problemas João Nuno Silva joao.n.silva@ist.utl.pt https://fenix.ist.utl.pt/homepage/ist14028 INESC ID Sala 607 213100292 01-3
Corpo Docente Aulas laboratórios Professor Duarte de Mesquita e Sousa Professor Paulo Costa Branco Doutor Martijn Kuipers 01-4 Página da disciplina Informação geral sobre a disciplina Avaliação Programa Enunciados dos trabalhos Informações importantes Horários Informação reservada (apontamentos, pautas, etc.) Anúncios 01-5 Programação: Motivação ferramenta básica de Engenharia cálculo, análise, simulação e projecto Outras UC do MEEC AED Arquitectura de Computadores Matemática Computacional Área de Especialização de Computadores Área de Especialização de Sist. Dec. e Controlo Área de Especialização de Telecomunicações 01-6
Requisitos Apenas conhecimentos mínimos de informática manipulação/edição de ficheiros Vontade de Aprender Trabalho contínuo 01-7 Objectivos Aprendizagem linguagem de programação Algoritmia Metodologias de programação Introdução a algoritmos e estruturas de dados 01-8 Aulas teóricas Exposição/apresentação da matéria Desenvolvimento de programas Indispensável Assiduidade Preparação prévia das aulas 0.5 horas antes de cada aula Auto estudo, reflexão e experimentação 1.0 hora depois de cada aula 01-9
Aulas de Problemas Desenvolvimento de programas Sem computador!!!! No Papel :P 01-10 Aulas de Problemas ProPB09 ( Seg 18:00) 8 ProPB10 ( Ter 12:30) 35 ProPB11 ( Qui 15:30) 22 ProPB08 ( Qui 18:30) 6 01-11 Aulas Laboratório Grupos de 2 alunos Resolução no computador de problemas práticos Imprescindível a prévia preparação!!! 1.5 horas antes de cada aula Impressão do enunciado Leitura do enuciado 01-12
Aulas de Laboratorio ProL02 ( Seg 18:00) 9 ProL03 ( Ter 12:30) 19 ProL05 ( Qua 18:00) 6 ProL06 ( Qui 15:30) 19 ProL04 ( Qui 18:30) 6 ProL07 ( Sex 12:00) 20 01-13 Dúvidas Aula de dúvidas regulares Horário a afixar na página da disciplina Acesso livre e gratuíto Meio alternativo Envio de e mail para o docente Evitar mails incompreensíveis!!! deec prog@disciplinas.ist.utl.pt 01-14 Avaliação Ver Fenix fenix.ist.utl.pt/disciplinas/pro/ Projecto Exame 01-15
Projecto Dividido em 2 partes Entrega intermédia Realizada individualmente Cotada Entrega Final Realizada em grupos de 2 alunos Nota mínima para aprovação: 10 Nota = 20% NotaEntregaIntermédia + 80% NotaEntregaFinal 01-16 Calendário Disponibilização do enunciado da entrega intermédia 1ª quinzena de aulas Entrega intermédia Até 4 de Novembro de 2012 Entrega final 14 de Dezembro de 2012 17 de Dezembro com penalização Discussões/exercício prático Última semana de aulas 01-17 Bibliografia Ver Fenix fenix.ist.utl.pt/disciplinas/pro36/bibliografia 01-18
Suporte Informático Laboratórios instalados com Linux http://scdeec.ist.utl.pt/ Dispor de um computador particular Aconselhável mas não indispensável Instalar Linux Usar VirtualBox no Windows Instalar DevTools no Mac OS X Proibida a utilização de compiladores proprietários Turbo C, Visual C, 01-19 Ciclo de Desenvolvimento Desenho Codificação Compilação Depuração 01-20 Desenho Definição de uma solução Requer Compreensão do problema Compreensão do funcionamento Computador Linguagem de programação Capacidade de abstração 01-21
Codificação Implementação da solução usando linguagem de programação Requer Conhecimento de uma linguagem Sintaxe Semantica Conhecimento de padrões Métodos bem conhecidos para resolver problemas comuns 01-22 Depuração Descoberta do bugs do programa Execução Verificação dos resultados Inspecção do código Correcção dos bugs 01-23 Regras básicas Preparar aulas teóricas Assistir a todas as aulas Rever a matéria dada Preparar os laboratórios 01-24
Regras básicas Praticar!! Escrever programas Ler programas feitos por outros!! 01-25 Compilação Tradução entre Linguagem alto nível Linguagem baixo nível Processo automático Descoberta de erros de sintaxe 01-26 Próximos capítulos Computador Algoritmo Linguagem de programação Sintaxe e Semâtica Representação de programas Fluxogramas 01-27
Próximos capítulos Arquitectura de Computadores (Arroz) Capítulo 9 Marques de Sá Capítulo 1 01-28