Deliverable 12 - Fall 2023

Due WEDNESDAY, November 22, 2023 by 11:59PM


PREPARING YOUR HANDIN FOLDER...

FIRST: Create a folder or subdirectory in your 15-104 working area on your computer or in your Andrew private folder for handin-12. You will put all of your work inside this folder and then compress or zip it to create handin-12.zip to submit to Autolab.


Conceptual Questions

THERE ARE NO CONCEPTUAL QUESTIONS FOR THIS DELIVERABLE.


Technical Assignment 12

THERE IS NO TECHNICAL ASSIGNMENT FOR THIS DELIVERABLE.


Open-ended Project 12: Final Project Proposal (3 points)

Using the programming skill you have gained throughout the semester, you are to create a project of your own design based on our major theme: The Adventures of Pixel, the p5.js Penguin, Mascot of 15-104.

Pixel the Penguin, Picture A   Pixel the Penguin, Picture B
Two drawings of Pixel (credit: Juhyun (Johanna) Park)

The project will have these deadlines:

Imagine that your Final Project is something a little larger and a little more ambitious than what you normally would create for a weekly homework programming assignment: you’ll have about two weeks to create it. Your project should be a program that expresses an artistic interpretation of our theme that is designed to start a discussion or provide entertainment or educational value. Although you are free to express your views through your (programmed) art, you should avoid obscenities, nudity, blasphemy, slander, etc.

As you think about what you want to do based on your discussion with your TA mentor, draw sketches and take notes of ideas you have for your desired project. Think about a project that you can reasonably do given the programming knowledge you have gained. Don’t bite off a lot more than you can chew. Your program should illustrate correct understanding of the following concepts: loops, arrays, conditionals (if), user interaction, transformations, functions (besides setup and draw), and use of at least one object definition of your own design. Work incrementally, test carefully and give yourself enough time.

For 2023, collaboration (i.e. multiple people on one project) will not be allowed. All project work must be your own individual creation.

Make a folder inside your handin-12 folder named andrewID-12-project.

  1. In a PDF file, describe what you would like to create in more detail than you gave when you met with your TA mentor. Your chosen project should involve the creation of custom software, toward some personally interesting end. Give a summary of the overall purpose of the program. Outline what your setup and draw functions will do, along with any additional user-defined functions you might need to help support your program. You do not have to provide code at this time, but you should try to outline what you think each function will need to do to make the program work.

    Since you will need to demonstrate understanding of object-oriented programming through the use of at least one object, also describe in your proposal what object you plan to program and what data fields and (optional) methods/functions it might have. You should also briefly state how you will use an array in your program.

    You can use an editor like Word to create your proposal and print to PDF. Name the PDF file: final_proposal.pdf and store this in the andrewID-12-project folder.

  2. Include one or more drawings or diagrams to illustrate your proposed project. This might be photograph(s) of a page from your sketchbook, a mock-up done in a drawing program, etc. If you have some images or other data files you might use for your program, you can include these if you'd like. Store these files in your andrewID-12-project folder.

PLAGIARISM WARNING: Your work must be an original idea and creation. If you are inspired by some computational art, please cite this in your proposal. It is ok to be informed by an artist’s work, but it is not ok for this project to duplicate that work (or use it as your own). We will be checking resulting projects for similarity with work available online. Students who clearly plagiarize work will be charged with an academic integrity violation without warning and will fail this class. The work is also expected to be your own coding. Students who copy someone else’s code as their own or have someone code for them can be charged with an academic integrity violation without warning and will fail this class. If you are having trouble and feel the need to plagiarize, don’t do it... talk to your instructor instead. We can help you get past the stress or anxiety and create something wonderful with a little extra time if necessary.

DON'T WORRY: As you start to program, if you find that you bit off more than you can chew or your project drifts into a different project, you can submit a revised proposal as part of Deliverable 13. So get started as soon as you can so you can see if you can reach your goal by the end of the semester. Have fun making a creation of your own!

DON'T FORGET YOUR T.A. MENTOR! You can email your TA mentor or post a question on Piazza if you get stuck. Your TA mentor will meet with you once more during the final two weeks to check on your progress and answer any questions you have.


Handing in your work

Your handin folder handin-12 should have the one folder described above.

You will zip up the handin-12 folder and submit this to Autolab. Your overall folder organization should look something like this (indentation indicates subfolders):


  handin-12
    andrewID-12-project
      final_proposal.pdf
      other support files: sketches, images, etc.


Once you are ready to submit, zip (compress) the handin-12 folder (which will likely be named handin-12.zip) and hand in the ZIP FILE into the Deliverable 12 submission area on Autolab. Once you handin, check your handin history and click on the magnifying glass to look at what you submitted to make sure it looks right. IF YOU SUBMIT THE WRONG ZIP FILE, YOU RISK GETTTING A 0 ON THIS DELIVERABLE!

You may submit as many times as you’d like (in case you find inspiration and want to improve your work) up until the deadline. We only grade the final submission you upload to us via Autolab.

SPECIAL NOTE: There are no penalties or grace days for this assignment if you need to submit by Saturday, November 25, but you will lose several programming days.