Introduction to Programming: from a long standing programmer's perspective.