New courses offered this quarter

Python Programming
X444.3 Computer Science (2)

Python is an Internet and systems programming language that is rapidly gaining worldwide popularity in today's fast-paced software development environment. Although initially known for building Web and common gateway interface (CGI) applications, Python is also known for the rapid prototyping of networking, database, XML, and graphic user interface (GUI) applications.

Python is interpreted, interactive and inherently object-oriented in nature, featuring an easy-to-learn syntax that is clear and concise. It combines the power of a compiled language with the simplicity, low maintenance, portability and short development time of an interpreted scripting language. In addition to the many versions of UNIX (e.g., Solaris, Linux, *BSD), you will find Python available on Win32, MacOS, OS/2, Amiga, AS/400, and even Palm, PS2, plus many others.

Python is often compared to Perl, JavaScript, Tcl, C++, and Java, and in many situations, presents a viable and advantageous alternative because of its ease-of-use, rapid development time, and that it does not discourage group collaboration. Python is also used in place of or in addition to many common network and system administration tasks typically written in UNIX shell languages.

Python is also available in a Java-compiled interpreter called Jython which runs anywhere a Java Virtual Machine (JVM) is available and provides access to Java class libraries, thus giving Java a scripting language development environment! Python classes can interact with Java classes and vice versa, making Jython a powerful tool in Java development. Most of the material covered in this class is applicable in a Jython environment.

This course provides a complete introduction to the Python language covering the following topics:

  • Syntax and Style
  • Development and Run-time Environments
  • Objects and the Python Memory Model
  • Data Types and Operators
  • Files and Input/Output
  • Errors and Exception Handling
  • Functions and Functional Programming
  • Modules and Packages
  • OOP, Classes, Methods, Instances

    Students completing this class should have a good working knowledge of the core Python language, be able to design and create Python objects, classes and modules, as well as have the ability to build a variety of tools and applications.

    PREREQUISITE: Development experience in another high-level programming or systems integration language. A background in Unix/C development or object-oriented programming may be helpful but are not required.

    REQUIRED TEXT: Core Python Programming, Wesley J. Chun, Prentice Hall, 2001. Additional reading such as the Python Tutorial and Python Library Reference are available from the Python website below.

    REQUIRED SOFTWARE: A Python interpreter is required for this course. Students can obtain this software from the Python language website below or via an alternative software distribution such as the CD-ROM in the textbook or from the Jython website. Any Python platform can be used to complete assignments.

  • Section 1

    WESLEY J. CHUN, with degrees in Computer Science, Mathematics, and Music from the University of California, is a principal and founder of CyberWeb Consulting, specializing in software engineering, website design and architecture, corporate training, and technical documentation. Previously, Mr. Chun was an engineer at Yahoo!, Sun, HP, Rockwell, Legato, and Xilinx. While at Yahoo!, he helped create Yahoo!Mail and Yahoo! People Search using Python. Mr. Chun has over a decade of programming and instructional experience, and most recently, is a full-time senior software developer at a medical imaging service company in San Francisco, a coordinator for the Silicon Valley-San Francisco Bay Area Python users group (BayPIGgies), a volunteer moderator for the Python Tutor mailing list, and the author of Core Python Programming -- the Python book for Prentice Hall's Core series.


    8 meetings: Monday evenings, 6:30 - 9:30 pm, January 6 - March 17, 2003 (no meeting January 20, 27 and February 17). UCSC Extension, 10420 Bubb Road, Cupertino, CA 95014, (408) 861-3700

    EDP 023R68 (use this EDP code to enroll)

    UCSC Extension home page Enroll Certificate Programs Maps to UCSC Extension campuses Buy books online Department contacts Financial assistance available Help and frequently asked questions Sitemap Text only site Information and catalog request Positions available at Extension e-mail webmaster