Programming Tutorial for absolute beginners

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Clodoaldo Pinto

    Programming Tutorial for absolute beginners

    I'm starting a programming tutorial for absolute beginners using Python
    and I would like your opinions.



    Regards, Clodoaldo Pinto

  • bill pursell

    #2
    Re: Programming Tutorial for absolute beginners

    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.

    Comment

    • John Salerno

      #3
      Re: Programming Tutorial for absolute beginners

      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?

      It looks real nice though.

      Comment

      • Clodoaldo Pinto

        #4
        Re: Programming Tutorial for absolute beginners

        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.

        Clodoaldo

        Comment

        • Clodoaldo Pinto

          #5
          Re: Programming Tutorial for absolute beginners

          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.

          Clodoaldo

          Comment

          • Podi

            #6
            Re: Programming Tutorial for absolute beginners

            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.

            My $0.02

            Comment

            • John Salerno

              #7
              Re: Programming Tutorial for absolute beginners

              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"

              Comment

              • malv

                #8
                Re: Programming Tutorial for absolute beginners

                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.

                Comment

                • Bruno Desthuilliers

                  #9
                  Re: Programming Tutorial for absolute beginners

                  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).

                  Comment

                  • Bruno Desthuilliers

                    #10
                    Re: Programming Tutorial for absolute beginners

                    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 !-)

                    Comment

                    • James

                      #11
                      Re: Programming Tutorial for absolute beginners

                      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...

                      James

                      On 7 Apr 2006 12:45:48 -0700, Clodoaldo Pinto <clodoaldo.pint o@gmail.com> 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
                      >
                      > Regards, Clodoaldo Pinto
                      >
                      > --
                      > http://mail.python.org/mailman/listinfo/python-list
                      >[/color]

                      Comment

                      • Clodoaldo Pinto

                        #12
                        Re: Programming Tutorial for absolute beginners

                        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."

                        Regards, Clodoaldo

                        Comment

                        • Clodoaldo Pinto

                          #13
                          Re: Programming Tutorial for absolute beginners

                          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?

                          Regards, Clodoaldo.

                          Comment

                          • James

                            #14
                            Re: Programming Tutorial for absolute beginners

                            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]

                            Comment

                            • John Salerno

                              #15
                              Re: Programming Tutorial for absolute beginners

                              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

                              Working...