Planning a Python Course for Beginners

Bob Gailer bgailer at gmail.com
Tue Aug 8 15:55:26 EDT 2017


On Aug 8, 2017 10:20 AM, "Stefan Ram" <ram at zedat.fu-berlin.de> wrote:
>
>   I am planning a Python course.
>
>   I started by writing the course akin to courses I gave
>   in other languages, that means, the course starts roughly
>   with these topics:
>
> - number and string literals
> - types of number and string literals
>   (just giving the names »int«, »float«, and »string«)
> - using simple predefined operators (+, -, *, /)
>   (including 2*"a" and "a"+"b")
> - calling simple predefined functions (len, type, ...)
>
>   . This is a little bit boring however and might not
>   show off Python's strength early in the course.
>
>   So, I now think that maybe I should start to also
>   include list (like
>
> [1,2,3]
>
>   ) right from the start. A list conceptually is not
>   much more difficult than a string since a string
>   "abc" resembles a list ["a","b","c"]. I.e., the
>   course then would start as follows:
>
> - number, string, and list literals
> - types of number, string and list literals
>   (just giving the names »int«, »float«, »string«,
>   and »list«)
> - using simple predefined operators (+, -, *, /)
>   (including 2*"a", "a"+"b",  2*["a"], and [1]+[2])
> - calling simple predefined functions (len, type, ...)
>
>   However, once the box has been opened, what else
>   to let out? What about tuples (like
>
> (1,2,3)
>
>   ). Should I also teach tuples right from the start?
>
>   But then how to explain to beginners why two
>   different types (lists AND tuples) are needed for
>   the concept of a linear arrangement of things?
>
>   Are there any other very simple things that
>   I have missed and that should be covered very
>   early in a Python course?
IMHO its a good idea to introduce conversational programming early. Start
with input() and print() then int(), if, while, break . Add one item at a
time.  This will be more interesting and useful than a bunch of data types
and operators, and  answer a lot of questions that otherwise show up on the
help and tutor lists. Also explain tracebacks. None of the above in great
detail; just let students know there is more detail to come later
>
>   (Especially things that can show off fantastic
>   Python features that are missing from other
>   programming languages, but still only using
>   literals, operators and function calls.)
I think program flow is more important than fantastic or unique
>
> --
> https://mail.python.org/mailman/listinfo/python-list



More information about the Python-list mailing list