J. Correia Lopes

FEUP/DEI & INESC TEC

User Tools

Site Tools


teach:fpro:resources

Directory with (useful) resources

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


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 (RLE), 2012, PDF 2018 HTML
  • Brad Miller and David Ranum, Learning with Python: Interactive Edition. Based on material by Jeffrey Elkner, Allen B. Downey, and Chris Meyers HTML
  • Steven F. Lott, Building Skills in Python - A Programmer's Introduction to Python, FreeTechBooks, 2010 HTML
  • Allen Downey, Think Python — How to Think Like a Computer Scientist, 2nd Edition, Version 2.2.23, Green Tea Press, 2015 HTML PDF code
  • 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
  • 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
  • Ernesto Costa, Introdução à Programação e Resolução de Problemas com Python, FCA, 2015, ISBN: 9789727228164

3. Tutorials

4. Online exercises

5. Software

  • Spyder (Scientific Python Development Environment) — an IDE useful for writing, running, and debugging code
  • Python Tutor — an excellent way to actually visualize how the interpreter actually reads and executes your code
  • Matplotlib — for 2D and 3D plotting in the consoles
  • numpy — for view and editing two or three dimensional arrays in the Variable Explorer
  • SciPy — signal and image processing
  • Debugging in Python — steps you can take to try to debug your program
  • Anaconda Python — Python Scientific Distribution (package manager, environment manager and Python distribution with a collection of 1,000+ open source packages)
  • Anaconda install — Anaconda install
  • Visual Studio Code — a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux
  • Python Tools for Visual Studio — Visual Studio plug-in enabling Python programming

6. Other

  • MIT 6.0001 @ OCW — Introduction to Computer Science and Programming in Python
  • FPROtest — a tool to test and grade FPRO submissions of RE & PE Evaluations
  • Kahoot — a game-based learning and trivia platform used in classrooms
  • Codeboard.io — a web-based IDE to teach programming in the classroom. Easily create and share exercises with students. Analyze and inspect students' submissions with a single click (ETH, B. Meyer)
  • 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
  • Flask — Web development
  • Python Challenge — a series of puzzles you can try to test your Python abilities
  • Project Euler — additional programming challenges you can try once your Python knowledge becomes stronger; problems are sorted by increasing difficulty
  • Codewars — improve your skills by training on real code challenges
  • Biopython — a set of freely available tools for biological computation


FPRO, 2018/19

teach/fpro/resources.txt · Last modified: 08/12/2018 17:56 by Correia Lopes