Tutorial ProgramWe have an exciting line-up of seven half-day tutorials this year that will be held on the first day of the conference, Tuesday November 10th, 1998. We have four tracks planned for the morning and three for the afternoon.
Each session lasts about 3.5 hours with a 15 minute break in the middle. Breakfast, breaks and lunch will be catered. Morning sessions go from 8:30 till noon with a 15 minute break around 10:15. Afternoon sessions go from 1:30 till 5 with a 15 minute break around 3:15. (Exact break times are at the instructor's discretion.)
Unfortunately, the time alotted for tutorials not allow participants to have hands-on experience. Copies of the presenters' annotated slides will be handed out, however, so you won't have to take notes.
The grouping for the tutorials is as follows:
Some of the presentor biographies are in a preliminary form. Please check back with us periodically for updates. Looking forward to seeing you in Houston!
Instructor: James Hugunin, Corporation for National Research Initiatives
This tutorial describes a new working implementation of the Python language; built on top of the Java language and run-time environment. This is in contrast to the existing implementation of Python, which has been built on top of the C language and run-time environment. Implementing Python in Java has a number of limitations when compared to the current implementation of Python in C. These include about 1.7X slower performance, portability limited by Java VM availability, and lack of compatibility with existing C extension modules. The advantages of Java over C as an implementation language include portability of binary executables, object-orientation in the implementation language to match object-orientation in Python, true garbage collection, run-time exceptions instead of segmentation faults, and the ability to automatically generate wrapper code for arbitrary Java libraries.
Instructor: Martin Chilvers, Research Scientist, Distributed Systems Technology Centre
The CORBA distributed object system is becoming an important standard in developing industrial-stregnth client/server and Web applications. Fnorb is a CORBA 2.0 ORB written in Python. This makes Python/Fnorb ideal for prototyping complex CORBA architectures, for use as a scripting tool, and for building test harnesses for all your CORBA development projects. Learn how to program CORBA from Python.
Extensible Markup Language, abbreviated XML, describes a class of data objects called "documents" and partially describes the behavior of computer programs which process them. XML is a subset of SGML, the Standard Generalized Markup Language, and seems to have considerable momentum behind it.
XML is primarily intended to meet the requirements of large-scale Web content providers for industry-specific markup and vendor-neutral data exchange. Over the next few years, XML has the potential to become an important tool for conveying web content in an industry-standard way.
Instructor: Christian Tismer, Web Master - Starship Python
Managing office data in the Windows environment can be a difficult task. This tutorial uses COM and other data mangement tools to "get under the hood" of Microsoft Office applications for the purpose of structuring data in a suitable way.
COM is a technology that Microsoft have developed to enable one piece of software to communicate with another piece of software on the Windows platform. Although, it tends to be complex and powerful, Python provides a straight-forward interface to COM. You can control Microsoft Word or Excel from Python. You can collect data from your Excel spreadsheet and easily manipulate it in Python. Find out how!
Instructor: David Ascher, Research Fellow, The Smith-Kettlewell Eye Research Institute
This tutorial targeted at scientists and engineers, presents an overview of the Numeric extensions to Python. This set of extensions allow the Python user to create and manipulate efficiently large multidimensional arrays of numbers, and have proven themselves useful in a wide range of fields, including scientific simulation, financial forecasting and image processing.
The tutorial will cover five areas -- the properties of the multidimensional array objects themselves, the properties of the new "universal function" objects (which perform efficient computations on sequence objects), the utility functions which turn Python into an array language, the core extensions to NumPy (e.g. for FFT's and linear algebra), and the use of the Numeric extension at the level of C/C++.
Working knowledge of Python will be assumed, but no knowledge of array languages or of Python internals is necessary.
Instructor: David Beazley, Assistant Professor, Dept. of Computer Science, Univeristy of Chicago
This tutorial will show how Python and C/C++ can be easily and effectively combined using SWIG and other automated interface generation tools. Python and SWIG offer C/C++ programmers a powerful set of tools for building extensible applications, working with legacy codes, rapid prototyping, debugging, and developing cross platform applications. They also offer Python programmers a mechanism for implementing performance critical functions in C or C++. Currently, SWIG is being used in a wide variety of applications ranging from scientific, financial, graphics, databases, visualization, and CAD. The tutorial will cover the basics of using SWIG, advanced Python features, customization, interface building strategies, code design, portability issues, and limitations. Examples will be given for both Unix and Windows-NT. Participants should have a good grasp of C (or C++) programming, be reasonably familiar with C/C++ compilation tools (compilers, linkers, makefiles, etc...), and have a basic knowledge of Python.
Instructor: Robin K. Friedrich, Founder, Python Professional Services Inc.
Python is a portable, interpreted, object-oriented programming language. Its development started in 1990 at CWI in Amsterdam, and continues at CNRI in Reston, Va. The language has an elegant (but not over-simplified) syntax; a small number of powerful high-level data types are built in. Python can be extended in a systematic fashion by adding new modules implemented in a compiled language such as C or C++. Such extension modules can define new functions and variables as well as new object types.