Informática para Ciências e Engenharias C
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 (Python).
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
11147
Créditos
6.0
Professor responsável
Jorge Carlos Ferreira Rodrigues da Cruz, Vítor Manuel Alves Duarte
Horas
Semanais - 4
Totais - 59
Idioma de ensino
Português
Pré-requisitos
Esta disciplina não tem pré-requisitos.
Bibliografia
Referência Principal:
Slides das Teóricas
Allen B. Downey. Think Python: How to Think Like a Computer Scientist. PDF e HTML disponíveis em http://greenteapress.com/wp/think-python-2e/
Referências Auxiliares:
Charles Severance. Python for Everybody: Exploring Data Using Python3. PDF e HTML disponível em https://www.py4e.com/book (existe versão em portugês-br)
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 e duas 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
Regras 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 3 exercícios e 1 trabalho prático, realizados em grupo de dois alunos (ou individualmente, em casos justificados), sendo o trabalho realizado maioritariamente fora das aulas.
A avaliação do trabalho é individual, incluindo uma ficha a realizar durante o segundo teste, sobre o respetivo trabalho e possível discussão oral. Esta avaliação é condicionante da nota final atribuída ao trabalho a cada membro do grupo.
A nota da componente laboratorial (CompL) é obtida da seguinte forma:
• compL = 0,15 Q1 + 0,15 Q2 + 0,7 TP (onde Q1 e Q2 são os dois melhores resultados dos 3 exercícios).
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 ou por um exame (na Época de Recurso). As três provas são individuais, escritas e sem consulta. Os alunos não poderão consultar qualquer material, nem utilizar qualquer dispositivo eletrónico.
A nota da componente teórico-prática (CompTP) é 0.4 T1 + 0.6 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 é calculada da seguinte forma:
• NF = CompTP, se CompTP < 8,0;
• NF = 0,3 CompL + 0,7 CompTP, se CompTP ≥ 8,0 .
Todas as notas são arredondadas às centésimas, numa escala de 0 a 20 valores, excepto a nota final (NF) que é arredondada às unidades.
***** Classificações Obtidas em Anos Anteriores *****
Os alunos que obtiveram frequência na UC nos últimos dois anos, podem manter a nota CompL. Não deverão inscrever-se nas aulas práticas. Se se inscreverem nas aulas práticas, a nota CompL será a nota obtida este ano (podem frequentar as práticas desde que existam lugares na sala).
Frequências anteriores não são válidas!
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.