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

Reply via email to