Code Monkey home page Code Monkey logo

dig245-regenerative's Introduction

Regenerative

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)

Introduction

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.

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.

Rubric See Moodle.

Context

  • 📚 "Generative Design" (chapter 8) in Critical Web Design
    • Chapter example(s): TBD

Setup

Fork this repository and clone it to your machine.

Design

  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. 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. Show the different stages of the user experience or how your app changes depending on the content.

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 all deliverables to Moodle per documentation in the Assignments.

Examples of Randomness

Art | Design | Culture

Articles

Sources for content

Class Demos

Resources

Past examples

dig245-regenerative's People

Contributors

omundy avatar davidmhilton 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.