fisica.uc.pt • Departamento de Física • Universidade de Coimbra
DEPT. DE FÍSICA
uc  ›  fctuc  ›   fisica  ›   course specifications
fisica.uc.pt
o dept de física
pessoas
ensino
•lic. e mestrado
•doutoramento
•prog. erasmus
investigação
estudar aqui
actividades
contactos
 
2013 - 2014 ↑↓
escolha o ano lectivo:
2019.2020
2018.2019
2017.2018
2016.2017
2015.2016
2014.2015
2013.2014
2012.2013
2011.2012
2010.2011
2009.2010
2008.2009
2007.2008
2006.2007
2005.2006
2004.2005
2003.2004
2002.2003
CALENDAR
SUBJECTS
TIMETABLES
ROOMS
TEACHING MAP
EXAMS MAP
      
Computers and Programming
EB
2013 . 2014  - 2º semestre
SYNOPSIS SYLLABUS TIMETABLE ASSESSMENT SPECIFICATION


Specification sheet

Specific details
course codecycle os studiesacademic semestercredits ECTSteaching language
1002420126pt


Learning goals
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 objectos 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 projectos de software

Syllabus

O modelo de von Neumann do computador digital. Arquitectura 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.
Excepções. As instruções raise e try..except..finally.
Programação orientada por objectos. 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 radioactivo, osciladores, projécteis, movimento planetário, etc. )
Método de Monte-Carlo (aplicações simples).
Prerequisites
Generic skills to reach
. Computer Skills for the scope of the study;
. Competence to solve problems;
. Using the internet as a communication medium and information source;
. Critical thinking;
. Competence in applying theoretical knowledge in practice;
. Competence in analysis and synthesis;
. Competence in organization and planning;
. Knowledge of a foreign language;
. Competence in information management;
. Competence for working in group;
. Creativity;
(by decreasing order of importance)
Teaching hours per semester
laboratory classes45
total of teaching hours45

Assessment
Problem solving30 %
Project30 %
Mini tests40 %

Bibliography of reference

1 Tutorial de Python, Guido van Rossum
2 Learning Python, M. Lutz, D. Ascher, OReilly
3 How to think like a computer scientist, A. Downey, J. Elkner & C. Mayers, Green Tee Press
4 Numerical methods in engineering with Python, J Kiusalaas, Cambridge University Press
5 Python for dummies, S. Maruch, A. Maruch, Wiley
6 - Computadores e Programação apontamentos da disciplina), J.A. Paixão e F. Nogueira


Teaching method

O ensino desta disciplina é teórico-prático, com grande ênfase no 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.



Resources used
Laboratório de computação

print-version

Departamento de Física, UC ©2013
Contactos    Sugestões    Aviso legal     Emergência
Search     Português    Login
acesso restrito a:
fisica.uc.pt
www.uc.pt
infordocente.uc.pt
inforestudante.uc.pt
lugus.uc.pt
Search     Português    Login
acesso restrito a:
fisica.uc.pt
www.uc.pt
infordocente.uc.pt
inforestudante.uc.pt
lugus.uc.pt