Programação https://fenix.ist.utl.pt/disciplinas/pro364/ 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 608 213100228 01-3
Corpo Docente Aulas laboratórios Doutor Martijn Kuipers Doutora Catarina Brites Doutora Helena Aidos 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 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-6
Aulas de Problemas Desenvolvimento de programas Sem computador!!!! No Papel :P 01-7 Aulas de Problemas Pro364PB15 ( Seg. 12:30 - E1 ) Pro364PB16 ( Seg. 14:00 - E2 ) Pro364PB17 ( Qua. 09:30 - E2 ) Pro364PB18 ( Qua. 14:00 - E2 ) Pro364PB19 ( Qui. 11:00 - E5 ) Pro364PB20 ( Qui. 13:30 - E1 ) Pro364PB21 ( Sex. 12:30 - E1 ) 01-8 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 enunciado Resolução do enunciado 01-9
Aulas de Laboratorio Pro364L03 ( Seg. 12:30) Pro364L04 ( Seg. 14:00) Pro364L05 ( Ter. 09:30) Pro364L06 ( Ter. 11:00) Pro364L07 ( Ter. 14:00) Pro364L08 ( Qua. 09:30) Pro364L09 ( Qua. 11:00) Pro364L10 ( Qua. 14:00) Pro364L11 ( Qui. 09:30) Pro364L12 ( Qui. 11:00) Pro364L13 ( Qui. 13:30) Pro364L14 ( Sex. 12:30) 01-10 Planeamento Semana Lab Prob Projecto 1 13 Fevereiro 2 18 Fevereiro Lab1 3 25 Fevereiro Prob1 4 4 Março lab2 5 11 Março Prob2 6 18 Março Lab3 7 25 Março Prob3 7 Abril Entrega Intermédia 8 8 Abril Lab4 9 15 Abril Prob4 10 22 Abril Lab5 11 29 Abril Prob5 12 6 Maio Lab6 13 13 Maio Prob6 17 Maio Entrega Final 01-11 Dúvidas Aula de dúvidas regulares Horário a afixar na página da disciplina Acesso livre e gratuito Meio alternativo Envio de e mail para o docente Evitar mails incompreensíveis!!! deec prog@disciplinas.ist.utl.pt 01-12
Ver Fenix Projecto 50 % Exame 50% Avaliação 01-13 Projecto Dividido em 2 partes Entrega intermédia Realizada individualmente Entrega Final Realizada em grupos de 2 alunos Nota mínima para aprovação: 10 Nota = 20% NotaEntregaIntermédia + 80% NotaEntregaFinal 01-14 Bibliografia Ver Fenix fenix.ist.utl.pt/disciplinas/pro36/bibliografia The C Programming Language The ANSI edition Autor(es):Brian W. Kernighan e Dennis M. Ritchie Fundamentos de Programação Marques de Sá Apontadores e Estruturas de Dados Dinâmicas em C Fernando Mira da Silva 01-15
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-16 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-17 Requisitos Apenas conhecimentos mínimos de informática manipulação/edição de ficheiros Vontade de Aprender Trabalho contínuo 01-18
Objectivos Aprendizagem linguagem de programação Algoritmia Metodologias de programação Introdução a algoritmos e estruturas de dados 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 Compilação Tradução entre Linguagem alto nível Linguagem baixo nível Processo automático Descoberta de erros de sintaxe 01-23 Depuração Descoberta do bugs do programa Execução Verificação dos resultados Inspecção do código Correcção dos bugs 01-24
Regras básicas Preparar aulas teóricas Assistir a todas as aulas Rever a matéria dada Preparar os laboratórios 01-25 Regras básicas Praticar!! Escrever programas Ler programas feitos por outros!! 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