It is currently Tue Dec 18, 2018 6:28 am


All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: MUMPS Programming II Student Guide
PostPosted: Thu Apr 21, 2011 5:01 am 
User avatar

Joined: Wed Nov 17, 2010 8:37 am
Posts: 136
Real Name: Terry L. Wiechmann
Began Programming in MUMPS: 0- 0-1971
I've release the MUMPS Programming II Student Guide for you review and use.

Here's how to download the guide.

1. Click on this link: https://drive.google.com/?tab=oo&authuser=0#folders/0B02dTlyD3M5ETUV5M3lBSlFvcFU
2. Right click on the file you want and choose the Download function.

The following describes the course content. Again, it is meant to be instructor lead.

COURSE DESCRIPTION
The main emphasis of the MUMPS Programming II course is code construction techniques commonly used in MUMPS. By the end of this course, students will have written various versions of a data entry routine. Each version exemplifies a technique that generalizes MUMPS code. Such techniques include indirection, variable stacking, parameter passing, block structures, boilerplate code plus data dictionaries, and routine generators.
Unit 1 provides a review of the concept of an MUMPS expression, which is so important to understanding indirection. Emphasis is placed on variable stacking, parameter passing and block structuring techniques.
Unit 2 covers structured programming techniques including variable stacking, parameter passing, extrinsic functions, block structuring and recursion.
Unit 3 describes various traditional data structures, such as stacks, queues and linked lists. It demonstrates how they may be implemented using MUMPS arrays.
Units 4, 5 and 6 develop the concept of indirection and how it may be used to generalize software. Unit 4 concentrates on the indirection operator and provides many examples of its different uses. Unit 5 presents the technique of indirectly referencing data dependent information from a Data Dictionary. Unit 6 focuses on the XECUTE command and demonstrates how one MUMPS routine may create another MUMPS routine. These study units also introduce the concept of an Application Generator.
Programming exercises are given throughout this course so the students may learn techniques by applying them to real programs. A very literal version of a data entry routine is gradually transformed into an all-purpose data entry routine, as data dependent information is separated from the basic tasks common to all data entry routines.
Both visual diagrams and hands-on programming activities supplement the verbal descriptions used by the instructor to explain each concept.

_________________
Terry L. Wiechmann


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Thu Apr 21, 2011 8:16 am 
User avatar

Joined: Wed Nov 17, 2010 8:37 am
Posts: 136
Real Name: Terry L. Wiechmann
Began Programming in MUMPS: 0- 0-1971
Whoops! Forgot to submit the exercise routines for the course.

The primary goal of the first MUMPS course was to get the student proficient in MUMPS with no emphasis on generalization. Routines were written very literally. The goal of this course is to take the student through workshop exercises that demonstrate how to generalize a set of routines. This is done by giving the student the literally written routines created in the first course and then through two distinct phases, take the student through the process of generalizing to the point where they are driving out of a data dictionary.

Please note that, in my view, these routines (an all code) should be written according to a set of conventions which they weren't. First and foremost, all command, SV, SSVN and function names should be spelled out in full, one command per line, etc.

Additionally, these routines are dated in one glaring way - the client is presumed to be a dumb terminal. Last I heard, we've progressed beyond that. One big enhancement that should be made to the course is programming for Model-View-Controller (MVC) and Web based environments.

_________________
Terry L. Wiechmann


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Mon Apr 25, 2011 2:41 pm 
User avatar

Joined: Wed Nov 17, 2010 4:02 pm
Posts: 68
Location: Houston TX
Real Name: David Whitten
Began Programming in MUMPS: 06 Jan 1982
Terry,
I like the way that you have a progression from
1. stand-alone code that has all knowledge about its function in the code
2. generalized code that uses the database to store knowledge about its function
3. object oriented code that uses libraries to store functions used in operation

This is a clear and simple progression in my mind.
I think the progression could include separating out the user-interface, which you have alluded to.
Then generalizing and causing it to be data driven would be useful.

Perhaps the next progression is to make explicit the contracts and expectations the code has between the code and data elements so that this also can be generalized or data driven.

I'm eager to see what you are thinking about, and how it will all fit together.

Dave


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Mon Apr 25, 2011 3:28 pm 
User avatar

Joined: Wed Nov 17, 2010 8:37 am
Posts: 136
Real Name: Terry L. Wiechmann
Began Programming in MUMPS: 0- 0-1971
Thanks for your interest David.

I believe the progression culminates in a data driven scenario. Because, at the time, we taught lots of VA programmers, it was important to get them to understand this progression. It made File Manager code much more comprehensible.

However, today, a transition into the Object Oriented environment would be more applicable, particularly EsiObjects, which was designed to be a natural evolutionary step of structured, generalized MUMPS.

_________________
Terry L. Wiechmann


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Mon Sep 17, 2012 7:22 am 

Joined: Mon Sep 17, 2012 7:06 am
Posts: 2
Real Name: Stacy Morrison
Began Programming in MUMPS: 05 Nov 2007
Is the link broken?


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Fri Sep 21, 2012 4:22 am 
User avatar

Joined: Wed Nov 17, 2010 8:37 am
Posts: 136
Real Name: Terry L. Wiechmann
Began Programming in MUMPS: 0- 0-1971
Sorry for not replying. Seems my subscription notification is not working anymore.

Yes, the esitechnology.com site has been deleted. I modified the post below with the new location containing all the lecture workshop guides and routines.

Let me know if you have problems.

Terry

_________________
Terry L. Wiechmann


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Tue Nov 06, 2012 5:54 pm 

Joined: Tue Jul 26, 2011 8:06 am
Posts: 17
Real Name: Nancy Grimes
Began Programming in MUMPS: 15 Nov 2010
Can you repost the link to these documents please?


Top
Offline Profile  
 
 Post subject: Re: MUMPS Programming II Student Guide
PostPosted: Wed Nov 07, 2012 10:14 am 
User avatar

Joined: Wed Nov 17, 2010 8:37 am
Posts: 136
Real Name: Terry L. Wiechmann
Began Programming in MUMPS: 0- 0-1971
Documents are here:

https://drive.google.com/?tab=oo&authuser=0#folders/0B02dTlyD3M5ETUV5M3lBSlFvcFU

_________________
Terry L. Wiechmann


Top
Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net