Experiences/guidance on teaching Python as a first programming language

Rick Johnson 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
  vital.

    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
  time.

============================================================
 Conclusion:
============================================================
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
examples.

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...

      HOWEVER!

  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
  for you.

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 mailing list