Python Programming Theory Notes