|
Computadores e Programação
F 2012 . 2013 - 1º semestre
Especificação técnica - ficha curricular Elementos especificos
Objectivos formativos
Importância central: Conhecimento genérico do funcionamento de um computador e da representação de dados em formato digital. Capacidade de equacionar a resolução de um problema sobre a forma de um algoritmo. Conhecimento dos paradigmas da programação imperativa, funcional e por objetos e capacidade operacional de programação numa linguagem de programação de muito alto nível (Python).
Importância secundária: Capacidade para procurar e utilizar bibliografia e ferramentas de software adequadas usando a internet. Conhecimento operacional de algoritmos básicos de análise numérica aplicados a situações simples da física. Capacidade para realizar, em grupo, e de forma modular, pequenos projetos de software. Programa genérico mínimo
O modelo de von Neumann do computador digital. Arquitetura de um computador moderno. Representação digital de dados. Códigos binários para representação de inteiros, reais (vírgula flutuante), caracteres (ASCII, unicode), imagem e som. Operações numéricas sobre dados binários. Processadores. Funcionamento de um CPU. Linguagens de programação. Sistemas operativos. Introdução à linguagem de programação Python. A instrução de atribuição. Aliasing”. Noção de ponteiro. Tipos numéricos: inteiros, inteiros longos, números em vírgula flutuante e complexos. Sequências (listas, tuplas e sequências de caracteres). Booleanos e operações sobre booleanos. Iteração sobre sequências e operações de fatiagem. Abrangências. Dicionários. Instruções de controlo de fluxo. Funções. Espaço dos nomes e regras de alcance. Mecanismo de passagem de argumentos e devolução de valores. Programação funcional e imperativa. Módulos. Ferramentas de introspecção e metaprogramação. Ficheiros. Formatação. Redirecção dos canais de fluxo de entrada e saída. Exceções. As instruções raise e try..except..finally. Programação orientada por objetos. Noção de classe e instâncias de classe. Atributos e métodos. Herança, encapsulamento e polimorfismo. Sobrecarga de operadores. Recursão. Iteradores e geradores. Aplicações em Análise Numérica aplicada a problemas de Física. Resolução de equações não-lineares. Interpolação de Lagrange. Ajuste de curvas por mínimos quadrados. Derivação e integração numérica. Resolução de equações diferenciais ordinárias (aplicações: equações do decaimento radioativo, osciladores, projéteis, movimento planetário, etc.). Método de Monte-Carlo (aplicações simples). Pré-requisitos
d_10> Computadores e Programação ‹ voltar ao plano de estudos Ano lectivo 2012-2013
Competências genéricas a atingir
. Conhecimentos de informática relativos ao âmbito do estudo;. Competência para resolver problemas; . Uso da internet como meio de comunicação e fonte de informação; . Competência em raciocínio crítico; . Competência em aplicar na prática os conhecimentos teóricos; . Competência em análise e síntese; . Competência em organização e planificação; . Conhecimento de uma língua estrangeira; . Competência em gestão da informação; . Competência em trabalho em grupo; . Criatividade; (por ordem decrescente de importância) Horas lectivas semestrais
Método de avaliação
concretização da avaliação em 20122013
Resolução de problemas: 30.0% Projecto: 30.0% Mini Testes: 40.0% Bibliografia de referência
GUIDO van ROSSUM. Tutorial de Python. Método de ensino
O ensino desta disciplina é teórico-prático, com grande ênfase na compreensão e desenvolvimento de algoritmos para problemas concretos, incluindo uma primeira abordagem a algumas ferramentas de análise numérica aplicada a problemas simples de física. Recursos específicos utilizados
Laboratório de computação
|