teach:fpro:resources
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
-
-
-
-
MIT 6.0001 @ OCW — materials from the MIT course "Introduction to Computer Science and Programming in Python"
CheckIO — learn Python by exploring a game world
-
Codecademy — learn Python3 by building web apps and manipulating data; interactive tutorial sequence
-
-
Stack Overflow — a large Q&A forum for programming concepts (not just Python)
-
4. Software
Anaconda Python — Python Scientific Distribution (package manager, environment manager and Python distribution with a collection of 1,000+ open source packages)
-
-
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
-
Test — FPRO's tool to test and grade submissions of RE & PE
-
-
-
leetcode — exercises and more (requires sign-up)
-
-
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