On Aug 8, 2017 10:20 AM, "Stefan Ram" <r...@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
--
https://mail.python.org/mailman/listinfo/python-list