Dear Somon, Gerard and All, perhaps orthogonal to Simon's first time programmers vs. familiar with another language observation, in my experience there's a trade-off between getting something "interersting" quickly vs. learning how to build something usable and reliably. The half-day format of the SWC lessons probably make some compromise between these two rather inevitable.
When using the "top down" approach of starting with a prepared piece of working code, I'd suggest that learners should be made aware that code is normally developed from scratch, rather than by modifying existing code, and encouraged / empowered to "reversely engineer" how the example code was developed in the first place. Best regards, Jan On Mon, Nov 14, 2016 at 09:01:27AM +0000, Gerard Capes wrote: > This sounds very much like the discussion of whole-language vs phonetics > approach to teaching children to read, which forms part of the instructor > training. The summary for that example is that it doesn't matter - you just > need to be enthusiastic. > > On 13/11/16 12:48, Waldman, Simon wrote: > > Again, this is anecdotal and only my own very limited experience: But I think > that top-down is *far* superior for people new to programming, but bottom-up > may be appreciated by people who already know (an)other language(s) and > simply want to know how familiar things work in this one. > > > > -----Original Message----- > From: Discuss [mailto:[email protected]] On > Behalf Of Pat Schloss > Sent: 11 November 2016 20:25 > To: Peter Teuben > Cc: Software Carpentry Discussion > Subject: Re: [Discuss] top down vs. bottom up teaching python? > > I’ve done both with teaching R. I don’t have any data, but I far prefer the > top-down approach. > > My version of top-down is to give them code that works to make a standard > plot. That lets them make something tangible in the first 5 minutes. I then > have them look at the code and ask how they would change colors, plotting > symbols, etc. Then I ask them how they would make a new plot using a > different column from the data file. I then wash, rinse, repeat building in > new > programming concepts to do different analyses and methods of visualizing > data. I far prefer this approach over building up from “Hello World” because > they get going immediately and because that’s how many of us learned to > program. At least for me, I learned by taking code that someone else > generated to do a task and hacked at it to suit my needs. Whenever I find a > new package, I take their vignette and hack at it to learn how the functions > work. > > It seems like most programming books are bottom-up while more domain- > specific materials are top-down. I agree that it would be very interesting to > hear other opinions and whether there are any data supporting one strategy > or another… > > Pat > > > > > On Nov 11, 2016, at 3:07 PM, Peter Teuben > <[email protected]><mailto:[email protected]> wrote: > > > forgive me if this is something covered before but I'd like to contrast two > > > opposite ways of teaching a language > > > > What i mean is to teach something like python, you can go through the > > > rigorous language elements (which can be pretty boring) and build up your > skills to the level that you can program. This I would call a bottom up style. > > > > The other approach is you pick a problem in the field of your students (in > > > my case astronomy, so my example may not work for biology students), and > disect it and teach them the language elements as you go. I would call this > top down. > > > > Has this approach been tried and has it been found at least equally good? > > > Of course the huge drawback is that it only applies to a small group of > students. I'm curious to try this. > > > > > - peter > > _______________________________________________ > Discuss mailing list > [email protected]<mailto:[email protected]> > http://lists.software-carpentry.org/listinfo/discuss > > > > _______________________________________________ > Discuss mailing list > [email protected]<mailto:[email protected]> > http://lists.software-carpentry.org/listinfo/discuss > > > ________________________________ > > Founded in 1821, Heriot-Watt is a leader in ideas and solutions. With > campuses and students across the entire globe we span the world, delivering > innovation and educational excellence in business, engineering, design and > the physical, social and life sciences. > > The contents of this e-mail (including any attachments) are confidential. If > you are not the intended recipient of this e-mail, any disclosure, copying, > distribution or use of its contents is strictly prohibited, and you should > please notify the sender immediately and then delete it (including any > attachments) from your system. > _______________________________________________ > Discuss mailing list > [email protected]<mailto:[email protected]> > http://lists.software-carpentry.org/listinfo/discuss > > -- > Gerard Capes > Research Applications, IT Services, University Of Manchester > 0161 306 2509 > > Ten tips for writing excellent > emails<http://www.expert-messaging.com/feedbacktips/> > _______________________________________________ > Discuss mailing list > [email protected] > http://lists.software-carpentry.org/listinfo/discuss -- +- Jan T. Kim -------------------------------------------------------+ | email: [email protected] | | WWW: http://www.jtkim.dreamhosters.com/ | *-----=< hierarchical systems are for files, not for humans >=-----* _______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/listinfo/discuss
