### Spatially Recursive Spreadsheet Computations: Teaching The Critical Path Method Of Scheduling Using Two Dimensional Function Ranges Versus Traditional One Dimensional Object Oriented Programming

Gunnar Lucko, Michael Madden, Justin Molineaux
2007 Annual Conference & Exposition Proceedings   unpublished
Project management is the art and science of planning and controlling projects in their various aspects of time, cost, and scope. Scheduling focuses on the time aspect while considering the various needed resources. The critical path method (CPM) is the most common scheduling technique, whereby the project is broken down into activities with specific durations and relationships among each other. Calculation occurs in two major steps. In the forward pass each activity is scheduled to occur as
more » ... uled to occur as early as possible while obeying its dependency conditions. The backward pass examines the inverse case of delaying all activities as late as possible without impacting the project end. The flexibility of each activity, its float, is assessed by comparing these extreme cases. Activities with zero float are time critical, as postponing any of them would impact the project end. Any traditional computer program for the two-step CPM algorithm consists of defining variables for the time and dependency information of each activity from the schedule input, sorting them, making case distinctions whenever the dependency structure splits or merges between predecessors and successors, and saving the maximum early dates and minimum late dates to the output. An object-oriented programming (OOP) approach would use the appealing existing division into objects, the activities, which are related in a clearly defined sequence. It would follow a one-dimensional flow of individual commands including various loop statements to accommodate the case distinctions at forks in the dependency structure. Numerous standard textbooks on project management that have been reviewed fail to consider these case distinctions in their presentation of the CPM algorithm, which in the experience of the authors often leads to students initially having difficulties in how to apply the parallel evaluation of numerous activities under CPM to solve complex schedules. The authors developed an educational unit for teaching CPM to undergraduate civil engineering students concentrating in construction engineering and management. Students learn using spreadsheet functions and diagrams before CPM is introduced in this course on computer use in construction. In teamwork under the guidance of the instructor, they then develop the CPM algorithm through manual scheduling exercises in conjunction with computer spreadsheet modules for each part of the complete CPM analysis. This "learning by doing" build a deeper understanding of the mechanics of CPM. Finally, commercial scheduling software is introduced. The modular spreadsheet presents an innovative non-OOP approach to solving CPM schedules of arbitrary complexity through beneficial use of its two-dimensional spatial format. Recursive function ranges in that two-dimensional matrix format allow solving the schedule directly. They are fully scaleable up to the available number of rows and columns in the spreadsheet. Further research will add graphical capabilities that can be controlled by the students with traditional macro programming.