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.
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
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%).
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
- Carlos Alberto Zany Pampulim Martins Caldeira [responsible]