Implementing Your Development Process

On this page, you will plan your Create Task project (first informally and then formally), and then you will program it.

    CRD-2.F.2
  1. Do some investigating and reflecting:
    1. What are the constraints of your program? (What features does it need to have? What are the limitations you will be working with?)
    2. CRD-2.F.3 ("Gather information")
    3. Gather information from people who might use your program. What are their needs and interests? You might gather data by using surveys, by conducting interviews or user testing of similar programs or previous versions, or by watching people use similar apps.
    4. Keep track of what you learn.
  2. CRD-2.B.4, CRD-2.F.4, CRD-2.F.5
    • The specifications describe a program's requirements, including how it functions and possibly a description of user interactions.
    • A program's behavior is how it needs to work, often including what the user will see and how they will interact with the program.
    CRD-2.F ("Design your project.")
  3. Design your project.
    1. Write specifications of your program by describing its behavior.
    2. CRD-2.F.6, CRD-2.F.7 ("Brainstorm how")
    3. Brainstorm how you will meet these specifications. You might create a storyboard of what will happen or diagrams of what the user will see. What abstractions might help you develop the code? What parts will you program first? What parts will have to be built after other parts are finished? How will you test each part, and how will you test the whole project? Will you develop your project iteratively? Will you develop it incrementally?
CRD-2.H.1, CRD-2.H.2 ("The College Board is very particular")

The College Board is very particular about acknowledging content that you did not develop yourself. You are probably familiar with using quotation marks around text that you didn't write and with creating a bibliography, but for the Create Task, you also need to acknowledge code that other people wrote or even helped you write. This acknowledgment must include either where you got the code or who wrote it, and it should be included in your program documentation.

    CRD-2.H ("Develop a prototype")
  1. Use Snap! to develop a prototype to meet your specifications. As you do, keep track of any pieces of code that were written by someone else (either using Snap! comments or in another document).

The Create Task requires you to include a list in your project and to identify it by name, but in Snap!, lists aren't necessarily named. To receive full credit on the Create Task, be sure to make a variable to store your list and refer to your list by its variable name in your written response. The exam graders need to understand what you are referring to. For example, if your project used this block:
set (color choices) to (list (red) (green) (blue) (purple))
you might write "The 'color choices' list stores the options that the user can select for their stage background."