Course Length: Estimated 40 hours
Prerequisites: M Programming I or equivalent experience
Method of Instruction: Public or on-site lecture/workshop instruction
M Programming II is designed for the student who has completed the M Programming I course and has had several months of programming experience.
The course begins with a complete review of the concept of an M expression. This constitutes the conceptual basis of the course.
Following this review, a number of more abstract M concepts are covered. First, the concept of indirection is developed and related to the indirection operator and to techniques of indirect code construction.
Next, code structuring techniques are explored. The necessity of writing structured M code is stressed. All new language enhancements are covered in support of writing structured code. The concepts of temporary variable stacking, parameter passing and block structuring are covered. The student learns to correctly determine when to use a subroutine, procedure or function in the construction of code.
An extensive workshop programming exercise is introduced and integrated into the coverage of these concepts. This exercise involves structuring and generalizing the application created in the Intermediate M Programming course.
Various Global Design Techniques are also explored.
As the course proceeds throughout the week, the student applies these techniques. By the end of the course, the student should have written a generalized data entry routine capable of maintaining different data files and their data dictionaries.
Upon successful conclusion of the course, the student should be able to: