Informática para Ciências e Engenharias A
Objectivos
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
11073
Créditos
6.0
Professor responsável
Pedro Abílio Duarte de Medeiros, Vítor Manuel Alves Duarte
Horas
Semanais - 5
Totais - 60
Idioma de ensino
Português
Pré-requisitos
Esta disciplina não tem pré-requisitos de acesso.
Bibliografia
Livros (alternativas)
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist (version 2.4). Versão PDF disponível em http://greenteapress.com/wp/think-python-2e/
- Charles Severance. Python for Everybody: Exploring Data Using Python 3 (2016-Jul-05 version). PDF em https://www.py4e.com/book.php. (existe versão em portugês-br)
- Ernesto Costa. Programação em Python - Fundamentos e Resolução de Problemas, FCA, 2015
- Material na página da cadeira no CLIP (slides, guias, enunciados)
- Sebenta do Prof. Ludwig Kripahl http://iceb.ssdi.di.fct.unl.pt/1920/files/ICEB_notes.pdf
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 duas componentes: a componente laboratorial e a componente teórico-prática.
Componente Laboratorial e Frequência
A componente laboratorial é composta por dois mini-trabalhos e um trabalho final, realizados em parte fora das aulas. Os trabalhos podem ser realizados em grupos de dois alunos.
Para a nota de cada aluno num trabalho contribui a pontuação obtida num sistema de avaliação automático, a avaliação do docente e eventuais testes e orais.
A nota da componente laboratorial (CompL) é a média pesada das notas dos dois mini-trabalhos (T1, T2) e do trabalho final (TF):
Para obter frequência, é necessário que:
Componente Teórico-Prática
A componente teórico-prática é composta por dois testes (fora das 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 pesada das notas dos testes (T1 e T2) ou a nota do exame (Ex):
Para obter aprovação, é necessário que:
Nota Final
A nota final (F) dos alunos com frequência é:
- F = CompTP, se CompTP < 9.0;
- F = 0.4 CompL + 0.6 CompTP, se CompTP >= 9.0 .
Todas as notas (trabalhos, CompL, testes e CompTP) são arredondadas às décimas, a nota final (F) é arredondada às unidades.
Classificações Obtidas em Anos Anteriores
Os alunos que obtiveram frequência em 2018/19 e 2019/20 têm automaticamente frequência.
Se voltarem a realizar os trabalhos deste ano no cálculo da nota final, a nota da componente laboratorial é a maior entre a anterior e a obtida este ano.
Os alunos que obtiveram pelo menos 9,0 na nota da componente teórico-prática em 2018/19 ou em 2019/20 estão dispensados de realizar os testes e o exame.
Se voltarem a realizar os testes/exame este ano, a nota da componente teórico-prática é a deste ano.
Para melhorias de nota de alunos aprovados antes de 2018 a nota final é a de exame (100%).
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.
Cursos
Cursos onde a unidade curricular é leccionada: