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


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

Experiences/guidance on teaching Python as a first programming language

Started byOscar Benjamin <oscar.j.benjamin@gmail.com>
First post2013-12-09 12:23 +0000
Last post2014-01-29 03:09 +0000
Articles 20 on this page of 130 — 29 participants

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


Contents

  Experiences/guidance on teaching Python as a first programming language Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-12-09 12:23 +0000
    Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-09 05:54 -0800
    Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-09 08:57 -0800
      Re: Experiences/guidance on teaching Python as a first programming language William Ray Wing <wrw@mac.com> - 2013-12-09 12:55 -0500
      Re: Experiences/guidance on teaching Python as a first programming language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-10 18:25 +1300
        Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-10 16:55 +1100
          Re: Experiences/guidance on teaching Python as a first programming   language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-11 10:38 +1300
        Re: Experiences/guidance on teaching Python as a first programming language Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-12-10 20:35 -0500
          Re: Experiences/guidance on teaching Python as a first programming language Denis McMahon <denismfmcmahon@gmail.com> - 2013-12-11 02:16 +0000
            Re: Experiences/guidance on teaching Python as a first programming language Larry Martell <larry.martell@gmail.com> - 2013-12-11 07:08 -0500
          Re: Experiences/guidance on teaching Python as a first programming language Grant Edwards <invalid@invalid.invalid> - 2013-12-11 15:05 +0000
          Re: Experiences/guidance on teaching Python as a first programming language Rick Johnson <rantingrickjohnson@gmail.com> - 2013-12-16 16:47 -0800
            Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-16 20:06 -0500
              Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-17 01:25 +0000
              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-17 12:27 +1100
              Re: Experiences/guidance on teaching Python as a first programming language Gene Heskett <gheskett@wdtv.com> - 2013-12-16 20:32 -0500
              Re: Experiences/guidance on teaching Python as a first programming language "Cousin Stanley" <cousinstanley@gmail.com> - 2013-12-17 07:32 -0700
                Re: Experiences/guidance on teaching Python as a first programming language Gene Heskett <gheskett@wdtv.com> - 2013-12-17 12:27 -0500
        Re: Experiences/guidance on teaching Python as a first programming language Neil Cerutti <neilc@norwich.edu> - 2013-12-11 15:46 +0000
    Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.demon.co.uk> - 2013-12-09 23:32 +0000
      Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-09 18:42 -0500
        Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.demon.co.uk> - 2013-12-10 00:00 +0000
        Re: Experiences/guidance on teaching Python as a first programming language Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-12-09 20:56 -0500
    Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-12 21:36 +0100
      Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-13 08:12 +1100
        Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-16 21:32 +0100
          Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.org.uk> - 2013-12-16 23:01 +0000
          Re: Experiences/guidance on teaching Python as a first programming language Ned Batchelder <ned@nedbatchelder.com> - 2013-12-16 19:28 -0500
            Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-16 16:39 -0800
              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-17 11:44 +1100
                Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-16 17:58 -0800
              Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-17 02:33 +0000
                Re: Experiences/guidance on teaching Python as a first programming language Rick Johnson <rantingrickjohnson@gmail.com> - 2013-12-16 20:41 -0800
                Re: Experiences/guidance on teaching Python as a first programming language Neil Cerutti <neilc@norwich.edu> - 2013-12-17 14:51 +0000
                  Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-17 09:54 -0500
                    Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-17 15:07 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-17 15:24 +0000
                      Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-17 15:35 +0000
                      Re: Experiences/guidance on teaching Python as a first programming language Larry Martell <larry.martell@gmail.com> - 2013-12-17 11:21 -0500
                        Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-17 08:56 -0800
                  Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-17 10:03 -0800
                    Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 05:20 +1100
                    Re: Experiences/guidance on teaching Python as a first programming language Joel Goldstick <joel.goldstick@gmail.com> - 2013-12-17 13:39 -0500
                  Re: Experiences/guidance on teaching Python as a first programming language dkcombs@panix.com (David Combs) - 2014-01-29 03:17 +0000
              Re: Experiences/guidance on teaching Python as a first programming language Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-12-17 11:12 +0000
                Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-17 12:18 +0000
                Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-17 16:51 +0100
                  Re: Experiences/guidance on teaching Python as a first programming language Grant Edwards <invalid@invalid.invalid> - 2013-12-17 16:59 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Larry Martell <larry.martell@gmail.com> - 2013-12-17 12:18 -0500
                    Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-17 17:24 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-17 17:44 +0000
                      Re: Experiences/guidance on teaching Python as a first programming language Grant Edwards <invalid@invalid.invalid> - 2013-12-17 19:38 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-17 19:39 -0500
                      Re: Experiences/guidance on teaching Python as a first programming language Grant Edwards <invalid@invalid.invalid> - 2013-12-18 18:05 +0000
                        Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-18 18:17 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-18 20:49 -0500
                            Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-19 02:05 +0000
                            Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-19 15:54 +0100
                        Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-18 20:40 -0500
                          Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 20:05 -0800
                            Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-18 23:16 -0500
                              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-19 15:26 +1100
                              Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 20:48 -0800
                                Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-19 09:14 -0800
                              Re: Experiences/guidance on teaching Python as a first programming language 88888 Dihedral <dihedral88888@gmail.com> - 2013-12-18 22:03 -0800
                          Re: Experiences/guidance on teaching Python as a first programming language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-19 19:40 +1300
                    Re: Experiences/guidance on teaching Python as a first programming language Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-12-17 20:20 -0500
                  Re: Experiences/guidance on teaching Python as a first programming language Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-12-17 17:09 +0000
                  Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-17 19:32 -0500
                    Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve@pearwood.info> - 2013-12-18 01:33 +0000
                      Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 13:11 +1100
                        Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve@pearwood.info> - 2013-12-18 08:22 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 19:32 +1100
                          Re: Experiences/guidance on teaching Python as a first programming
 language Dave Angel <davea@davea.name> - 2013-12-18 07:53 -0500
                          Re: Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-19 01:55 +1100
                            Re: Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.org.uk> - 2013-12-19 00:10 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Neil Cerutti <neilc@norwich.edu> - 2013-12-18 15:17 +0000
                          Re: Re: Experiences/guidance on teaching Python as a first
 programming language Dave Angel <davea@davea.name> - 2013-12-18 15:52 -0500
                            Re: Experiences/guidance on teaching Python as a first programming language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-19 19:41 +1300
                              Re: Experiences/guidance on teaching Python as a first programming
 language Dave Angel <davea@davea.name> - 2013-12-19 07:06 -0500
                        Re: Experiences/guidance on teaching Python as a first programming language Grant Edwards <invalid@invalid.invalid> - 2013-12-18 18:00 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-18 18:07 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-18 20:56 -0500
                            Re: Experiences/guidance on teaching Python as a first programming language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-19 18:39 +1300
                              Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-19 00:56 -0500
                      Re: Experiences/guidance on teaching Python as a first programming language Paul Smith <paul@mad-scientist.net> - 2013-12-17 22:49 -0500
                        Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve@pearwood.info> - 2013-12-18 08:18 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 19:51 +1100
                            Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-19 16:20 +0000
                              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-20 04:02 +1100
                          Re: Experiences/guidance on teaching Python as a first programming language Ethan Furman <ethan@stoneleaf.us> - 2013-12-18 07:23 -0800
                            Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 08:53 -0800
                              Re: Experiences/guidance on teaching Python as a first programming language Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-12-18 19:29 -0500
                            Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-19 16:20 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-18 17:15 +0000
                            Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-19 17:12 +0000
                              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-20 04:28 +1100
                              Re: Experiences/guidance on teaching Python as a first programming language Neil Cerutti <neilc@norwich.edu> - 2013-12-19 18:40 +0000
                              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-20 07:18 +1100
                              Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-19 19:38 -0500
                                Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.org.uk> - 2013-12-20 00:45 +0000
                                Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-20 02:16 +0000
                                  Re: Experiences/guidance on teaching Python as a first programming language Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-12-20 18:58 -0500
                                  Re: Experiences/guidance on teaching Python as a first programming language Ned Batchelder <ned@nedbatchelder.com> - 2013-12-20 21:04 -0500
                                Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-27 14:35 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Terry Reedy <tjreedy@udel.edu> - 2013-12-18 17:33 -0500
                            Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-19 17:06 +0000
                              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-20 04:18 +1100
                          Re: Experiences/guidance on teaching Python as a first programming language Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-12-19 00:21 +0000
                      Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve@pearwood.info> - 2013-12-18 07:53 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Devin Jeanpierre <jeanpierreda@gmail.com> - 2013-12-17 18:33 -0800
                    Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 14:01 +1100
                    Re: Experiences/guidance on teaching Python as a first programming language Devin Jeanpierre <jeanpierreda@gmail.com> - 2013-12-17 19:12 -0800
                    Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 14:24 +1100
                  Re: Experiences/guidance on teaching Python as a first programming language "Rhodri James" <rhodri@wildebst.org.uk> - 2013-12-19 00:49 +0000
                    Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-19 11:54 +1100
                    Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 20:29 -0800
                      Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-19 04:50 +0000
                        Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 21:09 -0800
                          Re: Experiences/guidance on teaching Python as a first programming language Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-12-19 05:36 +0000
                        Re: Experiences/guidance on teaching Python as a first programming language Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-12-19 21:31 +0000
                          Re: Experiences/guidance on teaching Python as a first programming language Roy Smith <roy@panix.com> - 2013-12-19 19:30 -0500
                Re: Experiences/guidance on teaching Python as a first programming language rusi <rustompmody@gmail.com> - 2013-12-18 01:18 -0800
                  Re: Experiences/guidance on teaching Python as a first programming language Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-12-18 10:06 +0000
              Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-18 01:10 +1100
            Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-17 16:22 +0100
              Re: Experiences/guidance on teaching Python as a first programming language Wolfgang Keller <feliphil@gmx.net> - 2013-12-19 16:14 +0100
                Re: Experiences/guidance on teaching Python as a first programming   language Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-20 09:42 +1300
                  Re: Experiences/guidance on teaching Python as a first programming language Chris Angelico <rosuav@gmail.com> - 2013-12-20 07:51 +1100
          Re: Experiences/guidance on teaching Python as a first programming language dkcombs@panix.com (David Combs) - 2014-01-29 03:09 +0000

