Clodoaldo Pinto wrote:[color=blue]
> I'm starting a programming tutorial for absolute beginners using Python
> and I would like your opinions.
>
> http://programming-crash-course.com[/color]
Very nicely laid out. Overall, a really nice presentation. 2 minor
points:
1) in the section on the interactive interpreter you have the sentence:
"In Linux open a shell and type python (must be lower case)". It
would be nice if the word 'python' were in a different font, or perhaps
in quotes, or something. You're targetting the "absolute beginner", so
you should assume the reader is not familiar with the CLI.
2) In the section on installing, you begin with:
"Python is an interpreted, interactive, object-oriented programming
language.". The complete novice sees those words and expects
them to be explained, but there is no definition given. I would
recommend simplifying that sentence, or explaining the terms.
bill pursell wrote:
[color=blue]
> 1) in the section on the interactive interpreter you have the sentence:
> "In Linux open a shell and type python (must be lower case)". It
> would be nice if the word 'python' were in a different font, or perhaps[/color]
<code>python</code> would be good there.
[color=blue]
> 2) In the section on installing, you begin with:
> "Python is an interpreted, interactive, object-oriented programming
> language.". The complete novice sees those words and expects
> them to be explained, but there is no definition given. I would
> recommend simplifying that sentence, or explaining the terms.[/color]
I had that same thought, actually.
Also, is the section called "pretty printing" mistitled? Doesn't that
name refer to the pprint module?
bill pursell wrote:[color=blue]
> 1) in the section on the interactive interpreter you have the sentence:
> "In Linux open a shell and type python (must be lower case)". It
> would be nice if the word 'python' were in a different font, or perhaps
> in quotes, or something. You're targetting the "absolute beginner", so
> you should assume the reader is not familiar with the CLI.[/color]
Done, thanks.
[color=blue]
>
> 2) In the section on installing, you begin with:
> "Python is an interpreted, interactive, object-oriented programming
> language.". The complete novice sees those words and expects
> them to be explained, but there is no definition given. I would
> recommend simplifying that sentence, or explaining the terms.[/color]
Ok, i will think about something, or just delete it.
John Salerno wrote:[color=blue]
>
> Also, is the section called "pretty printing" mistitled? Doesn't that
> name refer to the pprint module?
>[/color]
I didn't think about pprint. I used pretty in the sense of "Pleasing or
attractive in a graceful or delicate way." (dictionary)
If you have any suggestions for that page's title please do so.
For tutorial in Windows, I think it is better to use the more
user-friendly interpreter from http://activestate.com/store/languag...d=ActivePython.
Advise the user to just click on the "Next" button without submitting
the optional contact information.
Clodoaldo Pinto wrote:[color=blue]
> John Salerno wrote:[color=green]
>> Also, is the section called "pretty printing" mistitled? Doesn't that
>> name refer to the pprint module?
>>[/color]
> I didn't think about pprint. I used pretty in the sense of "Pleasing or
> attractive in a graceful or delicate way." (dictionary)
>
> If you have any suggestions for that page's title please do so.[/color]
It may not really be that misleading, especially if you've never heard
of pprint before. But you can always call it something simple like "The
'print' statement"
Looks pretty good, except for your difficult to read examples.
Don't use black backrounds with green characters.
A plain white background with black text would be a major improvement.
malv a écrit :[color=blue]
> Looks pretty good, except for your difficult to read examples.
> Don't use black backrounds with green characters.
> A plain white background with black text would be a major improvement.
>[/color]
May I suggest a system like Trac-Wiki, that knows how to display Python
code with syntax-hilighting and line-numbering ?-) (Not sure but IIRC,
MoinMoin as the same feature).
Clodoaldo Pinto a écrit :[color=blue]
> bill pursell wrote:
>[/color]
(snip)[color=blue][color=green]
>>2) In the section on installing, you begin with:
>>"Python is an interpreted, interactive, object-oriented programming
>>language.". The complete novice sees those words and expects
>>them to be explained, but there is no definition given. I would
>>recommend simplifying that sentence, or explaining the terms.[/color]
>
> Ok, i will think about something, or just delete it.[/color]
FWIW, being "interprete d" is not a feature of a language but of a given
implementation of a language - and actually, the reference
implementation (CPython) is byte-compiled, not interpreted. As for
interactivity, it comes from a program (the Python shell) that ships
with the reference implementation - not from the laguage itself.
This leaves us with "Python is an object-oriented programming language",
which is not 100% accurate since Python - even if strongly OO - also
supports the procedural and functional paradigms !-)
On the calculator page you describe the difference between 3.0 / 2 and
3 / 2, but an absolute beginner probably wouldn't know about the
difference between integers and floats, or even what the two terms
meant. If you don't know much about computers then the fact that they
are separate types would probably be surprising...
Bruno Desthuilliers wrote:[color=blue]
> Clodoaldo Pinto a écrit :[color=green]
> > bill pursell wrote:
> >[/color]
> (snip)[color=green][color=darkred]
> >>2) In the section on installing, you begin with:
> >>"Python is an interpreted, interactive, object-oriented programming
> >>language.". The complete novice sees those words and expects
> >>them to be explained, but there is no definition given. I would
> >>recommend simplifying that sentence, or explaining the terms.[/color]
> >
> > Ok, i will think about something, or just delete it.[/color]
>
> FWIW, being "interprete d" is not a feature of a language but of a given
> implementation of a language - and actually, the reference
> implementation (CPython) is byte-compiled, not interpreted. As for
> interactivity, it comes from a program (the Python shell) that ships
> with the reference implementation - not from the laguage itself.
>[/color]
That Python definition was taken literally from the old site's "about"
page. The new "about" page is better for the purposes of this course:
"Python is a remarkably powerful dynamic programming language that is
used in a wide variety of application domains. Python is often compared
to Tcl, Perl, Ruby, Scheme or Java. Some of its key distinguishing
features include:..."
Or the first page definition:
"Python® is a dynamic object-oriented programming language that can be
used for many kinds of software development. It offers strong support
for integration with other languages and tools, comes with extensive
standard libraries, and can be learned in a few days. Many Python
programmers report substantial productivity gains and feel the language
encourages the development of higher quality, more maintainable code."
I'm leaning towards the first page one from which i would take this
part out:
"is a dynamic object-oriented programming language"
That would leave this simple text:
"Python® can be used for many kinds of software development. It offers
strong support for integration with other languages and tools, comes
with extensive standard libraries, and can be learned in a few days.
Many Python programmers report substantial productivity gains and feel
the language encourages the development of higher quality, more
maintainable code."
James wrote:[color=blue]
> On the calculator page you describe the difference between 3.0 / 2 and
> 3 / 2, but an absolute beginner probably wouldn't know about the
> difference between integers and floats, or even what the two terms
> meant. If you don't know much about computers then the fact that they
> are separate types would probably be surprising...
>[/color]
This point is not easy to aproach. The fact is that it is necessary
that the beginner knows that there is a differerence between 3 / 2 and
3.0 / 2.
I don't want him to now about types, at least not at that stage. I used
the term "integer" for the lack of a better one and I didn't mention
"float". Any suggestions?
Perhaps use the phrase "whole number" there and mention that in
programming they're called integers. Having a glossary with
definitions for things like integer, float etc etc. would be good if
when you talked about integers it linked to the glossary. And
similarly use "decimals" for floats? Less sure about that one though.
But anyway you don't need to go into the whole type thing, just
mention that Python distinguishes between doing maths with whole
numbers and decimals.
On 8 Apr 2006 09:02:22 -0700, Clodoaldo Pinto <clodoaldo.pint o@gmail.com> wrote:[color=blue]
> I don't want him to now about types, at least not at that stage. I used
> the term "integer" for the lack of a better one and I didn't mention
> "float". Any suggestions?
>
> Regards, Clodoaldo.
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>[/color]
Clodoaldo Pinto wrote:
[color=blue]
> "Python is a remarkably powerful dynamic programming language that is
> used in a wide variety of application domains. Python is often compared
> to Tcl, Perl, Ruby, Scheme or Java. Some of its key distinguishing
> features include:..."[/color]
I'd be careful with that definition for newbies though. There's nothing
more frustrating (as a newbie myself) when Python (or anything else) is
compared to something as a way to explain it, yet I have no idea what
the other things are either! A programming newbie won't know about, and
maybe won't even have heard of, those other languages.
Comment