Go to:
Esta página em português Ajuda Autenticar-se
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: 2020/2021 - 1S Ícone do Moodle

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~jpp/P1
Responsible unit: Department of Computer Science
Course/CS Responsible: First Degree in Physics

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 5 study plan from 2016/17 3 - 6 56 162
L:EG 38 The study plan from 2019 1 - 6 56 162
L:F 76 study plan from 2017/18 1 - 6 56 162
L:G 22 study plan from 2017/18 1 - 6 56 162
L:Q 0 study plan from 2016/17 3 - 6 56 162
MI:EF 94 study plan from 2017/18 1 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
João Pedro Pedroso Ramos dos Santos

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

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

Complementary Bibliography

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

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 60,00
Teste 40,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% Average mark of exercices during theoretical classes
20% Average mark of exercices during practical classes
60% Final exam grade
(Minimum grade at the final exam: 9 out of 20)

Classification improvement

Exam (with weight 100% on the grade)


Jury: João Pedro Pedroso, Rita Ribeiro.
Recommend this page Top
Copyright 1996-2021 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2021-06-19 at 17:30:28