Search Results Heading

MBRLSearchResults

mbrl.module.common.modules.added.book.to.shelf
Title added to your shelf!
View what I already have on My Shelf.
Oops! Something went wrong.
Oops! Something went wrong.
While trying to add the title to your shelf something went wrong :( Kindly try again later!
Are you sure you want to remove the book from the shelf?
Oops! Something went wrong.
Oops! Something went wrong.
While trying to remove the title from your shelf something went wrong :( Kindly try again later!
    Done
    Filters
    Reset
  • Discipline
      Discipline
      Clear All
      Discipline
  • Is Peer Reviewed
      Is Peer Reviewed
      Clear All
      Is Peer Reviewed
  • Reading Level
      Reading Level
      Clear All
      Reading Level
  • Content Type
      Content Type
      Clear All
      Content Type
  • Year
      Year
      Clear All
      From:
      -
      To:
  • More Filters
      More Filters
      Clear All
      More Filters
      Item Type
    • Is Full-Text Available
    • Subject
    • Publisher
    • Source
    • Donor
    • Language
    • Place of Publication
    • Contributors
    • Location
3 result(s) for "Recursive programming Textbooks."
Sort by:
A Survey on Teaching and Learning Recursive Programming
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.
Spatially Recursive Spreadsheet Computations: Teaching The Critical Path Method Of Scheduling Using Two Dimensional Function Ranges Versus Traditional One Dimensional Object Oriented Programming
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.