Page 1 of 7  [1] 2 3 4 5 6 7  Next page →


#61380 — Experiences/guidance on teaching Python as a first programming language

FromOscar Benjamin <oscar.j.benjamin@gmail.com>
Date2013-12-09 12:23 +0000
SubjectExperiences/guidance on teaching Python as a first programming language
Message-ID<mailman.3772.1386592239.18130.python-list@python.org>
Hi all,

I work in a University Engineering faculty teaching, among other
things, programming. In our last meeting about improving our teaching
syllabus and delivery we've identified the first year programming
courses as an area where there is room for improvement and we're
considering (mainly on my suggestion) switching to using Python as the
first programming language that we use to introduce our students to
programming. I'm interested to know if anyone can share experience of
a similar situation or can point to any case studies about this.

The course is for ~100 1st year students with half studying
Engineering Mathematics and the other half Electrical Engineering.
Currently we introduce programming with C for the 1st semester and
then C++ for the 2nd semester. In the 3rd semester they learn Matlab
and following on from that they can take optional units run by the CS
department in Java, Haskell and many more. Our faculty does not
currently offer any Python courses for students at any level in CS or
Engineering.

Many of the students complain that the C course is too hard and my
experience is that it doesn't equip them with the general
understanding of programming that we really want them to get from the
first programming course. I'm not sure about the Electrical
Engineering students but the Engineering Mathematics students tend not
to use C/C++ once they have covered Matlab and just use Matlab for all
future projects, including in situations where it is highly
inappropriate.

In our recent meeting I proposed that Python should be the first
programming language, and others proposed that Java should be the
second. So we're currently evaluating the option of having Python in
the first semester followed by Java in the second. Both courses would
have to be created from scratch meaning that we would need to draw a
complete outline and syllabus by mid-January in order to roll this out
for the next academic year.

I think that the benefits of this would be that using an "easy"
language would be less distracting while we introduce the general
concepts of programming. What we really want is for the students to
focus on things like "why would I write a program?", "what kind of
things can I do with a program?" and "how would I go about writing a
program that does X?". Ideally by the end of the course we want that,
given a description of a simple command line program that would
perhaps calculate something or do some simple data processing, then
the students would feel confident that they could do that. I think
that using C distracts them from learning these more important general
lessons as they struggle with simple things like how to print output,
or avoid segmentation faults. Also ideally they would continue to use
the language, where appropriate, for subsequent project work (which is
when they would *really* learn the language).

Some of the objections to the idea that were voiced in the meeting were that:
1) Some people felt that Python is not an "industry standard" unlike
C/C++/Java and that it is not as good for employability.
2) Students should learn to program in a statically typed language
because it leads to good programming discipline.
3) Python is too close to Matlab (which is considered essential for
some industries our students often go in to).
4) It is better for students to be introduced to programming with a
low-level language so that they gain a better understanding of how
computers "really work".
5) Learning to program "should be painful" and we should expect the
students to complain about it (someone actually said that!) but the
pain makes them better programmers in the end.

I'm particularly interested to know if anyone can share experience of
switching to teaching Python as a first programming language in a
similar context. A written up case study that I could circulate among
the relevant staff would be especially useful.


Thanks in advance,
Oscar

[toc] | [next] | [standalone]


#61386

Fromrusi <rustompmody@gmail.com>
Date2013-12-09 05:54 -0800
Message-ID<375c2f39-d867-4512-9776-e451281d8b98@googlegroups.com>
In reply to#61380
On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
> Hi all,

