Go to:
Esta página em português Ajuda Autenticar-se
Formação Online da Biblioteca
You are here: Start > MM0061

Introduction to Programming

Code: MM0061     Acronym: IPROG

Classification Keyword
OFICIAL Communication Technology

Instance: 2017/2018 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Multimedia

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MM 23 Syllabus 1 - 6 45 162

Teaching - Hours

Recitations: 3,00
Type Teacher Classes Hour
Recitations Totals 1 3,00
Rui Pedro da Silva Nóbrega 3,00

Teaching language

Suitable for English-speaking students


The main objective is to acquire essential programming knowledge, using Python as support language.

Learning outcomes and competences

After the completion of this course unit, students should be able to:
 * Know the fundamental concepts of programming
 * Devise simple computer programs
 * Implement such programs in the Python programming language

Working method



 * Basic concepts of computer programming
 * Variables, data types and operations
 * Control structures
 * Functions
 * String, lists, dictionaries
 * Files
 * Recursivity
 * Procedural vs. Object-oriented programming
 * Classes, inheritance, polymorphism
 * Data structures (linked lists, hash tables, trees)
 * Introduction to algorithm analysis

Mandatory literature

How to Think Like a Computer Scientist: Learning with Python 3ed; Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers, 2012 (available online at: http://www.openbookproject.net/thinkcs/python/english3e/)

Complementary Bibliography

Mark Lutz, David Ascher; Learning Python. ISBN: 978-0-596-00281-7
John C. Lusth; The Art and Craft of Programming - Python Edition, 2011 (available online at: http://beastie.cs.ua.edu/cs150/book/index.html)
Al Sweigart; Making Games with Python & Pygame, CreateSpace Independent Publishing Platform, 2012. ISBN: 978-1469901732 (available online at: http://inventwithpython.com/pygame/chapters/)

Teaching methods and learning activities

Theoretical presentation of the fundamental concepts and applications. Practical examples and resolution of the proposed exercises by the students.  Elaboration of small projects where the acquired knowledge is applied.




Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 40,00
Trabalho laboratorial 60,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 60,00
Estudo autónomo 60,00
Frequência das aulas 42,00
Total: 162,00

Eligibility for exams

The students should not exceed the limit of allowed classes' absences (25% of the expected classes) and should get at least 50% of the maximum grade for the classes evaluation part of the final grade - DE in the final grade calculation formula below.

Student workers and equivalents exempted from classes must, on a regular basis, combine their work with the teachers, present the progress of their work, as well as present them simultaneously with ordinary students, and carry out the practical tests of individual assessment provided.

Calculation formula of final grade

Final Grade = 0,6 DE + 0,4 EX

DE = 1/3 TP1 + 2/3 TP2 

DE - Distributed evaliation
EX - Final exam
A1 - Assignment 1
A2 - Assignment 2

The students should also have a minimum of 40% in the exam component (EX).

Examinations or Special Assignments

Not applicable.

Special assessment (TE, DA, ...)

Students with a special status are assesses as regular students. They have to perform the same assignments within the same deadline as regular students.

Classification improvement

The grade of the exam may be improved at a second exam ("recurso"). Students may improve the grade of the continuous assessment component on the subsequent academic year.

Recommend this page Top
Copyright 1996-2021 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2021-05-14 at 09:51:00