2024

Introduction to Programming

Name: Introduction to Programming
Code: INF11968L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

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

Presentation

This Curricular Unit aims the learning of basic programming concepts, with a first contact with software development and a basis for future scientific tools.

Sustainable Development Goals

Learning Goals

The objective of this course is to teach the basic skills in computer programming, that the student will
possibly use in numerical computation. We base the course on a “procedural” Python, using structured
control constructs, native data types and vector/matrices. Through examples given in the lectures and
exercises presented in the practical classes the student is introduced to the basic patterns of imperative
programming and has a first contact with the programming of scientific calculations. With these
competences the student should be able to start developing complex programs, be at ease in learning
other languages/systems/products popular in scientific/engineering environments (Fortran, C, Maple,
Matlab, etc) and progress, when necessary, to the object orientation paradigm.

Contents

Introduction to Programming with Python language
Use of interpreter in script and interactive modes
Variables, expressions and statements
Defining and Using Functions
Control structures
Native data structures
Sequential data structures: lists, tuples and strings.
Associative data structures: dictionaries.
Basics of input / output (I / O)
File manipulation
Graphic interface
Use of libraries
Libraries with advanced functionality for scientific calculation
Program development

Teaching Methods

Lectures and practical classes that follow the subjects taught in the lectures.
We provide a large set of exercises, covering the topics of the course and with increasing degree of
difficulty, so that the students can practice their skills.
Evaluation is done through: (i) 3 midterm written examinations (3x 25%) or a final written examination (75%); (ii) the
development of a small programming project (25%).

Teaching Staff