> I work in a University Engineering faculty teaching, among other
> things, programming. In our last meeting about improving our teaching
> syllabus and delivery we've identified the first year programming
> courses as an area where there is room for improvement and we're
> considering (mainly on my suggestion) switching to using Python as the
> first programming language that we use to introduce our students to
> programming. I'm interested to know if anyone can share experience of
> a similar situation or can point to any case studies about this.

1 Some Background
=================

  Early in my teaching career - 1988 -- I experienced what it means to
  switch from Pascal to Scheme to teach programming. And in 2002 I
  swtiched to using python.  I may talk a bit about this but before
  that…


2 Some Philosophical Context
============================

  Some years ago I read in a book (I think it was called "Heart of
  Philosophy") about the difference between 'ideas' and 'concepts.'
  Ideas are large vague touchy-feely things like freedom, love, justice
  etc; things that matter but poets deal with better than intellectuals.
  Concepts are the basic currency for an academic.  In a typical 1-hour
  class you deal with a few and in a lifetime you deal with thousands;
  in short they are a dime a dozen -- especially if you are an academic.

  And yet if you have a conscience you'd know that covering the concepts
  specified in a formal printed syllabus is cheating.  What really needs
  to be conveyed are a few ideas:
  - modular code
  - code invariants
  - abstractions
  - Syntax, semantics and the large grey in between which for want of a
    better word we may call 'structure'
  - Recursion much wider than people think
    see http://blog.languager.org/2012/05/recursion-pervasive-in-cs.html
  - Interpretation
    see http://blog.languager.org/2013/08/applying-si-on-sicp.html
  - Computable and non-computable
  - The meaning and significance of the word 'code'
  - (Even more vaguely) beautiful (and ugly) code

  Before reading on, I suggest you think what for a while what for you
  are important/core ideas and then what vehicles/mediums are
  conducive/obstructive to them.


3 My Prejudices
===============

  Historically I've been associated with functional programming. While I
  am not so passionate about it as when I was half my age. still I'd
  say:

  - FP *as a philosophy* collects a bunch of stuff -- technology,
    practices, culture -- that conduces to good programming even for
    kids who after the course never use FP *as a technology*
  
    See http://blog.languager.org/2012/10/functional-programming-lost-booty.html

  - By contrast OOP is mostly (at best) clerical common sense --
    organizing libraries to be easily searchable is better by data than
    by code.  At worst OOP is hogwash -- inheritance.

    And so…
  - Python which can be quite functional, imperative and object oriented
    has a rather special place.  Because it is object oriented you will
    be able to use it to silence those who are subscribed to that
    religion.  Because it is imperative you can write straightforward
    code -- 'scripts' -- without undue fanfare Because it is functional
    (well almost -- I have some beefs in this regard) you can use it as
    a vehicle to actually convey important *ideas* in short space and
    time

  - For me Lisp (closely followed by APL) are the ultimate in
    programming paradigms.  However they are not serious technology in
    2013. [Even the birthplace of Scheme -- MIT -- has switched to
    python]. And so in 2013 python occupies a sweet spot in the sense of
    being academically clean and realistically usable.

  - That said there are some important elements of FPLs, most notably a
    polymorphic type discipline, that are sorely missing from python.
    Unfortunately Haskell is much harder to teach/learn than python and
    with each new addition only gets harder.  So python remains even
    with its lacks, an academically sound language.

4 CS-Edu Writings
=================

   My CS-101 syllabus from the early 90s -- 
   uses gofer a predecessor of a predecessor of Haskell
   http://www.the-magus.in/Publications/ip.pdf

   Some more general CS-Edu related writings, containing strewn about
   "FP is a good idea"
   http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html
   and following 2 posts

------
रुसि मोदि
["Rusi Mody" in devanagari so that GG will not use an obsolete charset]

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


#61398

Fromrusi <rustompmody@gmail.com>
Date2013-12-09 08:57 -0800
Message-ID<889721b4-a980-4205-9b1d-a1bedadd7eb3@googlegroups.com>
In reply to#61380
On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
> 5) Learning to program "should be painful" and we should expect the
> students to complain about it (someone actually said that!) but the
> pain makes them better programmers in the end.

Yeah this will get some people's back up -- Atrocious! Preposterous! etc

Change the word 'pain' to 'taxing' 'hard' 'challenge' etc and there is much
truth in it.  Here is Joel Spolsky on why Java is a poor language for
this reason: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

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


#61403

FromWilliam Ray Wing <wrw@mac.com>
Date2013-12-09 12:55 -0500
Message-ID<mailman.3787.1386615358.18130.python-list@python.org>
In reply to#61398
On Dec 9, 2013, at 11:57 AM, rusi <rustompmody@gmail.com> wrote:

> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
>> 5) Learning to program "should be painful" and we should expect the
>> students to complain about it (someone actually said that!) but the
>> pain makes them better programmers in the end.
> 
> Yeah this will get some people's back up -- Atrocious! Preposterous! etc
> 
> Change the word 'pain' to 'taxing' 'hard' 'challenge' etc and there is much
> truth in it.  Here is Joel Spolsky on why Java is a poor language for
> this reason: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
> -- 
> https://mail.python.org/mailman/listinfo/python-list

I'm not sure I agree with either of these points of view. Based on my own personal experience, there is an "Ah HA!" moment[*] when a student understands what it means to decompose a problem into a series of algorithmic steps - after that, the details of the particular programming language are just that, details.

Some students get that quickly and intuitively and some never get there, but that bit of fundamental understanding doesn't require either pain or (necessarily) hard work - it just requires adopting a way of approaching and thinking about problems, a mind-set.

-Bill
------------
* For me it came during a no-credit, no-cost, lunch-time course one of my college math teachers offered for anyone who was interested.  The year was 1963, we used McCracken's FORTRAN book as our text, and tested our programs over open weekends at Argonne National Lab, where they had an IBM 1620 they opened to classes like ours a couple of times a month.

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


#61441

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2013-12-10 18:25 +1300
Message-ID<bgnmurFc5bU1@mid.individual.net>
In reply to#61398
> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
> 
>>5) Learning to program "should be painful" and we should expect the
>>students to complain about it (someone actually said that!) but the
>>pain makes them better programmers in the end.

That's like saying that when teaching woodwork we shouldn't
let people use hammers, we should make them use rocks to
bang nails in, because it will make them better carpenters
in the long run.

-- 
Greg

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


#61447

FromChris Angelico <rosuav@gmail.com>
Date2013-12-10 16:55 +1100
Message-ID<mailman.3812.1386654941.18130.python-list@python.org>
In reply to#61441
On Tue, Dec 10, 2013 at 4:25 PM, Gregory Ewing
<greg.ewing@canterbury.ac.nz> wrote:
>> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
>>
>>> 5) Learning to program "should be painful" and we should expect the
>>> students to complain about it (someone actually said that!) but the
>>> pain makes them better programmers in the end.
>
>
> That's like saying that when teaching woodwork we shouldn't
> let people use hammers, we should make them use rocks to
> bang nails in, because it will make them better carpenters
> in the long run.

But in teaching woodwork you SHOULD let people use basic tools, and
not just a CNC lathe. Or in the most extreme sense, putting together
IKEA furniture is not carpentry, and neither is picking from an
extremely limited toolbox programming - which is why "Build a program
without writing a line of code" systems are junk for anything
complicated. (Occasionally, VERY occasionally, it's possible to use
the simple drag-and-drop system to get you 90% of the way, and then
fill in the rest yourself. Usually, you'll end up fighting the system
as soon as you do something the author didn't intend.)

Programming shouldn't be painful just for the sake of making it
painful. But you should be programming, not just solving a Sudoku
puzzle. It should be possible for a programmer to develop a unique
program that does a unique thing, and if that's beyond the scope of
the system, the system isn't a programming system. (Might still be a
useful system, of course, but it's not programming.)

ChrisA

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


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

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2013-12-11 10:38 +1300
SubjectRe: Experiences/guidance on teaching Python as a first programming language
Message-ID<bgpfvhFcfugU1@mid.individual.net>
In reply to#61447
Chris Angelico wrote:
> But in teaching woodwork you SHOULD let people use basic tools, and
> not just a CNC lathe.
> 
> Programming shouldn't be painful just for the sake of making it
> painful.

That's the only point I was trying to make. Pain in and
of itself doesn't help anyone to learn anything!

-- 
Greg

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


#61513

FromDennis Lee Bieber <wlfraed@ix.netcom.com>
Date2013-12-10 20:35 -0500
Message-ID<mailman.3859.1386725754.18130.python-list@python.org>
In reply to#61441
On Tue, 10 Dec 2013 18:25:48 +1300, Gregory Ewing
<greg.ewing@canterbury.ac.nz> declaimed the following:

>> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
>> 
>>>5) Learning to program "should be painful" and we should expect the
>>>students to complain about it (someone actually said that!) but the
>>>pain makes them better programmers in the end.
>
>That's like saying that when teaching woodwork we shouldn't
>let people use hammers, we should make them use rocks to
>bang nails in, because it will make them better carpenters
>in the long run.

	NAILS????

	Nails were verboten in my high school wood working class... 

	We used dowels and glue; chisels to carve dove-tails; etc.

-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

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


#61515

