Computing and Information Science 406

 

Cornell University Insignia

CIS 406 - Introduction to Scripting in Python & Perl

 

Location:

Spring Semester 2008 — 202 Thurston Hall

 

Credits:

2 Credit Hours Satisfactory/Unsatisfactory

6 weeks TTh from 11:40 - 12:55pm

 

Office Hours:

By appointment (send email to lifka@cac.cornell.edu)
514A Rhodes Hall

References:  (Perl & Python)

 

Abstract:

Scientific computing today requires heterogeneous systems, software and data to be used together in many different ways based on desired results.  Researchers commonly develop work-flows that control the processing of data and/or experiments from beginning to the desired results.  The "glue" that often links the various stages of these work-flows are scripting languages.  In this course we will explore scripting with two of the most popular scripting languages, Perl & Python, from the basics to specific types of functions/capabilities that are useful in the development & maintenance of scientific work-flows.  Examples will be provided for Microsoft Windows, Mac OS X and Red Hat Linux.  Best-of-breed modules and tools will be covered for each platform based on student interest.

 

Prerequisites:

Modest computing experience including very basic programming skills (any language)

PLEASE Bring a laptop to class with ActiveState Perl & Python installed.  The Free

Versions are fine.  Please contact me if you need assistance.

 

Lecture Notes:

 

Note Class will be taught in a very interactive and hands-on way.  You will be programming during class so be sure to bring a properly configured laptop so you can participate.

 

The Basics

             Course Overview & Logistics

             Why Scripting?

             Verify ActiveState Perl & Python installations

             HelloWorld (Perl, Python)

             Examples from Class 1 (Perl, Python)

             Scalars (Perl, Python)

             Examples from Class 2 (Perl, Python)

             Basic File I/O (Perl, Python)

             Sin Curve Excel Example (Perl, Python)

             Game of Life (Perl, Python)

             Sieve of Eratosthenes (Perl, Python)

             Error Checking (Perl, Python)

             Regular Expressions (Perl, Python)

            

             4/16/2008           Bring sample data file to class to parse in class

                                       (you can modify this Perl script to create sample data files)

                                       (Here is a sample Perl script to read it back in)

 

             Example of reading in an unformatted Fortran binary data file with (Perl, Python)

 

Numerical Programming

           Matrix Multiply (Perl, Python)

             2D Heat Transfer (Perl, Python)

             Tk Player for 2D Heat Transfer Output (Perl, Python)

             Mean, variance & standard deviation (Perl, Python)

 

Interactions with Databases

             ODBC Example (Perl, Python)

 

Interactions with Internet/Network Resources

                 Four Strings Web Services Clients (Perl, Python, C# Web Service, asmx)

             Calculator Web Services Clients (Perl, Python, C# Web Service, asmx)

 

Interactions with System Command and Application Software

 

Systems Information & Management