Go to:
You are in:: Start > CC1015
Site map
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Programming I

Code: CC1015     Acronym: CC1015     Level: 100

Classification Keyword
OFICIAL Computer Science

Instance: 2022/2023 - 1S Ícone do Moodle

Active? Yes
Web Page: https://moodle.up.pt/course/view.php?id=4119
Responsible unit: Department of Computer Science
Course/CS Responsible: First Degree in Chemistry

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 0 Official Study Plan 3 - 6 56 162
L:EG 27 The study plan from 2019 1 - 6 56 162
L:F 0 Official Study Plan 3 - 6 56 162
L:G 11 study plan from 2017/18 1 - 6 56 162
L:Q 2 study plan from 2016/17 3 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Bernardo Luís Fernandes Portela

Teaching - Hours

Theoretical classes: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Theoretical classes Totals 2 4,00
Bernardo Luís Fernandes Portela 4,00
Laboratory Practice Totals 3 6,00
Bernardo Luís Fernandes Portela 2,00
Vítor Gabriel dos Reis Machado Rodrigues 2,00
Mais informaçõesLast updated on 2022-09-14.

Fields changed: Complementary Bibliography, Bibliografia Obrigatória

Teaching language



In this course the students will:
1. Get acquainted with personal computers in the GNU/Linux operating system and their usage;
2. Learn how to write computer programs using Python and execute them in a terminal.
3. Acquire competence in the implementation of simple algorithms;
4. Acquire good code structuring and programming style;
5. Learn some basic data structures and algorithms;
6. Get acquainted with program debugging and testing.

Learning outcomes and competences

1. Understanding the role of programming for solving problems in the degree.
2. Acquaintance with the basic components of a recent programming language.
3. Ability to write programs that allow accomplishing useful goals.
4. Confidence in the usage of the Python language and its standard library.

Working method



1. A short introduction to computers
2. Variables, expressions and statements
3. Program Flow
4. Functions
5. Data Types
6. Numpy
7. Files
8. Modules
9. More datatypes
10. Recursion
11. Classes and Objects
12. Exceptions

Mandatory literature

Allen B. Downey; Think Python
Allen B. Downey; Modeling and Simulation in Python, Green Tea Press, 2017

Complementary Bibliography

Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers; How to Think Like a Computer Scientist, 2012
Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers; How to Think Like a Computer Scientist: Learning with Python 3

Teaching methods and learning activities

Lectures; program analysis.
Practical, programming classes.


Python 3.x


Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 80,00
Teste 20,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Eligibility for exams

Frequency of practical classes, according to the rules of the University.

Additional conditions:
- Having successfully completed at least half of the proposed problems in class (with automatic correction).

Calculation formula of final grade

20% Mid-semester test
80% Final exam grade
(Minimum grade at the final exam: 50%)

Classification improvement

Exam (with weight 100% on the grade)


Juri: Bernardo Portela e João Vilela
Recommend this page Top
Copyright 1996-2022 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2022-12-05 at 08:01:22 | Reports Portal