FromDenis McMahon <denismfmcmahon@gmail.com>
Date2013-12-11 02:16 +0000
Message-ID<l88hth$rrp$2@dont-email.me>
In reply to#61513
On Tue, 10 Dec 2013 20:35:47 -0500, Dennis Lee Bieber wrote:

> On Tue, 10 Dec 2013 18:25:48 +1300, Gregory Ewing
> <greg.ewing@canterbury.ac.nz> declaimed the following:

>>That's like saying that when teaching woodwork we shouldn't let people
>>use hammers, we should make them use rocks to bang nails in, because it
>>will make them better carpenters in the long run.

> 	NAILS????
> 	Nails were verboten in my high school wood working class...
> 	We used dowels and glue; chisels to carve dove-tails; etc.

We were allowed to use screws, but they had to be brass, not steel, we 
had to drill appropriate clearance and pilot holes, and countersink where 
appropriate.

And god help you if you deformed the slot in a brass screw head by over 
tightening - I think that may have been why they made us use brass ones 
only, so that such damage was easier to spot and more likely to happen.

And yes, I can dovetail, mortise and tenon, dowel etc etc etc.

-- 
Denis McMahon, denismfmcmahon@gmail.com

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


#61557

FromLarry Martell <larry.martell@gmail.com>
Date2013-12-11 07:08 -0500
Message-ID<mailman.3890.1386763733.18130.python-list@python.org>
In reply to#61515
On Tue, Dec 10, 2013 at 9:16 PM, Denis McMahon <denismfmcmahon@gmail.com> wrote:
> On Tue, 10 Dec 2013 20:35:47 -0500, Dennis Lee Bieber wrote:
>
>> On Tue, 10 Dec 2013 18:25:48 +1300, Gregory Ewing
>> <greg.ewing@canterbury.ac.nz> declaimed the following:
>
>>>That's like saying that when teaching woodwork we shouldn't let people
>>>use hammers, we should make them use rocks to bang nails in, because it
>>>will make them better carpenters in the long run.
>
>>       NAILS????
>>       Nails were verboten in my high school wood working class...
>>       We used dowels and glue; chisels to carve dove-tails; etc.
>
> We were allowed to use screws, but they had to be brass, not steel, we
> had to drill appropriate clearance and pilot holes, and countersink where
> appropriate.

Ohhhh we used to DREAM of using screws! We were given steel shafts and
had to tap the threads into them with our teeth.

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


#61581

FromGrant Edwards <invalid@invalid.invalid>
Date2013-12-11 15:05 +0000
Message-ID<l89uv6$r92$1@reader1.panix.com>
In reply to#61513
On 2013-12-11, Dennis Lee Bieber <wlfraed@ix.netcom.com> wrote:

>>That's like saying that when teaching woodwork we shouldn't
>>let people use hammers, we should make them use rocks to
>>bang nails in, because it will make them better carpenters
>>in the long run.
>
> 	NAILS????
>
> 	Nails were verboten in my high school wood working class... 
>
> 	We used dowels and glue; chisels to carve dove-tails; etc.

GLUE???

-- 
Grant Edwards               grant.b.edwards        Yow! When this load is
                                  at               DONE I think I'll wash it
                              gmail.com            AGAIN ...

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


#62123

FromRick Johnson <rantingrickjohnson@gmail.com>
Date2013-12-16 16:47 -0800
Message-ID<b64dd8cc-a7b5-47d2-9fe6-d2bd6e432205@googlegroups.com>
In reply to#61513
On Tuesday, December 10, 2013 7:35:47 PM UTC-6, Dennis Lee Bieber wrote:

> NAILS???? Nails were verboten in my high school wood
> working class... We used dowels and glue; chisels to carve
> dove-tails; etc.

That could be a result of two possibilities:

    1. Your high school years were before the great war, or:
    2. Your wood shop teacher was a Luddite, a sadist, or both!
    
FYI: Fastener technology has come a long way since the fall
of the of the "Amish empire". All that laborious joinery has
been surpassed by mass production of helical threads and
pneumatic drivers. What once took a "master craftsman" an
entire day to build could now be built by a novice in mere
minutes.

  Dovetails are nothing more than sadistic nostalgia --
  they give old men a "chubby" and young men a nightmare.
  
When are we going to realize that the goal, *ahem*, OUR
GOAL, is to delegate minutiae DOWNWARDS, building the
collective knowledge base layer by layer...

    ABSTRACTIONS people, ABSTRACTIONS!!!

Because, when you've got all your mental focus attuned to
carving intricate inter-meshing teeth into dense hardwoods
using razor sharp hand tools, you will be unable to see the
big picture, and furthermore, you might slip and cut your
finger off!

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


#62126

