Informática para Ciências e Engenharias
Objetivos
Saber
Os componentes fundamentais de um computador.
As ferramentas de um ambiente de desenvolvimento de software.
As construções essenciais de uma linguagem de programação imperativa.
Algumas noções fundamentais de bases de dados relacionais.
Alguns conceitos básicos relacionados com a World Wide Web.
Saber Fazer
Decompor um problema em problemas mais simples.
Conceber um algoritmo para resolver um problema simples.
Escrever um programa, utilizando corretamente as construções básicas de uma linguagem de programação imperativa.
Testar um programa num determinado ambiente de programação.
Formular uma interrogação muito simples em SQL.
Aceder a recursos disponíveis na rede dentro de um programa.
Soft-Skills
Capacidade de concretização.
Capacidade de gestão do tempo e cumprimento dos prazos.
Caracterização geral
Código
10344
Créditos
6.0
Professor responsável
Pedro Abílio Duarte de Medeiros
Horas
Semanais - 5
Totais - 60
Idioma de ensino
Português
Pré-requisitos
Esta disciplina não tem pré-requisitos.
Bibliografia
Web
- Material na página da cadeira no CLIP (slides, guias, enunciados)
- Sebenta do Prof. Ludwig Kripahl http://iceb.ssdi.di.fct.unl.pt/1819/files/ICEB_notes.pdf
Livro aconselhado
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist (version 2.4.0). Versão PDF disponível em http://greenteapress.com/wp/think-python-2e/
Livros auxiliares
- Brian W. Kerninghan, Understanding the Digital World 2nd Ed, Princeton University Press, 2017.
- John V. Guttag. Introduction to Computation and Programming Using Python, MIT PRESS, 2016.
Método de ensino
Há duas horas de aulas teóricas e três horas de aulas práticas por semana.
As aulas teóricas são orientadas para a resolução de problemas. Começa-se com o enunciado de um problema muito concreto, que motiva a apresentação de um tópico dos sistemas de computadores, de um tipo de dados ou de uma construção da linguagem de programação, e termina-se com o código IGNOREe completo de um programa que o resolve.
Nas aulas práticas, os alunos concebem, implementam e testam programas que resolvem problemas simples das áreas das Ciências e Engenharias.
Método de avaliação
Componentes da Avaliação
A avaliação é constituída por três componentes: a componente laboratorial, a componente teórico-prática e a componente somativa.
*** Alteração efetuada em 3/12/2019
Por não ter havido condições para realizar a componente somativa da avaliação, esta foi eliminada. A nota final NF será obtida, em todas as situações pela fórmula NF = 0.6*NTP+0.4*NL. Ambas têm a nota mínima de 7,5 valores. A sessão laboratorial "Discussão" abaixo referida será opcional.
****
Componente Laboratorial
A componente laboratorial é composta por um trabalho final. O trabalho final é realizado em grupo (de dois alunos). Embora haja aulas práticas dedicadas ao trabalho final, este trabalho também deve ser realizado fora do período de aulas. A avaliação do trabalho final inclui uma sessão laboratorial, chamada "discussão", para aferir o conhecimento que os alunos têm sobre o código entregue. As discussões são obrigatórias e individuais. A nota de cada elemento do grupo (TF) depende do trabalho entregue (realizado em grupo) e do desempenho (individual) desse elemento na discussão. Consequentemente, a nota dos dois elementos do grupo pode ser diferente.
A nota da componente laboratorial (CompL) é a nota do trabalho final (TF):
Para obter frequência, é necessário que:
Componente Teórico-Prática
A componente teórico-prática é composta por três testes (realizados nas aulas) ou por um exame (na Época de Recurso). As três provas são individuais, escritas e sem consulta.
A nota da componente teórico-prática (CompTP) é a média das notas dos testes (T1, T2 e T3) ou a nota do exame (Ex):
Para obter aprovação, é necessário que:
Componente Somativa
A componente somativa é composta por 10 questionários individuais a responder por email. Esses questionários relacionam-se com o guia do trabalho prático realizado numa dada semana, e podem ser respondidos até às 23h59m do dia em que se realiza a aula prática em causa.
A nota da componente somativa (CompSom) é a média das notas dos 10 questionários (Q1 a Q10).
Não há nota mínima nesta componente. Os trabalhadores estudantes podem, se o requererem, ser dispensados desta componente.
Nota Final
A nota final (F) é:
- F = CompTP, se CompTP < 7.5 ou CompL < 7.5;
- F = 0.15 CompSom + 0.35 CompL + 0.50 CompTP, em caso contrário;
- F = 0.40 CompL + 0.60 CompTP, para os trabalhadores estudantes que o requeiram
Classificações Obtidas em Anos Anteriores
Sejam:
- CompL-Anterior a nota prática obtida anteriormente ;
- CompL-2019/20 a nota do projeto neste ano letivo (que é zero se não for entregue).
No cálculo da nota final, a nota da componente laboratorial é o máximo entre CompL-Anterior e CompL-2019/20.
Os alunos que obtiveram pelo menos 7.5 na nota da componente teórico-prática emanos anteriores estão dispensados de realizar os testes e o exame. Sejam:
- CompTP-Anterior a nota da componente teórico-prática obtida anteriormente (que tem de ser superior ou igual a 7.5);
- CompTP-2019/20 a nota da componente teórico-prática obtida este ano letivo (que é zero, se nenhuma prova for entregue).
No cálculo da nota final, a nota da componente teórico-prática é o máximo entre CompTP-Anterior e CompTP-2019/20.
Conteúdo
Introdução: Problemas, algoritmos, programas e computadores. Objetivos e componentes de um sistema computacional. Execução de programas. O interpretador.
Conceitos Fundamentais da Programação: Constantes, variáveis e expressões. Números e strings. Funções pré-definidas. Atribuição e sequência de instruções. Níveis de abstração na resolução de um problema. Funções. Ficheiros com código IGNOREe. Ciclo de vida de um programa. Tipos de erros. Testes unitários. Ciclos FOR. Vetores. Instrução IF. Operadores relacionais e lógicos. Matrizes. Gráficos. Ciclos WHILE. Sistema de ficheiros. Ficheiros em binário e em ASCII. Estruturas. Vetores de estruturas.
Redes e protocolos de comunicação. A WWW.
Introdução às bases de dados: modelo relacional, relações, algumas instruções básicas de SQL.
Simulação de modelos contínuos.