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


Groups > comp.lang.python > #61594

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

Path csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.022
X-Spam-Evidence '*H*': 0.96; '*S*': 0.00; 'programmer': 0.03; 'subject:Python': 0.06; 'subject:language': 0.09; 'yeah,': 0.09; 'cc:addr:python-list': 0.11; 'wrote': 0.14; '"in': 0.16; '(phd': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'programmer,': 0.16; 'subject:programming': 0.16; 'student': 0.16; 'language': 0.16; 'wrote:': 0.18; 'looked': 0.18; '(where': 0.19; 'thu,': 0.19; 'programming': 0.22; 'cc:addr:python.org': 0.22; 'regardless': 0.24; 'cc:2**0': 0.24; 'subject:/': 0.26; 'header :In-Reply-To:1': 0.27; '[1]': 0.29; 'am,': 0.29; 'dec': 0.30; 'statement': 0.30; 'especially': 0.30; 'message- id:@mail.gmail.com': 0.30; '(which': 0.31; 'explained': 0.31; 'languages': 0.32; 'run': 0.32; 'another': 0.32; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'really': 0.36; 'done': 0.36; 'url:org': 0.36; 'step': 0.37; 'that,': 0.38; 'does': 0.39; '12,': 0.39; 'called': 0.40; 'how': 0.40; 'took': 0.61; 'first': 0.61; 'times': 0.62; 'sum': 0.64; 'between': 0.67; 'walk': 0.74; 'saw': 0.77; 'dry': 0.84; 'mistakes.': 0.84; 'step.': 0.91; 'to:none': 0.92; 'differences': 0.93; '2013': 0.98
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=ZjferJFAViovTPzI29FGlJr/hhHLleMEdyEGphgOsvg=; b=L2btWHRwdEVCK4dsiCyQ3pPd++zUjzamzhd2Ry5mHRns+2XGZVdEqnGDj90tTxWYUx q73NKNZgFvV3tNfV2Yc9wdA7iQCAFOnwoqcuVwxGJ/cZLE8GUeEX8axxbx4EAqCwiWFh zAdIoHhDjnABErmfbpzyJlKqsSfd+imyOhYZelB+zZonTvJR3G/L012Mvoe/nlCFLuTB SJPIl4yBbEkl9omE+g+Iz0zE4oCgS0F1487OmsnbEVFr3LFUQUnMukw5LJF5l0aJocYc VB+Rf9WPJEtyhWTqJG9MR42DJAccjVc3ZrbQauX0oowfry1qSxswF51ciCEoUUvKUC54 B1/w==
MIME-Version 1.0
X-Received by 10.68.212.163 with SMTP id nl3mr2658340pbc.25.1386778452294; Wed, 11 Dec 2013 08:14:12 -0800 (PST)
In-Reply-To <52A88C66.8050103@gmail.com>
References <CAHVvXxS23g8dxO23pPTmXLo0z=QzJY_CjwMUtJcvAVfRhZa8bA@mail.gmail.com> <201312090824.25211.gheskett@wdtv.com> <52A78F6F.3060507@stoneleaf.us> <CABicbJKoN9fV48yskd5wqE79vsb5=nPGfwgOTCO+fCFMG7g8qw@mail.gmail.com> <CAPTjJmpQ9bFP66j3p-PDb2Mp88GKWKktrcFRCWQtdo6fb8LHmA@mail.gmail.com> <52A88C66.8050103@gmail.com>
Date Thu, 12 Dec 2013 03:14:12 +1100
Subject Re: Experiences/guidance on teaching Python as a first programming language
From Chris Angelico <rosuav@gmail.com>
Cc "comp.lang.python" <python-list@python.org>
Content-Type text/plain; charset=UTF-8
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.3912.1386778455.18130.python-list@python.org> (permalink)
Lines 27
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1386778455 news.xs4all.nl 2869 [2001:888:2000:d::a6]:52396
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:61594

Show key headers only | View raw


On Thu, Dec 12, 2013 at 3:01 AM, bob gailer <bgailer@gmail.com> wrote:
> One student (PhD in Physics) looked at X = X + 1 and said "no it doesn't".

Yeah, which is why some languages (I first met it with Pascal) spell
that as "X *becomes* X + 1"... but regardless of what you call it,
there's a fundamental difference between algebra (where every line is
a statement of truth) and imperative programming (which may change
state as time progresses). What's called a "variable" in programming
really can vary; in maths, it's really just an "unknown". This is a
difference that, one way or another, just has to be taught.

> Another wrote his first program. I took one look at it and saw the mistakes.
> I explained how to walk thru the program step by step. He exclaimed "In that
> much detail?".

You mean a dry run [1]? Yes, can be tedious. Can also be very VERY
valuable, especially if done verbally to another programmer, as a
means of spotting differences between what the programmer thinks
something does and what the language thinks it does.

x = a * b + c

"Set x to a times the sum of b and c."

ChrisA

[1] http://foldoc.org/dry+run

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-12 03:14 +1100

csiph-web