FromRoy Smith <roy@panix.com>
Date2013-12-16 20:06 -0500
Message-ID<roy-74AF41.20060616122013@news.panix.com>
In reply to#62123
In article <b64dd8cc-a7b5-47d2-9fe6-d2bd6e432205@googlegroups.com>,
 Rick Johnson <rantingrickjohnson@gmail.com> wrote:

>   Dovetails are nothing more than sadistic nostalgia --
>   they give old men a "chubby" and young men a nightmare.

There is nothing more satisfying than cutting a set of dovetails by hand 
and having them glide together like silk, the first time you test-fit 
them, with no daylight visible anywhere.

Someday, mine will be like that :-)

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


#62127

FromMark Lawrence <breamoreboy@yahoo.co.uk>
Date2013-12-17 01:25 +0000
Message-ID<mailman.4245.1387243529.18130.python-list@python.org>
In reply to#62126
On 17/12/2013 01:06, Roy Smith wrote:
> In article <b64dd8cc-a7b5-47d2-9fe6-d2bd6e432205@googlegroups.com>,
>   Rick Johnson <rantingrickjohnson@gmail.com> wrote:
>
>>    Dovetails are nothing more than sadistic nostalgia --
>>    they give old men a "chubby" and young men a nightmare.
>
> There is nothing more satisfying than cutting a set of dovetails by hand
> and having them glide together like silk, the first time you test-fit
> them, with no daylight visible anywhere.
>
> Someday, mine will be like that :-)
>

I suspect that your manual skills are rather better than mine.  One of 
my favourite expressions, perhaps because I only ever heard my dad use 
it, is "like watching a cow handle a shotgun".

-- 
My fellow Pythonistas, ask not what our language can do for you, ask 
what you can do for our language.

Mark Lawrence

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


#62128

FromChris Angelico <rosuav@gmail.com>
Date2013-12-17 12:27 +1100
Message-ID<mailman.4246.1387243643.18130.python-list@python.org>
In reply to#62126
On Tue, Dec 17, 2013 at 12:25 PM, Mark Lawrence <breamoreboy@yahoo.co.uk> wrote:
> I suspect that your manual skills are rather better than mine.  One of my
> favourite expressions, perhaps because I only ever heard my dad use it, is
> "like watching a cow handle a shotgun".

Heh. In D&D terms, I think that would be a DEX of 5 or 6. The average
for humans is 10-11, the average for adventurers is 12-13.

ChrisA

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


#62165

FromGene Heskett <gheskett@wdtv.com>
Date2013-12-16 20:32 -0500
Message-ID<mailman.4268.1387269153.18130.python-list@python.org>
In reply to#62126
On Monday 16 December 2013 20:30:47 Mark Lawrence did opine:

> On 17/12/2013 01:06, Roy Smith wrote:
> > In article <b64dd8cc-a7b5-47d2-9fe6-d2bd6e432205@googlegroups.com>,
> > 
> >   Rick Johnson <rantingrickjohnson@gmail.com> wrote:
> >>    Dovetails are nothing more than sadistic nostalgia --
> >>    they give old men a "chubby" and young men a nightmare.
> > 
> > There is nothing more satisfying than cutting a set of dovetails by
> > hand and having them glide together like silk, the first time you
> > test-fit them, with no daylight visible anywhere.
> > 
> > Someday, mine will be like that :-)
> 
> I suspect that your manual skills are rather better than mine.  One of
> my favourite expressions, perhaps because I only ever heard my dad use
> it, is "like watching a cow handle a shotgun".

I'll plead to using a jig, and figure I have a good fit when I have to 
drive it together with a deadblow hammer.

Cheers, Gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

IBM's original motto:
	Cogito ergo vendo; vendo ergo sum.
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
         law-abiding citizens.

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


#62191

From"Cousin Stanley" <cousinstanley@gmail.com>
Date2013-12-17 07:32 -0700
Message-ID<l8pna1$v7t$1@dont-email.me>
In reply to#62126
>> Rick Johnson <rantingrickjohnson@gmail.com> wrote:
>>
>>  Dovetails are nothing more than sadistic nostalgia --
>>  they give old men a "chubby" and young men a nightmare.

> There is nothing more satisfying than cutting a set of dovetails by hand
> and having them glide together like silk, the first time you test-fit
> them, with no daylight visible anywhere.

   This dove-tailer understands Rapid Application Development ....

      http://woodwork.ars-informatica.ca/tool.php?art=dovetail_video
      Frank Klausz's three-minute dovetails using a bow saw

-- 
Stanley C. Kitching
Human Being
Phoenix, Arizona 


---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

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


#62235

