from Pycon import ShotDown

December 1st, 2006 § 2 comments

Well my PyCon tuto­r­ial got shot down. Part of me expected it: It was aimed at fairly new Python pro­gram­mers (and it’s also the first tuto­r­ial of that type I’ve put together out­side of work that’s aimed at this type of audience).

For those of you who care, here is the out­line. I prob­a­bly should have added a lot of spit and pol­ish, but I waf­fled about sub­mit­ting it and misstepped.

Intro­duc­tion to Python, with­out the Bells and Whis­tles, but bat­ter­ies included!

Intended audi­ence: This talk assumes lit­tle to no famil­iar­ity with Python, and is geared towards new devel­op­ers. Some script­ing knowl­edge and/or pro­gram­ming knowl­edge is required.

Sum­mary of pro­posed pre­sen­ta­tion:
This talk focuses on the new python pro­gram­mer, intro­duc­ing them to the “python way” — every­thing from types to basic python struc­tures, this talk focuses on the meat-and-potatoes aspect of get­ting started, find­ing infor­ma­tion and build­ing the basic appli­ca­tion. Mod­ules that are not in the stan­dard library are not cov­ered, as well as platform-specific dif­fer­ences between modules/CPython implementations.

Pre­sen­ta­tion outline:

Python: Get­ting Started

  • The inter­ac­tive interpreter
    • Hello World

What’s the difference?

  • Mod­ules (What is a module?)
  • Pack­ages (What is a package?)
  • Scripts (What is a script/application?)

Name­spaces

  • The PYTHONPATH
    • sys.path()
  • What is a namespace?
  • How import(s) affect the namespace

Build­ing up the Basic script ( hello world )

  • Basic PEP 8 guidelines
  • Start­ing with a #!
  • What is __main__?
    • explain what hap­pens when the if __name__ check does not exist, but a func­tion call like main() exists, how does this affect import?

The Stan­dard Library

  • Where to get infor­ma­tion on the web
  • How to use dir() and help() inside the interpreter
  • Pydoc
  • Find­ing exam­ples on the web
    • Python-Dev
    • Python-Tutors
    • Google Code search
    • Krugle

A quick Type overview

  • strings, ints, floats and longs
  • dicts, lists, tuples
  • Booleans
  • Find­ing the type()

Built In Functions

  • str() and it’s methods
  • file()
    • basic I/O with file
  • dir()
  • Where to find more infor­ma­tion on builtins

Basic Code Structure(s)

  • If, For, While
  • Loops and Range
  • Com­pre­hen­sions
  • Gen­er­a­tors at a glance

Func­tions

  • argu­ments by name, position
  • *kwargs, *args, *kvargs
  • Func­tion Scope

Fun­da­men­tal Low Level packages:

  • os/os.path
  • sys
  • sub­process in brief (sim­ple: Not plat­form specific)

Classes and Objects

  • The basic class struc­ture, self, __init__
  • Meth­ods
  • Scope/Namespace
  • Inher­i­tance at a glance
  • mul­ti­ple inheritance

Excep­tions

  • Basic builtin exceptions
  • Mak­ing your Own
  • When to raise

  • kpd

    That’s a great out­line. You should sub­mit it to Code Mash (http://www.codemash.org). Being a cross-language con­fer­ence, I think your intro­duc­tory pre­sen­ta­tion would be even more appropriate.

  • Fuzzy­man

    You could also try RuPy (Poland) where there will be devel­op­ers with no Python experience.

What's this?

You are currently reading from Pycon import ShotDown at jessenoller.com.

meta