FAQ
Hello All,

I'll be doing a small internal course on Python at my company.
The 1'st session is an introduction that should also sell Python.

If you have the time I'd appriciate any comments on my slides at
http://www.cs.bgu.ac.il/~tebeka/pyintro.html

Keep in mind that the "students" are people writing real time and use
scripting mostly for small applications that usually communicate with
hardware, parse binary files, etc.

TIA.
Miki

Search Discussions

  • Anton Vredegoor at Aug 24, 2003 at 9:07 am

    tebeka at cs.bgu.ac.il (Miki Tebeka) wrote:
    If you have the time I'd appriciate any comments on my slides at
    http://www.cs.bgu.ac.il/~tebeka/pyintro.html
    This got me a 404.

    Anton


    Not Found
    The requested URL /~tebeka/pyintro.html was not found on this server.

    Apache/1.3.27 Server at www.cs.bgu.ac.il Port 80
  • Miki Tebeka at Aug 24, 2003 at 2:44 pm
    Hello Anton,
    Ooops, a slip of the finger.
    Should be http://www.cs.bgu.ac.il/~tebeka/pyintro.htm

    Thanks.
    Miki
  • Irmen de Jong at Aug 24, 2003 at 9:00 pm

    I'm sorry to say this but because the site appears to
    be made in Powerpoint, and then exported to MSHTML,
    it sucks in my browser (Mozilla). No cigar.

    --Irmen
  • Miki Tebeka at Aug 25, 2003 at 4:53 am
    Hello Irmen,
    I'm sorry to say this but because the site appears to
    be made in Powerpoint, and then exported to MSHTML,
    it sucks in my browser (Mozilla). No cigar.
    Sorry. Sadly we work on MS environment...

    Thanks for your time.
    Miki
  • Derek / nul at Aug 25, 2003 at 5:00 am

    On 24 Aug 2003 21:53:43 -0700, tebeka at cs.bgu.ac.il (Miki Tebeka) wrote:
    Hello Irmen,
    I'm sorry to say this but because the site appears to
    be made in Powerpoint, and then exported to MSHTML,
    it sucks in my browser (Mozilla). No cigar.
    Sorry. Sadly we work on MS environment...
    I run python in an MS environment!!
  • Bryan at Aug 26, 2003 at 3:38 am
    i always seem to prefer using

    if key in dictionary:
    rather than
    if dictionary.has_key(key):

    i also seem to prefer using

    for line in file(fname):
    rather than
    for line in open(fname).readlines()

    not sure it's any better, faster, more readable... just my preference. so your frame 7 would be:

    def unique(fname):
    '''Prints unique lines in fname'''
    h = {}
    for line in file(fname):
    line = line.strip()
    if line not in h:
    h[line] = True
    print line

    ---

    frame 8: you should also list empty tuple, list and dict as having a False value too)
    frame 9: needs a note that it's for 2.3+
    frame 10: IMO "Magic methods" has a negative connotation. but maybe it's the correct terminology
    frame 12: i know python has a c interface for c extension modules, but can't modules also be written is c++ (ie. boost?)
    frame 18-19: i would show the exact same example in each. it appears from your slide that wxPython is way more complicated than TK

    i enjoyed going though it... nice work...

    bryan
  • Miki Tebeka at Aug 26, 2003 at 10:10 am
    Hello Bryan,
    not sure it's any better, faster, more readable... just my preference. so your frame 7 would be:

    def unique(fname):
    '''Prints unique lines in fname'''
    h = {}
    for line in file(fname):
    line = line.strip()
    if line not in h:
    h[line] = True
    print line
    Taken. It's in.

    frame 8: you should also list empty tuple, list and dict as having a False value too)
    Don't they fall under "empty collection"?
    frame 9: needs a note that it's for 2.3+
    That's the current official release.
    frame 10: IMO "Magic methods" has a negative connotation. but maybe it's the correct terminology
    I'll try to find a better alternative.
    frame 12: i know python has a c interface for c extension modules, but can't modules also be written is c++ (ie. boost?)
    You're right. I guess I hate C++ to much :-)
    frame 18-19: i would show the exact same example in each.
    I'll do this oraly.
    it appears from your slide that wxPython is way more complicated than TK
    wxPython is more sutibale for large project and requires a bit more
    overhead than Tk to start up. Can't think of anything shorter.
    i enjoyed going though it... nice work...
    Thanks.

    Thanks for you comments.
    Miki
  • Gerhard Häring at Aug 26, 2003 at 11:33 am

    Miki Tebeka wrote:
    frame 10: IMO "Magic methods" has a negative connotation. but maybe it's the correct terminology
    I'll try to find a better alternative.
    I'd suggest "special methods" - the language specification has a chapter
    "special method names"
    (http://www.python.org/doc/current/ref/specialnames.html).

    -- Gerhard
  • Bryan at Aug 26, 2003 at 2:13 pm

    frame 8: you should also list empty tuple, list and dict as having a False value too)
    Don't they fall under "empty collection"?
    don't forget None is also a False value.

    i think this is a very power part of python and used a lot and helps reduce as lot of clutter you might see in other languages when
    testing emptyness. all of these can be use in boolean expressions. i might help your "wow" factor to see them all listed.

    bryan
  • Miki Tebeka at Aug 28, 2003 at 8:28 am
    Hello Bryan,
    don't forget None is also a False value.
    You're right. 10x.
    i think this is a very power part of python and used a lot and helps reduce as lot of clutter you might see in other languages when
    testing emptyness. all of these can be use in boolean expressions. i might help your "wow" factor to see them all listed.
    Yap. I'll do the lesswon with IDLE open so they can view this.

    10x.
    Miki
  • Miki Tebeka at Aug 28, 2003 at 8:26 am
    Hello Gerhard,
    frame 10: IMO "Magic methods" has a negative connotation. but maybe it's the correct terminology
    I'll try to find a better alternative.
    I'd suggest "special methods" - the language specification has a chapter
    "special method names"
    (http://www.python.org/doc/current/ref/specialnames.html).
    Taken. 10x.
    Miki
  • Roman Yakovenko at Aug 25, 2003 at 7:42 am
    Hi.

    In slide 7 why not to use set instead of dictionary?

    In slide 9: to give a list as example may be not a good idea: list has reverse method

    In slide 12: Boost.Python I think it is a must to give a reference on it.

    Nice work.

    Roman
    -----Original Message-----
    From: Miki Tebeka [mailto:tebeka at cs.bgu.ac.il]
    Sent: Monday, August 25, 2003 6:54 AM
    To: python-list at python.org
    Subject: Re: Comments on my "Python Introduction" slides


    Hello Irmen,
    I'm sorry to say this but because the site appears to
    be made in Powerpoint, and then exported to MSHTML,
    it sucks in my browser (Mozilla). No cigar.
    Sorry. Sadly we work on MS environment...

    Thanks for your time.
    Miki
    --
    http://mail.python.org/mailman/listinfo/python-list
  • Donald 'Paddy' McCarthy at Aug 25, 2003 at 8:48 am

    Miki Tebeka wrote:

    Hello All,

    I'll be doing a small internal course on Python at my company.
    The 1'st session is an introduction that should also sell Python.

    If you have the time I'd appriciate any comments on my slides at
    http://www.cs.bgu.ac.il/~tebeka/pyintro.html

    Keep in mind that the "students" are people writing real time and use
    scripting mostly for small applications that usually communicate with
    hardware, parse binary files, etc.

    TIA.
    Miki
    Hi,

    Slide 9: The tripple quoted string has got the quotes mangled by the
    editor. You might try cut & paste execution of all your examples from
    the slides.

    General: Frames: the frames are not movable in Mozilla, (I wanted to
    make the slide frame larger).

    General: Slide title 'Quick One': Could be more informative.

    Paddy.
  • Miki Tebeka at Aug 26, 2003 at 10:03 am
    Hello Paddy,
    Slide 9: The tripple quoted string has got the quotes mangled by the
    editor. You might try cut & paste execution of all your examples from
    the slides. OK.
    General: Frames: the frames are not movable in Mozilla, (I wanted to
    make the slide frame larger).
    This is a convertion from M$ PowerPoint. The real lecture don't have
    these problems. I'm considering moving to OpenOffice ...
    General: Slide title 'Quick One': Could be more informative.
    It's a common one for all code samples.

    Thanks for you comments.
    Miki
  • Paul D. Fernhout at Aug 25, 2003 at 1:21 pm
    I liked your slides a lot, as they also sort of capture a what's new of
    some of the later python versions (e.g. generators, reverse) which are
    still somewhat new to me (having done Python for years on and off and
    having tried to stick with 1.5 backwards compatability for a long time
    -- until now with 2.3).

    However, and not knowing your audience, I wonder if the slides are a bit
    advanced (but obviously they are probably not meant to stand alone from
    your talk, and your purpose might be to _wow_ your audience).

    For example, will people really understand how useful and powerful and
    easy to use dictionaries are [a key feature of Python] by just saying
    they are like a hash table? You have an example of a dictionary in use
    in "unique" but in the example doesn't add something into the dictionary
    in the flow of the text of the program until after the test -- a
    perfectly good way to implement it, but perhaps harder to follow
    initially for some people (who may be asking where does the data come
    from when they get to the test.). Also, since you just set the value to
    true, it doesn't quite capture how most dictionaries are typically used
    (to store key value pairs). I'd say another slide on dictionaries might
    be warranted with a simpler better example, to preceed the "unique"
    example one you have there. Somethign blah like just putting names and
    email addresses together.

    Also, since one a pracical basis some fraction of your audience is going
    to recoil at the significant white space, you might have a slide on this
    (maybe in the middle, or after your first example) and how it is not a
    problem in practice, and in fact promotes maintainability and prevents
    some bracing style clashes. For me (having used Occam earlier, which
    also uses significant white space), significant white space for block
    delimiting is one of Python's best features. You might as well confront
    the controversy head on somehow (like quotes from this newsgroup from
    converts to it?) I can also see an argument for not bringing the subject
    up as that might scare people off, but since you have a chance to bring
    it out in the open in a controlled way sounding favorable to Python, and
    you know it will be an issue for people coming from C, it might be best
    to just deal with it.

    Obviously, you only have so much time for a talk, so you have to
    prioritize, and maybe there isn't enough time for two more slides. But,
    I think if you had to drop two, I'd drop the "generators" and "fibs
    geenrator" example. You may well lose a lot of your audience there
    anyway (as while useful, the continuation concept is somewhat abstract
    and advanced).

    Also, the "Quick One" items might easily include a word or two on the
    topic, i.e. "Quick One: Files" or "Quick One: fibs" for reference.

    Also "Not In Standard Library" might be changed to "Free Third-party
    Addons" to sound a little nicer (otherwise people might think it is a
    complaint).

    You might also rename your "Development Methodology" slide as "Will it
    be fast enough?" or something like that ("Developing for speed?") and
    reference programmer time vs. execution time, since I expected that
    slide otherwise based on the title to reference Extreme Programming vs.
    Waterfall Development models or some such approaches.

    Having said all that (and none of those are major problems in the
    context of a talk where you continually monitor the audience's
    understanding and adapt your comments), I think the use of complete
    small program examples (e.g. du, fibs, etc.) in your tutorial was a
    great choice to help people grasp the language.

    So, overall, good job!

    --Paul Fernhout
    (Who for a while taught programming to biology majors, which turned out
    to be great experience for talking to senior execs about software. :-)


    Miki Tebeka wrote:
    If you have the time I'd appriciate any comments on my slides at
    http://www.cs.bgu.ac.il/~tebeka/pyintro.htm


    -----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
    http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
    -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
  • Miki Tebeka at Aug 26, 2003 at 10:18 am
    Hell Paul,
    However, and not knowing your audience, I wonder if the slides are a bit
    advanced (but obviously they are probably not meant to stand alone from
    your talk, and your purpose might be to _wow_ your audience).
    Yap. I'll bee it up while I talk.
    For example, will people really understand how useful and powerful and
    easy to use dictionaries are [a key feature of Python] by just saying
    they are like a hash table? You have an example of a dictionary in use
    in "unique" but in the example doesn't add something into the dictionary
    in the flow of the text of the program until after the test -- a
    perfectly good way to implement it, but perhaps harder to follow
    initially for some people (who may be asking where does the data come
    from when they get to the test.). Also, since you just set the value to
    true, it doesn't quite capture how most dictionaries are typically used
    (to store key value pairs). I'd say another slide on dictionaries might
    be warranted with a simpler better example, to preceed the "unique"
    example one you have there. Somethign blah like just putting names and
    email addresses together.
    A good point. I'll try adding one.
    Also, since one a pracical basis some fraction of your audience is going
    to recoil at the significant white space, you might have a slide on this
    (maybe in the middle, or after your first example) and how it is not a
    problem in practice, and in fact promotes maintainability and prevents
    some bracing style clashes. For me (having used Occam earlier, which
    also uses significant white space), significant white space for block
    delimiting is one of Python's best features. You might as well confront
    the controversy head on somehow (like quotes from this newsgroup from
    converts to it?) I can also see an argument for not bringing the subject
    up as that might scare people off, but since you have a chance to bring
    it out in the open in a controlled way sounding favorable to Python, and
    you know it will be an issue for people coming from C, it might be best
    to just deal with it.
    You're right. I think I'll talk about it without a slide. But I need
    to get prepared. I think ESR's article has some stuff in it.
    Obviously, you only have so much time for a talk, so you have to
    prioritize, and maybe there isn't enough time for two more slides. But,
    I think if you had to drop two, I'd drop the "generators" and "fibs
    geenrator" example. You may well lose a lot of your audience there
    anyway (as while useful, the continuation concept is somewhat abstract
    and advanced).
    I think Python's generators are easyer to understand than Scheme
    continuations (which I don't fully grasp yet :-). It's a very
    powerfull idiom which is used a lot in 2.3 (see itertools module)
    Also, the "Quick One" items might easily include a word or two on the
    topic, i.e. "Quick One: Files" or "Quick One: fibs" for reference. OK.
    Also "Not In Standard Library" might be changed to "Free Third-party
    Addons" to sound a little nicer (otherwise people might think it is a
    complaint). OK.
    You might also rename your "Development Methodology" slide as "Will it
    be fast enough?" or something like that ("Developing for speed?") and
    reference programmer time vs. execution time, since I expected that
    slide otherwise based on the title to reference Extreme Programming vs.
    Waterfall Development models or some such approaches. OK.
    Having said all that (and none of those are major problems in the
    context of a talk where you continually monitor the audience's
    understanding and adapt your comments), I think the use of complete
    small program examples (e.g. du, fibs, etc.) in your tutorial was a
    great choice to help people grasp the language.

    So, overall, good job!
    Thanks.

    Thanks for you help.
    Miki
  • XXX at Aug 26, 2003 at 9:17 am
    Miki

    Comments from an old programmer (but an absolute beginnner in Python)

    I think it looks good - I picked up a few useful hints.

    Re: slide 6 on data types - it implies integer only for numeric types - I'd
    suggest mentioning floating point, arbitrary length numbers (this is implied
    in slide 5 on Fibonacci) and, of course, complex numbers are very important
    for some uses.

    --
    Eddie O'Brien

    Remove XORY from address to reply


    "Miki Tebeka" <tebeka at cs.bgu.ac.il> wrote in message
    news:33803989.0308240000.35b9bf1f at posting.google.com...
    Hello All,

    I'll be doing a small internal course on Python at my company.
    The 1'st session is an introduction that should also sell Python.

    If you have the time I'd appriciate any comments on my slides at
    http://www.cs.bgu.ac.il/~tebeka/pyintro.html

    Keep in mind that the "students" are people writing real time and use
    scripting mostly for small applications that usually communicate with
    hardware, parse binary files, etc.

    TIA.
    Miki
  • Miki Tebeka at Aug 28, 2003 at 8:30 am
    Hello Eddie,
    Comments from an old programmer (but an absolute beginnner in Python)
    So old dogs CAN learn new tricks ;-)
    Re: slide 6 on data types - it implies integer only for numeric types - I'd
    suggest mentioning floating point, arbitrary length numbers (this is implied
    in slide 5 on Fibonacci) and, of course, complex numbers are very important
    for some uses.
    I've added them. 10x.

    Miki
  • Miki Tebeka at Aug 26, 2003 at 10:30 am
    Hello Roman,
    In slide 7 why not to use set instead of dictionary?
    I have to put a dictionary somewhere. I'll mention sets when I talk about it.
    In slide 9: to give a list as example may be not a good idea: list has
    reverse method
    OK. I'll use a tuple. Maybe I'll mention list's sort and that's in-place.
    In slide 12: Boost.Python I think it is a must to give a reference on
    it.
    1'st item in google. I don't want too many links...
    Nice work.
    Thanks.

    Thanks for your time.
    Miki

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedAug 24, '03 at 8:00a
activeAug 28, '03 at 8:30a
posts20
users10
websitepython.org

People

Translate

site design / logo © 2022 Grokbase