User Tools

Site Tools


Directory with (useful) resources

Master in Informatics and Computing Engineering
Programming Fundamentals
Instance: 2020/2021

1. Official documentation

  • The Python Tutorial — "official" tutorial introduces the reader informally to the basic concepts and features of the Python language and system.
  • The Python Language Reference — "official" reference manual describes the syntax and “core semantics” of the language. It is terse, but attempts to be exact and complete.
  • The Python Standard Library — "official"/technical explanation of what a particular function/operator does, examples of correct syntax, what the various libraries are, etc.

2. Books

  • Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers, How to Think Like a Computer Scientist Learning with Python 3, Release 3rd Edition, 2019, PDF HTML
  • Steven F. Lott, Building Skills in Python - A Programmer's Introduction to Python, FreeTechBooks, 2010 HTML
  • David Mertz, Functional Programming in Python, O’Reilly Media, 2015 PDF
  • Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data, Second Edition. MIT Press, 2016. ISBN: 9780262529624
  • Ernesto Costa, Introdução à Programação e Resolução de Problemas com Python, FCA, 2015, ISBN: 9789727228164
  • João Pavão Martins, Programação em Python - Introdução à Programação Utilizando Múltiplos Paradigmas, Instituto Superior Técnico, 2ª edição, 2017, ISBN: 9789898481474

3. Tutorials

4. Software

  • Anaconda Python — Python Scientific Distribution (package manager, environment manager and Python distribution with a collection of 1,000+ open source packages)
  • Anaconda install — Anaconda requirements & installation
  • Miniconda — Minimal installer for conda
  • Spyder (Scientific Python Development Environment) — an IDE useful for writing, running, and debugging code
  • Pylint — a lint tool that uses heuristics to catch bugs in your code
  • Python Tutor — an excellent way to actually visualize how the interpreter actually reads and executes your code
  • Pygame — a library for making multimedia applications like games built on top of the SDL library

5. Online exercises

6. Advanced challenges!

  • Project Euler — additional programming challenges you can try once your Python knowledge becomes stronger
  • HackerRank — HackerRank team is on a mission to match every developer in the world to the right job by providing a technical recruiting platform that assesses developers based on actual coding skills
  • Coding Bat — problems you can solve within an online interpreter
  • Python Challenge — a series of puzzles you can try to test your Python abilities
  • Codewars — improve your skills by training on real code challenges

FPRO, 2020/21

teach/fpro/resources.txt · Last modified: 23/09/2020 23:28 by Correia Lopes