[Tutor] Beginner's question
Kirk Bailey
kbailey at howlermonkey.net
Sat Nov 24 04:01:47 CET 2012
On 11/23/2012 1:10 PM, Brett Ritter wrote:
> On Thu, Nov 22, 2012 at 10:39 PM, Peter O'Doherty
> <mail at peterodoherty.net <mailto:mail at peterodoherty.net>> wrote:
>
> Judging by the volume of replies, is it fair to say that this
> problem was much too advanced for page 16 of an introductory text?
>
>
> That is a matter of taste. There are two things you need to learn:
> 1) the syntax of the language
> 2) how to approach programming problems
>
> #1 can be done gradually, #2 necessarily has a "hard" moment. For
> that, you need a problem that requires you think in programming terms:
> How can I break this down? What are the different conditions that
> could break my logic? How do I avoid missing situations?
>
> Once you cross that hump, it becomes "easy". Future problems will be
> hard again, but never to the same degree - once you've internalized
> the process, it's just a matter of refinement.
>
> Myself, I'd prefer to get that hard part over quickly. Up to page 16
> obviously taught you enough basic syntax for your initial stab, so I
> think it was well timed. The important thing is for you to realize
> that you're learning a thought pattern, like algebra - once you "get
> it", the rest is merely learning applications and additional rules,
> but that initial insight requires some mental wrestling that can't
> really be reduced. If you're worried about the rest of the text
> (which I'm unfamiliar with) being more hard than enjoyable, I'd
> recommend continuing to play with this problem. Create variants
> (lowest POSITIVE even number), learn the typical situations that make
> it complicated. When someone can give you a problem in that vein and
> you can write a solution without referring to your previous attempts
> (or anyone elses), you've crossed the line and are forever changed.
> From that point forward the best the book (or any programming text)
> can do is challenge you, it can no longer be "hard". (Disclaimer:
> certain _concepts_ can once again be hard, such as pointers (not in
> python), lambdas, closures, etc. These should still be easier than
> this initial learning step)
>
> The bad part is that once you get it, you'll look back and wonder how
> you considered it hard. The good part is that if you are a programmer
> at heart, you'll find you love challenges. I think that's part of why
> you've gotten so many replies - this is an easy problem to understand,
> quick to provide a solution (right or wrong) for, and the constraints
> placed on it (just to keep you from getting lost in unfamiliar syntax)
> make it a mental challenge for us because our first approach is
> disallowed.
>
> Don't be disheartened at the difficulty, and don't fear it being this
> hard all along.
> --
> Brett Ritter / SwiftOne
> swiftone at swiftone.org <mailto:swiftone at swiftone.org>
This being said, prehaps an early chapter if not the first should be how
to think like a programmer.
>
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
--
-Shaboom.
Kirk Bailey
CEO, Freehold Marketing LLC
http://www.OneBuckHosting.com/
Fnord!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20121123/37c9e542/attachment-0001.html>
More information about the Tutor
mailing list