2024

Programming

Name: Programming
Code: INF00878L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese
Languages of tutoring support: Portuguese, English
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

This course aims to develop in students the fundamental knowledge, skills, and competencies to understand the principles of programming and apply them practically in different contexts, using the Python programming language. Among the main objectives, the following are implicit:
- To be able to create programs to solve a variety of computational problems.
- To be proficient in parsing text to process and extract relevant information.
- To acquire the foundations for processing data in files for manipulation and analysis.
- To know how to produce graphics for data visualization.
- To be familiar with and use scientific computing libraries to implement advanced algorithms and techniques.

Contents

- Introduction to programming: algorithms, variables, data types, arithmetic operators, logical values and operators, relational operators.
- Control structures: selection, repetition, decision making.
- Data structures: lists, tuples, dictionaries, sets.
- Working with text: string manipulation, text parsing.
- Functions and modularity.
- Using and creating modules.
- Methods (and classes).
- Looping structures.
- Working with files (I/O).
- Plots.
- Scientific computing libraries.

Note: The order may vary.

Teaching Methods

- Expository theoretical classes, using multimedia resources, for presenting fundamental concepts.
- Practical laboratory sessions for applying the learned concepts through problem-solving, which may include short assessed mini-problems.

Assessment

Continuous assessment regime:
- Tests (2 or 3; which may include problems to be solved on the computer).
- Mini-problems (short duration; during the practical sessions; only 75% of the completed mini-problems are considered for the grade).
- Project (which may include a report, code, and oral defense).

Final assessment regime:
- Exam.
- Project (which may include a report, code, and oral defense).

There is a minimum mark of 7.5/20 for: each test; average of the mini-problems; project; exam.

Recommended Reading

Basic reading

-Introduction to Fortran 90, 95 (Basic Engineering Series and Tools), Stephen J. Chapman

McGraw-Hill Education – Europe; ISBN 0070119694, 1997

-Numerical Methods for Engineers: with Software and Programming Applications, Steven Chapra

 

McGraw-Hill Education – Europe; ISBN 0071121803, 2001


Complementary reading

-Numerical Computation, volumes 1 & 2, Methods, Software, and Analysis, Ueberhuber, C. W.

Springer Verlag, 1997