Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Reading LevelReading Level
-
Content TypeContent Type
-
YearFrom:-To:
-
More FiltersMore FiltersItem TypeIs Full-Text AvailableSubjectPublisherSourceDonorLanguagePlace of PublicationContributorsLocation
Done
Filters
Reset
3
result(s) for
"Recursive programming Textbooks."
Sort by:
A Survey on Teaching and Learning Recursive Programming
2014
We survey the literature about the teaching and learning of recursive programming. After a short history of the advent of recursion in programming languages and its adoption by programmers, we present curricular approaches to recursion, including a review of textbooks and some programming methodology, as well as the functional and imperative paradigms and the distinction between control flow vs. data flow. We follow the researchers in stating the problem with base cases, noting the similarity with induction in mathematics, making concrete analogies for recursion, using games, visualizations, animations, multimedia environments, intelligent tutoring systems and visual programming. We cover the usage in schools of the Logo programming language and the associated theoretical didactics, including a brief overview of the constructivist and constructionist theories of learning; we also sketch the learners’ mental models which have been identified so far, and non-classical remedial strategies, such as kinesthesis and syntonicity. We append an extensive and carefully collated bibliography, which we hope will facilitate new research.
Journal Article
Spatially Recursive Spreadsheet Computations: Teaching The Critical Path Method Of Scheduling Using Two Dimensional Function Ranges Versus Traditional One Dimensional Object Oriented Programming
by
Molineaux, Justin
,
Madden, Michael
,
Lucko, Gunnar
in
Algorithms
,
Civil engineering
,
College students
2007
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 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.
Conference Proceeding