Programming and Numerical Computing
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Matemática e Informática |
Ocorrência: 2019/2020 - 2S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
CIVN |
23 |
Study Plan |
2 |
- |
4 |
67,5 |
108 |
Docência - Responsabilidades
Língua de trabalho
Portuguese - Suitable for English-speaking students
Objetivos
It is intended that the student acquires programming and numerical calculus skills.
At the end of the course, the student should be able to:
- Understand the basic programming principles that will allow the student to adapt to new programming languages;
- Develop logical reasoning;
- Understand and apply numerical methods to solve mathematical problems: nonlinear equations, polynomial approximation of functions, numerical integration and ordinary differential equations;
- Implement the algorithms obtained from the numerical methods and apply them to Civil Engineering problems;
- Recognize the advantages, disadvantages and limitations of each method;
Develop teamwork skills.
Resultados de aprendizagem e competências
Ability to implement and algorithm computationally.
Ability to apply numerical calculus to a mathematical problem.
Ability to recognize problems in Civil Engineering requiring a numerical approach for its resolution.
Improvement of team work skills.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Previous knowledge about real functions (continuity, differentiability, integration) and about ordinary differential equations.
Programa
- Introduction to programming: constants, variables, operators (arithmetic, relational and logical), functions (2 weeks)
- Pseudocode: structure of na algorithm, declaration of variables, assignment of values,, comments, input and output data, basic structures (sequential, conditional and repetition) (3 weeks);
- Error theory: absolute error, relative error, propagation of errorsn(1 week)
- Calculation of roots of nonlinear functions: fixed point, bisection, secant and Newton-Raphson methods (1 week);
- Function interpolation: Lagrange and Newton methods (2 weeks)
- Numerical integration: (2 weeks)
- Problems arising from Civil Engineering that require numerical integration
- Difference between algebraic integration and numerical integration
- Rules for numerical integration: Newton-Cotes and Gauss quadrature
- Numerical resolution of ordinary differential equations (odes) (4 weeks);
- Introduction to the numerical resolution of odes
- Euler and Runge-Kutta methods
Bibliografia Obrigatória
Chapra, S.C., Canale, R. P.; ;Numerical Methods for Engineers - 7th edition, McGraw-Hill, 2015
Correia dos Santos, F., Duarte, J., Lopes, N. D.; Fundamentos de Análise Numérica com Python 3 e R – 2ª edição, Edições Sílabo, 2019
Guttag, J. V;; Introduction to Computation and Programming Using Python, MIT Press
Bibliografia Complementar
Liang, Y.D.; Introduction to Programming Using Python, Pearson, 2013
Quarteroni, A., Salero, F. ; Cálculo Científico com Matlab e Octave, Springer, 2006
Burden, R. L., Faires, D. J.,Burden, A. M.; Numerical Analysis – 10th Edition, Engage, 2016
Métodos de ensino e atividades de aprendizagem
In the theoretical-practical classes, the concepts will be introduced, with the help of application exemples whenever possible, trying to stimulate the interest, reasoning and critical thinking of the sudents.
The laboratory classes will take place in computer rooms and will be dedicated to the resolution of programming exercises that allow the student to put into practice the knoweledge acquired. A programming language will be introduced in order to implement the concepts.
Team work will be encouraged.
Software
Jupyter notebook
Python3
Tipo de avaliação
Distributed evaluation without final exam
Componentes de Avaliação
Designation |
Peso (%) |
Teste |
30,00 |
Trabalho escrito |
70,00 |
Total: |
100,00 |
Componentes de Ocupação
Designation |
Tempo (Horas) |
Elaboração de projeto |
12,00 |
Estudo autónomo |
37,50 |
Frequência das aulas |
52,50 |
Trabalho escrito |
6,00 |
Total: |
108,00 |
Obtenção de frequência
Not applicable
Fórmula de cálculo da classificação final
10%*assignment1+10%*assigment2+10%*assignment3+30%*test+40%*project
Minimum of 8.0 marks required for the test and for the project