Reusable Programs and List Processing:

Concepts and Development,

Techniques and Tools

 

BASUG Half-Day Training Session

 

Topic:               Principles of Writing, Developing and Consolidating Reusable Programs

 

Instructor:        Ronald J. Fehd

                         Centers for Disease Control, Atlanta, GA

 

                         Ronald Fehd has a B.S. in Computer Science, and has attended SAS® User Group conferences since 1989. Since 1997 he has presented over a dozen papers on macro usage, programming theory, and Hands-On Workshops on list processing.

                         Ron is also “the macro maven” on SAS-L, the international online SAS listserve, to which he has posted over 5,000 messages since 1997. In 2001 and 2003 he was voted Most Valuable SAS-L Contributor.   He is the author of several packages on the SAS Community wikipedia.

                         His 20 years of SAS experience includes 15 years as a data manager; he is currently tech support for SAS on the HelpDesk at Centers for Disease Control in Atlanta.

When:               Tuesday, June 23, 2009, 1:30- 5:00

 

Where:              NEW LOCATION!

 

                         The Courtyard Marriott Boston-Cambridge

777 Memorial Drive

Cambridge, MA  02139

(617) 492-7777

Please see directions below

 

Price:                $125 (if paid by check postmarked by Friday, June 12, 2009)

                         $160 (paid at-the-door)

                         See details below

 

Summary:         This course covers the principles of writing, developing and consolidating reusable programs.  The goal is to make you a more valued and productive programmer or analyst.  At first, you will be shown how to move beyond simple “cut and paste” code into reusable code that handles repetitive tasks efficiently.

Next, you will learn how to look at the process used to write code.  This will allow you to develop the requirements documents usually needed but rarely provided by supervisors and clients.  It will also give you insight into how large-scale applications can be broken down into smaller, repeatable tasks.

Audience:         SAS users at all levels will benefit from this course, though you should have an understanding of the CONTENTS, PRINT, FREQ, SUMMARY and SORT procedures. Some familiarity with macro language is helpful but not required.

 

Benefits:           Why do you want to learn this material?  To:

·         Reduce tedious, repetitive, and ad hoc programming

·         Program smarter, by identifying common elements, processes, and features across programs that can be automated into reusable SAS code

·         Improve your processes for developing requirements and satisfying your clients and supervisors

·         Gain perspectives for using existing programs for building complete large systems

·         Become familiar with the intermediate step in macro development: parameterized %INCLUDEs

·         Become a faster, greater, and valued programmer

We promise you that you will have ah-hah moments!

 

Contact:            If you have questions about the course contact:  Bruno Berszoner (617-543-5718) or Brian Saper (617-489-4651)

 

Registration:     Pre-registration is required.  Please see detailed information below.

 

Course Description

This course is designed to help SAS programmers develop their skills by progressing from writing simple code to writing more flexible, automated code.  This progression is as follows:

1.       Beginning (where most programmers start off): review of hard-coded, ad hoc programs

2.       Improving your programs: consolidating ad-hoc programs into a reusable program (such as a routine or subroutine)

·   Identifying hard-coded elements that can be program parameters.

·   Organizing your file references, options, projects and sites in an autoexec.sas file.

3.       Driving the reusable programs – using lists:

·   How to make lists

·   Using lists to call reusable programs

4.       How to write modules which make and use lists

·   Create programs that make lists and use them to call other programs

·   Using parameterized %INCLUDE statements to automate your code

·   Replacing the macro %IF statement with %SYFUNC and the IFC function

·   Replacing the macro %DO loop with the trainer’s CALLX SAS code routine.  See www.sascommunity.org/wiki/Call_Execute_Parameterized_Include for more details.

5.       Examples of automation – we will look at examples written by the trainer:

·   SmryEachVar, a data review suite consisting of include modules, routines and subroutines which provide a summary of each data set (Memname) in a library (Libname).  See www.sascommunity.org/wiki/SmryEachVar_A_Data_Review_Suite for more details.

·   Using PROC CONTENTS output as a list of variables

·   Calling a reusable FREQ program for each variable

 

Registration and Payment Instructions for the Course

Please read this entire section carefully!

 

1.      You must pre-register for this training, by going to this site: http://www.basug.org/register.php3

INDIVIDUAL, ON-LINE PRE-REGISTRATION IS REQUIRED FOR TRAINING.  NO EMAIL!

All registrants will receive an immediate email confirmation of their pre-registration.

Within 72 hours you will then receive another e-mail, with a customized invoice for the training, based on your membership status.

Seats are limited, so register early!  Seating is guaranteed only for pre-paid registrants.

2.      Complete the invoice form and mail it along with your check, postmarked by Friday, June 12, 2009 to our Treasurer at:

BASUG

PO Box 253

Boston, MA 02117

 

3.      Note that this class is open to BASUG members only.  This means that your 2009 $30 individual membership dues must be paid up in order to attend!  If you are not currently a member, your invoice will include the $30 fee for 2009 BASUG membership dues.

If you have any questions about your BASUG membership status, please contact our Membership Coordinator (Robert Rosofsky).

4.      Please do not mail any checks after Friday, June 12, 2009  If you miss the mail-in deadline, bring your completed invoice form and a check made payable to BASUG to cover the at-the-door tuition rate of $160, plus any $30 membership fees due, as specified in your invoice form.  For walk-ins, we will only be able to accommodate people on a first-come, first-served basis until seats are filled.

Full payment is due by the day of the class.  There will be NO EXCEPTIONS.  As a small voluntary organization, we cannot accept credit cards at this time.  We also will not handle cash, so checks only please.

5.      REFUND POLICY: To receive a full refund, notify either of the meeting coordinators (see “Contact” above) by 5PM on Friday, June 12, 2009.  After June 12, we will refund your payment only if we can fill your seat with attendees at the door.

 

MEMBERSHIP

Keep your BASUG Membership up-to-date!  Print out a membership form from our website, and bring it with you to the meeting (along with your check).  Please note that we have discontinued Corporate Memberships - we now provide only Individual Membership at $30 annually.  For more information on our membership policy, or to print out a form visit: http://www.basug.org/basugj.shtml

 
DIRECTIONS TO THE TRAINING

Directions to the Courtyard Marriott Boston-Cambridge can be found at http://www.basug.org/directionsCourtyard.html

 
 
BASUG CONTACTS
BASUG's Mail Address: BASUG PO Box 253 Boston, MA 02117
To email our Webmaster:  basugwm@basug.org