Upcoming PICASso Tutorials & Mini-Courses

Fall 2007 - Spring 2008

All PICASso tutorials and mini-courses are practice-oriented, so participants get hands-on experience

  Spring 2008

"The MATLAB Distributed Computing Engine and Toolbox" and "Advanced Programming Techniques in MATLAB"
April 15, 4:30 - 6:30
April 16, 2:00 - 4:00

Representatives from The Mathworks will present information on these two aspects of MATLAB usage.

On the 15th, the Distributed Computing Toolbox will be discussed. The Distributed Computing Toolbox provides the ability to use up to four local workers on a computer using a single toolbox license. Used in conjunction with the toolbox, MATLAB's Distributed Computing Engine lets you scale your application to use more than four workers. These workers can run on a single multiprocessor workstation, several workstations coupled together, or a dedicated cluster. When using the engine with the toolbox, you can use the MathWorks job manager, a scheduler provided with the engine, or any other third-party scheduler. The engine supports both interactive and batch work flows. Separate toolbox or blockset licenses are not required while working with MATLAB Distributed Computing Engine. The engine dynamically enables required licenses on the cluster based on the user‘s license profile when an application runs.

The class on the 16th will illustrate the usage and explain the benefits of many of the different function types available in MATLAB 7. You will learn how using the right function type can lead to more robust and maintainable code. Demonstrations will show how to apply these techniques to solve optimization problems and make it easier to program GUIs in MATLAB. This session will also provide you with an understanding of how different MATLAB data types are stored in memory.


"Introduction to Parallel Debugging"
March 26 and 27, 4:30 - 6:30

Stephane Ethier and Ed Hinkel will provide information on multiprocessor debugging and a tutorial on using the TotalView debugging environment.

Debugging single processor code is already a daunting task that usually consumes most of development time. Luckily, many debugging tools are available to help the developer pinpoint the problem by controlling the state of execution. When dealing with large multi-processor code, however, this task becomes a true challenge for which the usual tools fail to provide a satisfactory solution when used individually. This tutorial will introduce the participants to different approaches in tackling the task of parallel debugging.

The lab will provide a brief introduction to TotalView Technologies debugging tools, allowing attendees to become familiar with the TotalView source code debugger, its user interface, data viewing and editing, and process and program control. We will also explore practical debugging in concurrent environments, using it to examine MPI and multi-threaded programs. We will provide tips for effective large-scale debugging, with a particular focus on using TotalView to locate and resolve memory problems.


"Machine Learning Algorithms for Classification"
February 19 and 21, 4:30 - 6:00
February 22, 4:30 - 6:30

Rob Schapire will lead an overview of machine learning concepts, tools, and applications. Machine learning studies the design of computer algorithms that automatically make predictions about the unknown based on past observations. Often, the goal is to learn to categorize objects into one of a relatively small set of classes. This includes problems arising in text categorization, bioinformatics and other areas of science, machine vision, natural language processing, market segmentation, and much more. This mini-course will introduce some of the main state-of-the-art machine learning techniques for solving such classification problems, namely, decision trees, boosting and support-vector machines. We will also discuss some of the key issues in classifier design, including avoidance of overfitting.

This mini-course will consist of two lectures by Rob Schapire, followed by a hands-on lab taught by Rebecca Fiebrink using off-the-shelf machine learning software.

Lab Handout


"Introduction to Writing an Effective Grant Proposal"
February 13, 4:30 - 6:30

In many ways, research proposals can seem to be simply extended introductions to research yet to be done. But unlike introductions, research proposals are overtly persuasive: they succeed, particularly when funding is tight, only if they can motivate their reviewers into becoming their advocates. In this workshop, we analyze the elements central to drafting a coherent and focused research proposal. We first consider how proposals work rhetorically and persuasively in terms of both structure and function; we then use our analysis to assess some short proposals with an eye to understanding better 1) what makes a proposal compelling and 2) how readers find and use the information they need to become effective advocates.

If there is interest, a second, follow-up workshop is possible; this workshop would explicitly discuss and offer feedback on drafts of proposals written by participants.

Instructor: Dr. Judith Swan, Princeton Writing Program, is the Coordinator for Writing in Science and Engineering. Dr. Swan has previously offered a series of writing workshops for PICASso; she has taught this workshop on proposals to postdocs and faculty at University of Pennsylvania School of Medicine and at Rockefeller University.

  Fall 2007

"Making the Transition and Succeeding as Junior Faculty"
December 13, 4:30 - 6:30

PICASso will be running a mini-course entitled "Making a successful transition to junior faculty". This mini-course will take place on December 13, 4:30 - 6:30 and will feature a 1 hour lecture by PICASso Director JP Singh followed by a panel discussion with current Princeton junior and recently tenured faculty, including Olga Troyanskaya, Ken Norman and Ron Weiss.

We are planning to cover topics such a grant applications, managing the startup package and other funds, balancing research and teaching schedules, interacting with students and colleagues.



Introduction to Parallel Programming with MPI

Instructor: Stephane Ethier (PPPL)

Dates: Monday and Tuesday October 22-23, 2006 4:30 – 6:30pm

PICASso is pleased to announce a hands-on introduction to parallel programming with MPI taught by Stephane Ethier (PPPL). Over two practice-oriented sessions participants will learn to exploit the power of parallel computing using the freely available Message Passing Interface (MPI, http://www-unix.mcs.anl.gov/mpi/mpich/). No previous experience with parallel programming is assumed, but participants are expected to be familiar with either C or Fortran.

This course was run by PICASso in the past, and was oversubscribed. To ensure your spot please register early by emailing your Name, Phone, Email, Department and Position / Class year to ccolvin@cs.princeton.edu



Previous PICASso Tutorials & Mini-Courses

  Fall 2006 - Spring 2007
  Fall 2005 - Spring 2006

Fall 2004 - Spring 2005

  Fall 2003 - Spring 2004