Introdução aos Computadores e Programação Nuno Cavalheiro Marques Professor Auxiliar DI-FCT/UNL Edição 2003/2004 2o Semestre Objectivos (1/2) • Conhecer: – Os principais elementos de um computador • A arquitectura do computador, o Sistema Operativo. • As Bases de dados relacionais e os modernos sistemas de informação. – O conceito de computação e algoritmo: • • • • A evolução das principais linguagens de programação. Características de um algoritmo. Sintaxe e semântica. Exemplos de programas para calculo científico. – Os principais conceitos e factos na informática: • As principais escolhas que levaram ao conceito de computador digital. • Máquina de Turing, o Computador Universal, Computação, Computação Analógica, Computação na Biologia. • Outros sistemas capazes de computar: A computação analógica. Computadores biológicos: redes neuronais. "A rival to Prometheus, [Vaucanson] seemed to steal the heavenly fires in his search to give life." –Voltaire http://www.swarthmore.edu/Huma nities/pschmid1/essays/pynchon/va ucanson.html Objectivos (2/2) • Utilizar o computador como uma ferramenta, nomeadamente para: – Aprender a construir páginas Web. – Utilizar a folha de cálculo para tratamento de dados e representação gráfica (MS-Excel). – Dominar uma aplicação para cálculo de engenharia. – Dominar os conceitos base da construção de algoritmos: Saber construir e modificar pequenos programas (Octave/Matlab). – Saber identificar problemas em que a utilização de calculo matricial pode ser útil. Client Client Server Client Printer File system Client Plano Aulas Teóricas • Apresentação. • Computadores, sistema operativo e Bases de Dados Relacionais. – Máquinas que executam sequências de cálculos e operações. – Máquina de Turing e o computador Universal, Máquina de von-Neumann e código máquina. – Arquitectura Geral de um Computador. – O Sistema Operativo. – Bases de dados relacionais e sistemas de Informação. • Algoritmos e Principais Linguagens de Programação: – Algoritmos. – Historia das Linguagens de Programação: desde o FORTRAN ao Prolog e Java. Matlab e Octave. – A importância da função: abordagens top-down e bottom-up para desenvolver algoritmos. – Exemplos de algoritmos ilustrando as principais estruturas de controle. – Criando um programa do principio ao fim em OCTAVE. • Bases de dados relacionais e sistemas de Informação • Revisões, Enquadramento Histórico – História do Computador digital. – Computadores pessoais e Supercomputadores. – Computação, Computação Analógica, Computação na Biologia. Plano Aulas Práticas – HTML: • Uma linguagem para a FORMATACÃO de documentos. • Organização de ficheiros no disco e em servidores UNIX remotos. • Construção de uma página Web. – MS-Excel: • Uma aplicação para o cálculo científico de baixa complexidade e apresentação de dados. • Introdução de algumas noções base necessárias à programação. – Octave: • Utilização de uma linguagem de comandos. • Uma aplicação para cálculo científicos de elevada complexidade. • Conceitos mais avançados sobre programação. Parte Prática: Outras Questões • As AULAS PRÁTICAS DEPENDEM de muitos dos conceitos apresentados nas Aulas Teóricas. • As aulas práticas têm inicio a partir de SEGUNDA-FEIRA dia 8/3/2004. • 4 Trabalhos de Avaliação (pelo menos 1 sobre forma de teste escrito). • GRUPOS de 2 ALUNOS. • INSCRIÇÕES: Automáticas/Sistema de gestão de alunos (web). • Equivalência de frequência em ano anterior: – Só será dada equivalência à frequência a alunos com frequência de ICP em 02/03 (pauta a publicar Segunda-Feira, dia 10-3-2004). – Os alunos com frequência serão automaticamente excluídos do turno prático. – Outros casos: Contactar docente da prática ou da teórica. Avaliação Nota teórica = Nota exame Nota prática = Média dos 4 trabalhos* Frequência Na CADEIRA apenas se: (Média 4 trabalhos >=2 e Todos os trabalhos > 0 e Máximo de 7 faltas ) ou Equivalência a Frequência de Ano Anterior. As aulas práticas têm inicio a partir de SEGUNDA-FEIRA dia 8 de Marco e as faltas são contadas a partir dessa data! *- Avaliação contínua: 1. peso até 50% na nota de cada trabalho. 2. Pelo menos um dos trabalhos é respondido sobre forma de ficha escrita. 3. Resolução de exercícios propostos na aula. 4. Resposta dentro do prazo às várias fases dos trabalhos propostos. 5. Participação na aula. 6. Nota de 0-5 Nota final = Nota prática + 0.75 • Nota teórica Bibliografia • Caderno de apoio da cadeira EDIÇÃO 2003/2004, 2o Semestre. • How Computers Work. Ron White. Que, Millenium Edition. 1999. • Capítulo 1 de Pascal -- Técnicas de Programação. Pedro Guerreiro. FCA. 2002. disponível em http://pwp.netcabo.pt/pg/ptp.html • Artigos: Anthony Ralston, Edwin D. Reilly, David Hemmendinger (eds), Encyclopedia of Computer Science (4th edition), Nature Publishing Group, 2000, Ref. Biblioteca FCT/UNL: QA 76.15 ENC. (disponível na biblioteca): – Nomeadamente: Digital Computers, History of. • Outras referências: – Fornecidas durante os vários módulos. LINKS BASE DA CADEIRA • Página da Cadeira http://ssdi.di.fct.unl.pt/cursos/icp • Outras questões: Secretaria do DI (ed. II). – D. Anabela Duarte – Telefone: Ext. 10701 • MailList da Cadeira: [email protected] • Todos os emails com questões sobre a cadeira devem ser enviados para a lista de email da cadeira. • A lista da cadeira pretende ser um fórum de discussão sobre os assuntos da cadeira. Os docentes da cadeira só intervêm caso seja necessário.