Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.019 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'python,': 0.02; 'languages,': 0.04; 'syntax': 0.04; 'subject:Python': 0.06; 'intermediate': 0.07; 'think,': 0.07; 'scheme.': 0.09; 'subject:skip:c 10': 0.09; 'sure,': 0.09; 'url:mit': 0.09; 'python': 0.11; 'language.': 0.14; 'constructs': 0.16; 'semantics': 0.16; 'subject: \n ': 0.16; 'subject:between': 0.16; 'subject:programming': 0.16; 'language': 0.16; 'wrote:': 0.18; 'bit': 0.19; '(the': 0.22; 'programming': 0.22; 'python?': 0.22; 'stick': 0.24; 'switched': 0.24; 'switch': 0.26; 'least': 0.26; 'url:edu': 0.26; 'header:In-Reply-To:1': 0.27; 'especially': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'contrast,': 0.31; 'subject:that': 0.31; 'anyone': 0.31; 'class': 0.32; 'stuff': 0.32; 'quite': 0.32; 'text': 0.33; 'could': 0.34; 'no,': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'ones,': 0.36; 'scheme': 0.36; 'science.': 0.36; 'done': 0.36; 'subject:?': 0.36; 'similar': 0.36; 'should': 0.36; 'half': 0.37; 'wrong': 0.37; 'two': 0.37; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'anything': 0.39; 'bad': 0.39; 'moving': 0.39; 'to:addr:python.org': 0.39; 'even': 0.60; 'read': 0.60; 'algorithms': 0.60; 'course.': 0.60; 'ago,': 0.61; 'full': 0.61; 'course': 0.61; 'first': 0.61; 'advanced': 0.63; 'such': 0.63; 'more': 0.64; 'different': 0.65; 'great': 0.65; 'needing': 0.65; 'teach': 0.65; 'introduce': 0.78; '2015': 0.84; 'basics.': 0.84; 'iterative': 0.84; 'subject: *': 0.84; 'teach.': 0.84; 'yale': 0.84; 'courses.': 0.91; 'subject:Good': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=opiIbTIPsdUy+eHqVaSLgAdgFPV00p2ztjMngT5DIsY=; b=vsAErieA5bCCOE8mKJ1TsFMVZHoWSL5kOiT9P8ej0YejXhlrGS3QWk/Rcf6nBd6Cjy peV8Z9yqRJxXGp/ujDU10GOc5OMPixbZX4kzEKVrGLHpoUlrJqAaUDOzCS0aOe5cb4Er oj9+8Szwk4p1FCwX3JkEecHOFrftPhZbkxV5zdVPNetmZJygu0gik/H/V6rhCgxWS7p0 GXxi6dk6ZoFIXHjYuJ5r6iNDhfDlwQ0lt6pAXH27Sy2g+pNCEA6/uZg1PruswMNK47WS Of5f+ne5/ZnO7oLrpsFjXxGVBelYJI1fLB13hpOX23QXTu5uofh36zbDNsH7A84OVdx6 o2jQ== X-Received: by 10.43.65.19 with SMTP id xk19mr8854149icb.20.1431308298509; Sun, 10 May 2015 18:38:18 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <87wq0gyvyr.fsf@elektro.pacujo.net> References: <02dba7aa-8466-4937-a8d8-82ffd03e5568@googlegroups.com> <87wq0gyvyr.fsf@elektro.pacujo.net> From: Ian Kelly Date: Sun, 10 May 2015 19:37:38 -0600 Subject: Re: Instead of deciding between Python or Lisp for a programming intro course...What about an intro course that uses *BOTH*? Good idea? To: Python Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 35 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431308306 news.xs4all.nl 2929 [2001:888:2000:d::a6]:43309 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90324 On Sun, May 10, 2015 at 3:16 PM, Marko Rauhamaa wrote: > Scheme is my favorite language. I think, however, it is a pretty > advanced language and requires a pretty solid basis in programming and > computer science. > > Python, in contrast, is a great introductory programming language. Sure, > you *can* get quite advanced with it, too, but you can get quite a bit > of fun stuff done with just the basics. MIT famously used Scheme in their introductory course for more than two decades. Although they switched to Python a few years ago, I don't think they did so because there was anything wrong with Scheme. Wikipedia informs me that Yale and Grinnell are still using Scheme for their introductory courses. > Of course, you could introduce Scheme with similar simplifications. > However, such simplifications (say, iterative constructs) are > nonidiomatic in Scheme. The students should not get into bad habits > that they need to be weaned off of later. You don't need iterative constructs to teach an introductory course. The full text of SICP (the "wizard book") is available on the web for anyone to read at https://mitpress.mit.edu/sicp/. I don't think it ever even *mentions* "iterative constructs". Where it distinguishes recursive algorithms from iterative ones, recursive syntax is used in both cases. >> I'm thinking half way into the semester, instead of moving into >> intermediate Scheme, perhaps that is a good time to switch to Python? No, stick with one language for at least the first course. Needing to learn the syntax and semantics of *two* programming languages, especially two such different ones, is just going to distract students from the fundamental concepts that the introductory class is intended to teach.