Prototyping: Functions {

Grade

Deadline

If you ever need an extension, contact your instructor at least 3 days before the final deadline.

🔥 Read the submission guidelines carefully. You will lose points for incorrect submission formats. 🔥

Objectives

Deliverables

Three prototypes

Create three distinct, small prototypes that explore the material learned during this week. Each prototype should be built as a separate small project (starting with the template project each time). Make sure you play around with what is possible in terms of using functions. This will be an opportunity to reflect on the past topics as functions on their own don’t necessarily add new features outside of scale by making easier to having many elements that behave the same way. Consider:

Feel free to borrow from any of the example code you’ve seen so far in the course, but make sure to attribute in you code in the top-level comment. Remember that is your work that will be graded in cases, not starting code you may use.

One journal entry

Write a journal entry in your process journal reflecting on what you learned while making your prototypes. What surprised you? What is cool? What is difficult to understand? What do you hope someone else would get out of your work? Is there anything here you would be interested to develop further? Include at least one screenshot to illustrate your thoughts. (Minimum 250 words)

How to start a prototype

Remember to take this basic steps to get going:

  1. Download the template project
  2. Rename that folder, maybe to functions-prototype-1 or blueberry-swirl (you can always rename it later)
  3. Put that folder in your repository somewhere sensible like cart253/prototypes/functions/
  4. Commit and push that change with a message like “Started blueberry swirl prototype”
  5. Keep committing and pushing as you go along, being sure to write about what you did and why you did it

Do that three times and you’ll have three prototypes.

Advice

  1. Start early. Don’t delay thinking about this. Start playing around immediately.
  2. Start small. Think of the smallest possible version of what you want to make and make that first. Once it works, you can start adding to it.
  3. Seek help. Ask for help as soon as you need it either to discuss what you want to do or to figure out a problem.
  4. Be stylish. Make sure you read the style guide.
  5. Be committed. Remember your grade includes your use of version control and writing good commit messages.
  6. Check your links. When you submit, make sure your links work.

What to submit

You should add the following to your class homepage (aka. cart253/README.md):

  1. A heading naming the assignment
  2. A screenshot and title for each prototype, followed by links to the running prototype and its code in your repository
  3. A link to your journal entry for this assignment

It might look like this (for Pippin, whose username is pippinbarr):

## Functions Prototypes

[Reflective Journal](./journal)

### Name of Prototype One

![Screenshot of prototype one](./screenshots/functions/prototype-one-screenshot.png)

[View online](https://pippinbarr.github.io/cart253/assignments/functions/prototype-one/)

[View code](https://github.com/pippinbarr/cart253/tree/main/assignments/functions/prototype-one/)

### Name of Prototype Two

![Screenshot of prototype two](./screenshots/functions/prototype-two-screenshot.png)

[View online](https://pippinbarr.github.io/cart253/assignments/functions/prototype-two/)

[View code](https://github.com/pippinbarr/cart253/tree/main/assignments/functions/prototype-two/)

### Name of Prototype Three

![Screenshot of prototype three](./screenshots/functions/prototype-three-screenshot.png)

[View online](https://pippinbarr.github.io/cart253/assignments/functions/prototype-three/)

[View code](https://github.com/pippinbarr/cart253/tree/main/assignments/functions/prototype-three/)

You will then only need to submit a link to your README.md via Moodle (see below) beause the instructor will be able to easily find all your running prototypes and their code.

Submission

Submission will take place on Moodle. Go to the appropriately named assignment on the Moodle and then submit your work there.

Your submission should just be a plain text link to your website/README.md that contains the materials for this assignment, e.g. (for Pippin it would be)

Website version: https://pippinbarr.github.io/cart253/

or

Repository version: https://github.com/pippinbarr/cart253/

If you would like to be fancy you could make a new README.md for each topic and put it in a corresponding folder with all your prototypes and code linked there instead, e.g. you would submit something like:

Website version: https://pippinbarr.github.io/cart253/functions/

Repository version: https://pippinbarr.github.io/cart253/tree/main/functions/

🔥 Make sure all your links work before you submit 🔥
🔥 Make sure that you have commented your project before you submit 🔥

Evaluation

Read the assignment rubric on Moodle for precise details.


}