J. Correia Lopes


User Tools

Site Tools


P: 10/12/2018

Master in Informatics and Computing Engineering
Programming Fundamentals
Instance: 2018/2019

Practical work #11 :: Week of 10/12/2018


By the end of this class, the student should be able to:

  • Write Python3 programs using a Effect-free programming style
  • Write code using sequence processing functions: map(), filter() and reduce()
  • Program list processing patterns using List Comprehensions and lambda forms


  1. Steven F. Lott, Building Skills in Python — A Programmer's Introduction to Python, FreeTechBooks, 2010 (Chapter 21) PDF
  2. David Mertz, Functional Programming in Python, O’Reilly Media, 2015, available in PDF
  3. Andrew Kuchling, Functional Programming HOWTO, Python 3.6.7 documentation, Release 3.6.7, November 20, 2018, HTML


  1. Study the bibliography available on the class topic
  2. Download the PDF of the Recitation and away programming assignments (RE) of the week
  3. Start answering the exercises of the assignment
  4. Test your solutions to the exercises at FPROtest1)
  5. When ready, before the deadline, go to Moodle to submit


  • FPRO, "Assignment #11: FP with Collections", RE11: FP with Collections
  • FPRO, "Moodle task for this week", available online at Moodle
  • FPRO, "FPRO Playground", FPROplay2)
  • J. Correia Lopes, Lecture #19 – Functional programming with collections, 2018, available online at FPRO's wiki
  • J. Correia Lopes, Lecture #20 – Effect-free programming style, 2018, available online at FPRO's wiki


  • Write Python3 code in a effect-free programming style, using sequence processing functions, iterators, list comprehensions, generators and lambda forms.

FPRO, 2018/19

« Previous | Index | Next »

1) , 2)
Needs VPN, if outside FEUP's network
teach/fpro/labs/11.txt · Last modified: 14/12/2018 08:39 by Correia Lopes