J. Correia Lopes

FEUP/DEI & INESC TEC

User Tools

Site Tools


teach:fpro:labs:11

P: 10/12/2018

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


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

Goals

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

Bibliography

  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

Tasks

  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

Materials

  • 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

Summary

  • 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