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: 2020/2021 - 2S Ícone do Moodle

Active? Yes
Web Page: https://brunoloff.wordpress.com/programacao-i-2021/
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Chemistry

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:M 111 Official Study Plan 1 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Bruno Serra Loff Barreto

Teaching - Hours

Theoretical classes: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Theoretical classes Totals 1 2,00
Bruno Serra Loff Barreto 2,00
Laboratory Practice Totals 4 8,00
João Luis Alves Barbosa 4,00
Bruno Serra Loff Barreto 2,00
Michel Celestino Paiva Ferreira 2,00

Teaching language



Introduction to the use of computers running GNU/LInux operating systems.

Introduction to programming using the Python language.

Notions of low and high level languages; interpreters and compilers; editor and development environmnets. Values, types and expressions. Functions and procedures. Conditionals and selection. Iteration and recursion. Basic data structures and algorithms:  data processing, text, numerical computation.

Learning outcomes and competences

At the end of the course, the student should be able to:

1. simulate the step-by-step execution of simple programs;

2. write programs to solve solve simple problems (e.g. numerical computations or text processing);

3. decompose problems into sub-tasks suitable for re-usable sub-routines;

4. debug programs using testing

5. know elementary algorithms for data and text processing and numeric computation.

Working method


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


1. Brief historical introduction to computing and programming languages
2. Introduction to Python: variables, expressions and instructions
3. Interactive use of Python language; defining scrips and short functions
4. Conditions and logical values; instructions for conditional execution
5. Cicles and iteration. Examples using turtle graphics
6. Recursion
7. Processing indexed variables (lists) and text (strings)
8. Writing and reading data as text files
9. Simple numerical algorithms.

Mandatory literature

Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers; How to Think Like a Computer Scientist (http://openbookproject.net/thinkcs/python/english3e)

Complementary Bibliography

Justin Solomon; Numerical Algorithms (https://people.csail.mit.edu/jsolomon/share/book/numerical_book.pdf)

Teaching methods and learning activities

Lectures; program analysis; practical, programming classes; students will use tools for automatic evaluation of their programs.


Pycharm Community Edition 2020

Evaluation Type

Distributed evaluation with final exam

Assessment Components

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

Amount of time allocated to each course unit

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

Eligibility for exams

Frequency of practical classes, according to the rules of the University and FCUP.  Students must attend at least 75% of the practical classes to be admitted to the exams. Students who miss more than four classes cannot attend the exams. 


Changes due to Covid-19:

All students will be allowed to take the exam. 

Calculation formula of final grade

There will be one test and one exam. The final grade will be 50% * Test grade + 50% * Final exam grade. The test and exam will both have a coding component and a written component.

Examinations or Special Assignments

Internship work/project

Special assessment (TE, DA, ...)

Classification improvement

Grade improvement is possible in the second exam season. It is possible to improve only the test, or only the exam.


Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-02-28 at 02:15:12 | Acceptable Use Policy | Data Protection Policy | Complaint Portal