New courses offered this quarter

Python Programming II: Advanced Topics in Python
X461.5 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.

This second course introduces developers to a variety of and more advanced topics in Python. It will be more unstructured, informal, and spontaneous than Python Programming. Every week, we will discuss and interact while covering a different topic from the list below:

  • Topics in Advanced Python OOP
  • New Features in Python 2.x
  • Using Regular Expressions in Python
  • Network Programming with Sockets
  • Multithreaded Programming
  • GUI Programming with Tkinter
  • Web and CGI Programming
  • Extending Python with C
  • NOTE: time-permitting, we may cover one or two more topics from those listed below:

  • Internet (Client) Programming
  • Win32 and COM Programming
  • Java and Jython
  • Creating Web Servers using Python
  • Using Python with Web Servers
  • SQL and Database Programming
  • XML Processing in Python
  • Other GUI Systems for Python
  • Students completing this class should be able to take their existing knowledge of Python and be able to branch it out into a variety of areas of programming. These include being able to use regular expressions to perform complex pattern matching, developing graphical user interfaces and associated callbacks, be able to create or communicate with Win32 applications, being able to write an extension in C, and do a little bit of Internet and Web programming. Using this knowledge, students will hone their ability to build a variety of more serious tools and applications.

    PREREQUISITE: Completion of the "Python Programming I" course (or its equivalent); a background in Unix/C development or object-oriented programming may be helpful but not required.

    REQUIRED TEXT: Core Python Programming, Wesley J. Chun, Prentice Hall, 2001. Additional reading such as the 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.


    ** NOTE: class dates have changed!!! **
    8 meetings: Monday evenings, 6:30 - 9:30 pm, April 14 - June 16, 2003 (no meeting May 26 and TBD).
    UCSC Extension, 1180 Bordeaux Dr., Sunnyvale, CA 94086
    (408) 861-3700

    EDP 024D50 (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