Code Monkey home page Code Monkey logo

dig245-regenerative's Introduction

Regenerative

Create a dynamic web page that uses data to change its presentation

numbers

Images (from left): Generative Splines Hyper Glu; Arc Bicycle Delft University of Technology (2016); The Sherwin Series Joelle Dietrick (2011); Heydar Aliyev Centre Zaha Hadid (2012)

Learning Objectives

Students who complete this assignment will be able to:

  • Describe how to use data to create generative processes in software, design, architecture, etc.
  • Compare outcomes of generative processes across disciplines.
  • Write pseudo code and build a prototype to plan and develop a web application.
  • Use HTML, CSS, Bootstrap, and JS build final application.
  • Design an identity for the project that communicates a theme or concept
Preparation

Complete the following to prepare for this assignment. See Resources for additional information as needed.

About

This assignment asks you to create a web page that can generate new iterations of itself based on some changeable data source. This could be input from the user, other available data (e.g. time, location, etc.), or pure randomness.

Nearly every software or dynamic website generates their interfaces using data. Even a boring shopping website uses cookies to identify and customize pages for users (regardless who stands to benefit).

This process is evident in many other "design" contexts. For example, Generative Design is a related cultural trend that, similar to data-driven websites, uses coded rules and algorithms to create (and recreate) concepts and forms for architecture, objects, behaviors, animations, games, and much more. This diagram from, Generative Design: Visualize, Program, and Create with JavaScript in p5.js by Groß, Bohnacker, and Laub, shows how these processes can create new iterations, using varying degrees of input from the creator, to ideate or solve specific design or aesthetic problems. Regardless of your approach, your project should mimic or somehow find inspiration in these processes, to reflect your own thinking on the subject.

Instructions

  1. Fork this repository and clone it to your critical-web-design folder on your machine.

Concept

  1. Develop a concept for your project. Consider the above prompt, as well as Examples of randomness below.
  2. Use Figma to create a wireframe and design iterations for your project.
    1. Show the different stages of the user experience or how your app changes depending on the content.
    2. Start with desktop design, then create the mobile layout once you have made a few iterations.
  3. Use Figma to diagram any data transformations or flowcharts as needed.

Code

  1. Begin the code portion by writing out the pseudocode for your project. See this activity for practice. Save the pseudocode in a comment in your Javascript.
  2. Use HTML, CSS, and JS to code your design inside index.html
  3. Use Javascript variables, conditional logic, loops, etc. to somehow change the page every time it loads.
  4. Use images, other media, or code libraries as needed.

Publish

  1. Save and refresh your work in the browser often to see your changes.
  2. Commit changes regularly.
  3. Confirm valid HTML and CSS (?)
  4. When finished, push, publish, and post your project. Make sure to include a link to your Figma designs in the Moodle post.
Grading
Points Category Description
4 Concept Idea is original and evokes deeper thinking on the subject.
4 Design Overall quality and use of design principles; Graphics are consistent, layout displays clear information hierarchy
4 Execution Concept and design is well-executed, is usable, and functions as intended
4 Instructions Project is online, accessible, and linked from Moodle by the deadline
4 Validation Valid HTML and CSS
20 Total

Examples of randomness

Example works

Articles

Sources for content

Examples from class that use randomness

Resources

dig245-regenerative's People

Contributors

mengfw-02 avatar omundy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.