Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #61415 > unrolled thread

Re: Experiences/guidance on teaching Python as a first programming language

Started bybob gailer <bgailer@gmail.com>
First post2013-12-09 15:53 -0500
Last post2013-12-17 04:05 +0000
Articles 4 — 4 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Experiences/guidance on teaching Python as a first programming language bob gailer <bgailer@gmail.com> - 2013-12-09 15:53 -0500
    Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-09 16:32 -0500
    Re: Experiences/guidance on teaching Python as a first programming language Rick Johnson <rantingrickjohnson@gmail.com> - 2013-12-16 19:26 -0800
      Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve@pearwood.info> - 2013-12-17 04:05 +0000

#61415 — Re: Experiences/guidance on teaching Python as a first programming language

Frombob gailer <bgailer@gmail.com>
Date2013-12-09 15:53 -0500
SubjectRe: Experiences/guidance on teaching Python as a first programming language
Message-ID<mailman.3797.1386622419.18130.python-list@python.org>
On 12/9/2013 7:23 AM, Oscar Benjamin wrote:
[snip]
> I'm interested to know if anyone can share experience of
> a similar situation or can point to any case studies about this.
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?

Caution: having listened to many students express their suffering on 
these lists I recommend:
beta test any course before putting it into production.
be sure you give the student what he needs to understand and take the 
next step.
be sure your instructors are willing to help the students.
it is, after all, the job of the instructor to ensure the student succeeds.

[toc] | [next] | [standalone]


#61418

FromRoy Smith <roy@panix.com>
Date2013-12-09 16:32 -0500
Message-ID<roy-95A817.16323409122013@news.panix.com>
In reply to#61415
In article <mailman.3797.1386622419.18130.python-list@python.org>,
 bob gailer <bgailer@gmail.com> wrote:

> Understanding the real machine may be of interest to some but is not 
> essential.

Surprisingly (to myself, anyway), I agree.

Languages like C, Fortran, and Java, are fairly close to the machine.  
They all expose (C more than the others) fundamental machine features 
such as hardware data types (various sizes of ints and floats) and 
addresses.  Understanding how a computer works gives you added 
understanding of how the higher level language you're using works.

But, Python operates at a higher level of abstraction.  In a sense, 
understanding how a computer works is a hinderance to learning Python.  
Look at all the beginner questions we get regarding what

>>> a = 47

means in Python.  People have a mental picture of a 32-bit (or maybe 
64-bit) integer value 47 being placed into some pre-allocated memory 
location, and that interferes with their understanding of what's really 
happening in Python.  Likewise, they have incorrect expectations about 
what happens if that follow that up with

>>> b = a ** 100

[toc] | [prev] | [next] | [standalone]


#62139

FromRick Johnson <rantingrickjohnson@gmail.com>
Date2013-12-16 19:26 -0800
Message-ID<61e7f602-f9aa-45c5-a3a4-c99a7eadf24e@googlegroups.com>
In reply to#61415
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.

[toc] | [prev] | [next] | [standalone]


#62147

FromSteven D'Aprano <steve@pearwood.info>
Date2013-12-17 04:05 +0000
Message-ID<52afcd78$0$29973$c3e8da3$5496439d@news.astraweb.com>
In reply to#62139
On Mon, 16 Dec 2013 19:26:37 -0800, Rick Johnson wrote:

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

/s/beloved pet/Russian tank crew/


-- 
Steven

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web