Customized Design Recipe Facts & History

Contact

FACTS

  1. 1. This Customized Design Recipe was created and is being maintained by Dr. Leshell Hatley, an Assistant Professor at Coppin State University.
  2. 2. This is a living document and will improve on a constant basis.
  3. 3. The current version is v4.2.
  4. 4. You can record and submit your responses to each step of this Customized Design Recipe using two interactive forms.
    Follow instructions carefully for each:
  5. 5. This customized design recipe was submitted for publication on 11/6/2017 to help spread the word about it and to help other novice programmers.

HISTORY

History of this Customized Design Recipe in Computer Science at Coppin State University

The current version of this Customized Design Recipe is in two (2) interactive formats and is designed for students to document their responses to each step as they progress through them:

The best part about this Customized Design Recipe is that it has morphed into its current form since the Spring 2016 semester, as Dr. Hatley watched Coppin's CS students learn how to program in COSC 199, 200, 221. These are the beginning computer programming courses at Coppin State and are the prerequisites for all other CS courses. In the four semesters that followed, steps, hints, and maybe even a bit of encouragement were continuously added to this Customized Design Recipe. As a matter of fact, enhancement to it is an on-going process in response to understanding what may be challenging to students as they code.

But this Customized Design Recipe wasn't always referred to as such. The initial attempt at teaching the program development process included sharing the Program Development Process diagram.

R. Morelli, and R. Walde. "Java, Java, Java object-oriented problem solving." Compare 1, no. 2 (2000).

However, the terms and descriptions used in this diagram were unfamiliar to novice programmers in class and therefore difficult for them to follow and remember. It also only explained the process of programming, presuming the programming challenge had already been solved following this process helped turn that solution into code. It did not explain or give hints to how to solve the program or how to think algorithmically or computationally (i.e. how to express solving problems using instructions that a computer should follow instead of the way humans do), which is a skill many novice programming students lack. It also only focused on Java and was not useful when teaching student how to program in Python. This lead to the design and sharing of a completely customized guide known as the Template for Problem-Solving and Program Design.

This template contains 9 steps and includs steps for visualizing final product, listing actions the program needed to perform to accomplish its goal, choosing variable and other identifier names, progressively pseudocode and then turning that into code using the desired programming languages, and for how, where, and when to insert comments. It was also shared at the beginning of each course/semester as a reference. This template provides more help to students than the previous Program Development Process diagram used. However, without constant reminders, students often forgot to refer to and use it. A copy of this template can be found here. The Program Development Process was then used after this template was followed and program design was complete.