FromGene Heskett <gheskett@wdtv.com>
Date2013-12-17 12:27 -0500
Message-ID<mailman.4308.1387310269.18130.python-list@python.org>
In reply to#62191
On Tuesday 17 December 2013 12:23:28 Cousin Stanley did opine:

> >> Rick Johnson <rantingrickjohnson@gmail.com> wrote:
> >>  Dovetails are nothing more than sadistic nostalgia --
> >>  they give old men a "chubby" and young men a nightmare.
> > 
> > There is nothing more satisfying than cutting a set of dovetails by
> > hand and having them glide together like silk, the first time you
> > test-fit them, with no daylight visible anywhere.
> 
>    This dove-tailer understands Rapid Application Development ....
> 
>       http://woodwork.ars-informatica.ca/tool.php?art=dovetail_video
>       Frank Klausz's three-minute dovetails using a bow saw

Frank is a Master, and too many people never really learn to use a bow saw.  
However I'd expect that joint would take more glue to fill, I've had a 
single drop of TB-III extrude from every edge of one of my jig made joints.

But, I really think we are just a tad off topic.

Cheers, Gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

UNIX is hot.  It's more than hot.  It's steaming.  It's quicksilver
lightning with a laserbeam kicker.
		-- Michael Jay Tucker
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
         law-abiding citizens.

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


#61587

FromNeil Cerutti <neilc@norwich.edu>
Date2013-12-11 15:46 +0000
Message-ID<mailman.3905.1386776818.18130.python-list@python.org>
In reply to#61441
On 2013-12-11, Dennis Lee Bieber <wlfraed@ix.netcom.com> wrote:
> On Tue, 10 Dec 2013 18:25:48 +1300, Gregory Ewing
><greg.ewing@canterbury.ac.nz> declaimed the following:
>>> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
>>>>5) Learning to program "should be painful" and we should
>>>>expect the students to complain about it (someone actually
>>>>said that!) but the pain makes them better programmers in the
>>>>end.
>>
>>That's like saying that when teaching woodwork we shouldn't let
>>people use hammers, we should make them use rocks to bang nails
>>in, because it will make them better carpenters in the long
>>run.
>
> 	NAILS????
>
> 	Nails were verboten in my high school wood working class... 
>
> 	We used dowels and glue; chisels to carve dove-tails; etc.

...

You lucky BASTARD!

We had to build bookcases out of banana leaves held together with
our own spittle.

-- 
Neil Cerutti

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


#61422

From"Rhodri James" <rhodri@wildebst.demon.co.uk>
Date2013-12-09 23:32 +0000
Message-ID<op.w7umbykna8ncjz@gnudebeest>
In reply to#61380
On Mon, 09 Dec 2013 12:23:41 -0000, Oscar Benjamin  
<oscar.j.benjamin@gmail.com> wrote:

> Some of the objections to the idea that were voiced in the meeting were  
> that:
> 1) Some people felt that Python is not an "industry standard" unlike
> C/C++/Java and that it is not as good for employability.
> 2) Students should learn to program in a statically typed language
> because it leads to good programming discipline.
> 3) Python is too close to Matlab (which is considered essential for
> some industries our students often go in to).
> 4) It is better for students to be introduced to programming with a
> low-level language so that they gain a better understanding of how
> computers "really work".
> 5) Learning to program "should be painful" and we should expect the
> students to complain about it (someone actually said that!) but the
> pain makes them better programmers in the end.

I have taught Python as a first language to 12-15 year old kids, and for  
their purposes (learning how to get computers to do stuff) it was just  
fine.  In particular, it reads easily (as long as you steer clear of funny  
stuff like decorators and metaclasses), so our students found it easier to  
explain to themselves what examples did without all the unusual (in  
English) punctuation getting in the way.

While your students aren't 12-15 year olds, it sounds rather like what you  
want to give them is very similar.  Unlike Computer Science students, they  
don't need to know how computers "really work" (except in the limited  
sense of floating point arithmetic, which is going to give them headaches  
however you introduce it).  What they need is confidence in manipulating  
data and algorithms, and Python's a perfectly good choice for that.

For contrast, my CS degree of >mumble< years antiquity threw a lot of  
different languages at us, usually in pairs, to illustrate different  
concepts.  6502 assembler showed us the basics of how a computer works,  
while System/370 assembler showed how horribly complex those basics can  
get; Pascal and BCPL contrasted rigid typing with practically non-existent  
typing (something Modula-2 and C didn't do nearly as well); and so on and  
so forth.  None of this is stuff your students need for their work, so I  
wouldn't waste time side-tracking them with it.

-- 
Rhodri James *-* Wildebeest Herder to the Masses

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


Page 1 of 7  [1] 2 3 4 5 6 7  Next page →

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


csiph-web