Experiences/guidance on teaching Python as a first programming language
rantingrickjohnson at gmail.com
Tue Dec 17 04:26:37 CET 2013
On Monday, December 9, 2013 2:53:30 PM UTC-6, bob gailer wrote:
> Taking the opposite perspective from Gene: I think Python
> is great as an intro to computing and programming. Give a
> student a tool with which he can be productive quickly.
> and with minimal effort. Understanding the real machine
> may be of interest to some but is not essential .I'd make
> that "later" and optional. Do you teach potential drivers
> how the engine works before letting them drive?
No, not a scientific understanding of the process by which
chemical energy is converted to mechanical energy, or even the
demanding study of fuel efficiency, or much less the historical
evolution of engines from the time of the Aeolipile
But, as with any mental evolution, many tangential areas
of study need to be considered for both the wholistic and
practical application of said knowledge.
The first course of study for any "would be" motor vehicle
operator is the fundamental forces of classical physics that
effect ALL bodies in motion -- acceleration, velocity,
inertia, blah-blah-blah, but, more importantly, how these
forces are amplified to extreme danger during the operation
of a motor vehicle.
Secondly even though a student of "motorized locomotion"
need not understand the inner workings of an internal
combustion engine, he would behoove himself to study some
basic and practical knowledge of the generalized system.
1. A modern motor vehicle converts chemical energy
stored in fuel into mechanical energy via and internal
explosion. The major components of a modern motor
vehicle include: Engine, Transmission and Drive-train
-- Nuff said.
2. Mechanical components require fluids to reduce
friction and remove heat from the system, therefore, a
working knowledge of fluid levels and locations is
Furthermore, fluids are color coded. Oil is black; most
transmission fluids are red; coolant is colored yellow
(or green) and mixed with water.
**As a side note, you might want to be aware that
ethylene glycol, whilst quite poisonous, tastes
sweet. That fact may seem inconsequential until your
beloved pet drinks leaking coolant water, quickly
goes blind, and dies a slow horrible death.
3. Vehicles require lights and signals for safety and
useability. An understanding of the proper locations
and procedures for periodic testing is vital to safe
operation. Same for other safety devises and interfaces.
4. Obviously some rules of the road are applicable.
Your car will not be the ONLY vehicle on the road,
therefor your must understand how to interface with
other drivers, navigate adverse road conditions, and
react to unexpected situations that can arise at any
The main points i outlined are merely a blip on the radar of
the many tangential points of study, however, they are quite
relevant to proper operation of a motor vehicle. Most of you
can probably draw the parallels to programming from these
My opinion is that problem solving should be covered before
any language is even discussed or any code is written. Too
many people lack basic problem solving skills. Look, if you
can't write up (or imagine) the "general" steps that are
required to solve your problem, then how the heck do you
expect to write code to solve the problem?
And let's just get one thing strait from day uno for all you
"perspective programmers" out there:
If the idea of banging your head on a desk for days
only to find out that some stupid API does not work as
expected, or was poorly designed, or that, GOD
FORBID... you made the dumbest mistake ever!
Ha Ha Ha!
If the idea of that kind of mind numbing detective
work is not fun for you, well, you're in good company
because i don't always enjoy it either...
if you're not driven by the satisfaction of finding
the answer; by a burning desire to solve the problem;
by an unflinching will not to be defeated by any bug
-- because the answer is always out there, you just
have to find it -- well then, programming might not be
But i'm just wasting my time because soon you'll discover
Python list and Stack overflow and from these sources flows
an endless supply of free labor.
Teach a man to Google and others program for a day.
Teach him to problem solve, and he programs for life.
More information about the Python-list