Go to:
Esta página em português Ajuda Autenticar-se
You are in:: Start > CC1022

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 II

Code: CC1022     Acronym: CC1022     Level: 100

Classification Keyword
OFICIAL Computer Science

Instance: 2020/2021 - 2S Ícone do Moodle Ícone  do Teams

Active? Yes
Web Page: https://github.com/hpacheco/progii
Responsible unit: Department of Computer Science
Course/CS Responsible: First Degree in Mathematics

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 2 study plan from 2016/17 3 - 6 56 162
L:EG 36 The study plan from 2019 1 - 6 56 162
L:F 0 study plan from 2017/18 3 - 6 56 162
L:G 1 study plan from 2017/18 2 - 6 56 162
L:M 8 Plano de estudos Oficial a partir do ano letivo 2021/22 2 - 6 56 162
L:Q 2 study plan from 2016/17 3 - 6 56 162

Teaching - Hours

Theoretical classes: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Theoretical classes Totals 1 2,00
Hugo José Pereira Pacheco 2,00
Laboratory Practice Totals 2 4,00
Luís Miguel Barros Lopes 3,00
Hugo José Pereira Pacheco 1,00

Teaching language

Suitable for English-speaking students


The purpose of this course is to develop the ability of using a programing language to develop complex programs and automatize practical tasks of data exploration, and to offer an introduction to  data extraction, processing, and visualization.


Learning outcomes and competences

The student is able to:

  • Using the basic Python data structures with confidence.
  • Program with the adequate level of abstraction and encapsulation.
  • Produce correct, well-structured, and well-documented code.
  • Extract and process data from diverse sources and in different formats.
  • Use external libraries for the visualization of numerical and geospacial data.

Note: all coding in this course is to be done in Python.

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Some basic familiarity with the Python language and its development environment is preferential, as present in the program of the Programming I Curricular Unit.


Review of Python. Basic Python data types. Data types for collections: lists, queues, stacks, tuples, dictionaries and sets. Definition of new data types: class, objects, and methods. Structuring of code using modules.

Three basic programming principles: encapsulation, abstraction and separation of concerns.

Introduction to data extraction and processing. Reading of textual data in different formats and conversion to Python data structures. Programatic manipulation and treatment of data.

Introduction to data visualization. The use of external libraries. Visualization of numeric and geospacial data.

Mandatory literature

Allen Downey; How to think like a computer scientist. ISBN: 0-9716775-0-6

Complementary Bibliography

Daniel Y. Chen; Pandas for Everyone, Addison-Wesley

Teaching methods and learning activities

- Lectures, with examples of problem solving.

- Practical sessions in the laboratory.

- Homework.


Pycharm Community Edition 2020


Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation without final exam

Assessment Components

designation Weight (%)
Trabalho prático ou de projeto 70,00
Prova oral 30,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

All enroled students are considered to have attended the course.

Calculation formula of final grade

Grading will the done via a practical project (70%), to be developed during the practical sessons and including additional homework tasks. An oral defense if the practical project is also planned (30%).

The final grade will be the sum of the grades of the practical project and the oral defense.

Classification improvement

The practical project may be improved and re-submitted during appeal season, and in that case new functionality will be required.
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-10-25 at 19:01:26