Informática para Ciências e Engenharias D
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 correctamente 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
11148
Créditos
6.0
Professor responsável
Pedro Manuel Corrêa Calvente Barahona, Teresa Isabel Lopes Romão
Horas
Semanais - 5
Totais - 70
Idioma de ensino
Português
Pré-requisitos
A disponibilizar brevemente
Bibliografia
Bibliografia Principal:
- Slides das Teóricas
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist (version 2.0.17). (Versão PDF disponível em http://greenteapress.com/wp/think-python-2e/)
-
John V. Guttag. Introduction to Computation and Programming Using Python, MIT PRESS, 2016 (https://mitpress.mit.edu/books/introduction-computation-and-programming-using-python-second-edition)
-
Ernesto Costa. Programação em Python - Fundamentos e Resolução de Problemas, FCA, 2015
Método de ensino
Há duas horas de aulas teóricas, uma de aulas teórico-práticas e uma hora 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.
As aulas teórico-práticas focam aspectos dos exercícios que os alunos farão nas aulas práticas.
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 duas componentes: a componente laboratorial e a componente teórico-prática.
Componente Laboratorial e Frequência
A componente laboratorial é composta por dois trabalhos práticos (TP1 e TP2), realizados em grupo de dois alunos.
O trabalho TP1 é avaliado individualmente durante o 1º teste, que incluirá um grupo em que serão colocadas questões que avaliam o conhecimento da solução entregue, e cuja classificação será condicionante da nota final atribuída ao exercício, mas não da nota do teste. A avaliação do trabalho TP2 é feita de uma forma similar, mas durante o 2º teste.
A nota da componente laboratorial (CompL) é obtida pela média ponderada do trabalho prático 1 (TP1) e do trabalho prático 2 (TP2):
CompL = 0,4 TP1 + 0,6 TP2
Para obter frequência, é necessário que:
CompL >= 8,0
Componente Teórico-Prática
A componente teórico-prática é composta por dois testes (no período de 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 aritmética das notas dos testes (T1 e T2) ou a nota do exame (Ex):
Para obter aprovação, é necessário que CompTP >= 8,0
Nota Final
A nota final (NF) dos alunos com frequência é:
- NF = CompTP, se CompTP < 8,0;
- NF = 0.4 CompL + 0.6 CompTP, se CompTP >= 8.0 .
Todas as notas parciais (TP1, TP2, T1, T2, Ex, CompL e CompTP) são arredondadas às décimas; a nota final (NF) que é arredondada às unidades.
Classificações Obtidas em Anos Anteriores
Os estudantes que obtiveram pelo menos 8.0 na nota da componente laboratorial em 2018/19 ou 2019/20 estão dispensados de realizar a componente laboratorial. Têm duas alternativas:
- Não se inscrevem nos turnos práticos e a nota laboratorial usada é a obtida anteriormente (que tem que ser >=8,0).
- Inscrevem-se nos turnos práticos em 2020/21 e a nota laboratorial usada no cálculo da nota final é a que for obtida em 2020/21.
- NOTA: Quem estiver inscrito num turno prático em 31 de março, desiste da nota laboratorial obtida anteriormente.
Os estudantes que obtiveram pelo menos 8.0 na nota da componente teórico-prática em 2018/19 ou 2019/20 também estão dispensados de realizar os testes e o exame. Sejam:
- CompTP-Anterior a nota da componente teórico-prática obtida em anos anteriores (onde teve de ser >=8,0)
- CompTP-2020/21 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-2020/21.
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 e sua ilustração em Python:
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 ASCII e Binários. Dicionários.
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.
Cursos
Cursos onde a unidade curricular é leccionada: