Critical Making 1 & 2

Nothing is a mistake. There's no win and no fail, there's only make. ~ John Cage

Critical Making Studio is the foundational experience enabling students to realize their full potential as creative citizens in BDW Studios. Central to the studio are four courses, Critical Making 1 and 2 (Fall), and Critical Making 3 and 4 (Spring), in which students enter into an experience as transformative and diverse as the participants themselves; all unique threads woven into whole cloth, informing the very fabric of studio culture. The courses aim to ground students in making as a deeply personal practice and ongoing journey in life thereafter, resulting in creative citizens capable of realizing that which they can envision utilizing a combination of their talents, intellect, abilities, creative faculties, and support networks.

The studio experience is made possible by 24 hr, 7 days a week, access to a state-of-the-art rapid prototyping and fabrication lab facility, media editing suite, and studio workspaces that can be transformed into a variety of configurations supporting activities such as artistic performances and special events. Additionally, access to fellow students, faculty, and industry partners provides an unparalleled educational experience and support network for developing transformative solutions spanning a variety of creative industries.

Instructor:

RJ Duran
rj.duran@colorado.edu
Slack: @rjduran. #cmstudio on bdw1301.slack.com
Office hours by appointment. Feel free to reach out to me via slack or email.

Course Resources

This website is the primary resource for all critical making studio courses. Most of the resources used in the courses are divided up into sections that can be found on the left sidebar. Think of these resources as maps containing many possible tools that could help you accomplish your work and from which you will need to choose some to learn and work with. There are pros and cons to any tool but all have a set of functionalities and a purpose. As with any tool and any kind of personal creative process you are free to choose anything that works for you as long as the work gets done. As we move through the phases of the course feel free to recommend, add, and update the tools we and you find useful on this site. Also, note that anything specific and relevant to an assignment or project will be listed out under the assignment or project deliverables.

Be sure to check the Class Links section weekly as there will surely be different things covered in the two courses. The topics of in class discussion will be unique and emergent as the conversation progresses. As always, if you miss a day or just want to know what went on in a different class, get in touch with me and/or talk with your class mates and share ideas. I will make a point to hit some main points in both courses so everyone is getting most of the same information, perhaps in a slightly different order at times.

Workload

  • The critical making studio courses are each 3 credit hours. You should expect to dedicate at least 2-3 hours per credit hour. This translates into a 6-9 hours per week if you are taking only one studio course (CM1 or CM2) and 12-18 hours per week if you are taking both studio courses (CM1 and CM2). Consider 6 hours a minimum expectation for one studio course, 12 hours for both studio courses and plan accordingly.
  • Assignments given each week are due the following week by 11:59pm on the due date specified unless otherwise noted. Students taking both courses simultaneously (CM1 and CM2) should submit all work on the CM2 due date. (FYI: There are only 2 of you. Everyone else is in CM1 or CM2.)

  • Projects are assigned in the 3rd week of each phase and due the following week. Projects can be thought of as a slightly more refined assignment as they will build on the skills acquired in the phase.


Phase 1

Week 1: Intro to Critical Making and CAD

Aug 28 / Aug 30

Assignment 1: Final Project Concept

Create a "model" (sketch, raster, vector, 2D, 3D, render, animate, simulate, etc.) of a possible final project. The word "model" is meant to be understood as any kind of digital or physical representation of an idea or concept you are excited about pursuing in your course of study in critical making. Possible examples: objects, artifacts, products, digital-physical experiences, installations, performances, platforms, artworks, tools, machines, devices, etc. Think about the things that have come up related to the tools and machines we will be working with in the digital and physical realms, our broad discussions thus far, and how the various ideas around the amorphous "critical making" resonate with your ideas and ambitions. Think about the various concepts, tools, and technologies associated with your other studio courses and how they resonate with you and your creative process. Explore possibilities for expression and cross pollination. As always, time is finite, and making is critical to our progression, so explore the various tools and skill sets you already know and try out some new tools you may have only just heard of this week. The most important thing above all is that you make something to the best of your abilities in the time you have. Send me any questions you have.

Deliverable: We will review and discuss final project concepts in class. You will then post your concept to your soon to be created website. Email me any pdfs, sketches, photos, and/or models with a project title and description by Sept 6, 11:59pm. Optional: You might consider recording a short video describing your project using a screen capture tool such as Screencast-o-matic. If you do this, create a Youtube account, upload your video, then provide the link to you video via email submission.

CM1 & CM2: Due Sep 6 [Wed]
CM1: Since we won't have class until the week after Labor day, we will postpone our in person discussion about project concepts until the following class on Sept 11. Still proceed to submit your concepts via email by Sept 6, 11:59pm.

Resources


Week 2: Project Management, Development Tools

Sept 4 / Sept 6

  • CM1: Labor Day (No Class)
  • CM1: Review resources in Project Management. Spend some time investigating the tools available in order to complete assignment 2.
  • CM2: Visit Boulder Makerspace (BLDG 61) (map) during Drop-In Hours on Weds Sept 6th, 3-7pm. Meet at BLDG 61 Makerspace at 6:30pm then walk back to studio after. There is another Drop-In time on Saturday Sept 9th from 3-7pm. I recommend going to visit if you are in the CM1 class on Monday. Also, check out their calendar and events for more dates if you can't make the 9th.
  • Development Tools. Spend some time investigating these tools. Read about them, download some, try them out. Dedicate more energy to learning about Atom and the Web Languages I section.

Assignment 2: Website Analysis + Github Repo

Part A:

Explore different approaches to creating websites by analyzing existing sites and learning about the technologies they are built with. Evaluate different options such as content management systems (CMS), free/paid templates, hand coding HTML/CSS pages, etc. Locate 3-4 websites you find interesting and comment on the pros and cons of the site design and organization. What works? What doesn't? Good design? Bad design? Good UX? Bad UX? Possible places to start: Look at portfolio sites, creative agency sites, image based or image oriented sites like those used in photography or art direction, look at sites that portray a product or service in an appealing way, sites you frequently visit, project blogs, websites that document a project or creative process, etc. The purpose here is to begin to understand how the Internet works and how websites work.

In critical making we place emphasis on the creative process and understanding the successes, failures, and happy accidents that inform and guide the creation of an idea and perhaps product. Possible uses for a website like this: documenting a project, course, series of projects, workflow, tracking your growth and progress, a portfolio showcasing your ideas from start to finish and the lessons learned along the way, or some combination of all the above. As consumers of information and projects about making things and how to make things we acknowledge the work that people like ourselves put in to transmitting ideas for others to learn and grow from. We want to always pay it forward and be content creators in the digital space, and a website like this can achieve that goal. Visit Instructables to see examples of documenting projects for others to follow. Personal sites, like the following, are quality examples of project oriented coursework. Chikara Inamura (HTMAA 2014), Matt Keeter (HTMAA 2011), Christos Tzamos(HTMAA 2014), Zach Seibold (HTMAA 2014), Merav Gazit (HTMAA 2014)

Deliverable: A thoughtful commentary on the sites you have evaluated. Post your response to slack #cmstudio or (optionally and for gold stars) create a repo as instructed in Part B and commit your commentary to this repo and post the repo link. "Repo" = Short for Git Repository. If you find yourself asking, "what makes this website look or work this way?" just right click on the page and choose "View Page Source" or "Inspect" (if using Google Chrome).

Part B:

Create a Github account and go through a Git and Github tutorial. Learn about how to make a project and commit it to a repo.

Deliverable: Your github URL (Ex: https://github.com/rjduran) and link to repo (Ex: https://github.com/rjduran/cm). Posted to slack #cmstudio.

CM1: Due Sep 11
CM2: Due Sep 13
Students taking both courses simultaneously (CM1 and CM2) should submit all work on the CM2 due date. (FYI: There are only 2 of you. Everyone else is in CM1 or CM2.)

Resources


Week 3: Web Development

Sept 11 / Sept 13

  • CM1: Discuss final project ideas in class.
  • CM1 & CM2: Answer any questions about Assignment 2

  • Terminal Review

    • Common commands: cd, ls, mkdir, rmdir, rm, mv, cp, pwd, man. Think of all these commands as tiny applications that have no GUI. They are very old and have been around since the start of Unix based systems (Read this to learn more: Looking back at OS X's origins). Look at MacOS/Linux/Unix Command Line Cheat Sheet to see more information about common commands.
    • Working with directories and files:
      • cd <folder> - Goto into a folder
      • cd .. - Go up one level
      • cd ../<folder> - Go up one level (to parent folder) and into a child folder
      • cd ../.. - Go up two levels etc
      • Tab completion - When you start typing in a terminal you can hit tab to complete the command if the file or folder you are going to use is available. If you hit Tab twice, you will see the contents of a folder.
    • Git commands: git, git log, git clone, git add, git commit, git push
  • Git/Github Review / Markdown Review
    • Markdown = text file with special syntax that gets converted into HTML. For example, README.md is the default markdown file you can include in a Git repo. Review Markdown Cheatsheet.
    • Clone your created repo: git clone <repo url>. For Example, git clone git@github.com:rjduran/cm-tools.git.
    • Make some changes: (Using text editor of some kind - Atom, vi, TextEdit, notepad)
    • Add changes to staging area: git add my-file.md
    • Commit those changes: git commit -m "my message describing changes"
    • Push those changes to the repo: git push.
      Pro tip: At this stage you will likely need to enter your Github username and password. Read through Connecting to Github with SSH to setup your system to connect securely to Github and not require you to enter your credentials each time you push changes.
    • Dillinger (Markdown to HTML Editor)
  • Web Development 101
    • Web Languages (HTML/CSS/JS), Protocols
      • Web Dev Bootcamp: Work through hand coding basic HTML/CSS/JS website.
    • Domains (Registrar) and Hosting (Servers)
    • FTP, SCP, SSH
    • Localhost (XAMPP, MAMP, BitNami)
    • Chrome Dev Tools/ Inspector for debugging
    • Embedding content from Youtube, Vimeo, etc using <iframe></iframe> tags
  • CMS Tools
  • Templates

Project 1: Make a Website

Part A:

Utilizing any web development tools of your choosing, create a website that serves as a project portfolio for your critical making coursework. Along with documenting your assignments, you might consider making a section of your site for documenting process oriented things like prototypes, experiments, best practices, research, and reflections. You may opt to create a site that is built from scratch (HTML/CSS - JS not required), a CMS, or any kind of template. Regardless of the approach, the website needs to contain the following: 1) an organizational structure to document your work in pages or posts, 2) site navigation so its easy to locate content, 3) some kind of design aesthetic to make it your own (Hint: experiment with css and/or CMS styling options).
Your site should be live on the internet at a domain of your choosing. You don't necessarily need to purchase hosting and a domain if using a free CMS with hosting such as wordpress.com. You are also free to make use of a website you already have. If you choose this option, you still need to have a dedicated section of your site for critical making.

Part B:

Your site needs to contain a page or post with your final project concept(s) and roadmap. Be sure to include any text, images, and/or video you have created to communicate your idea. Be sure to include any reference material and provide links to the original sources (ie. pinterest boards, reference images of similar work, websites, etc). Identify some milestones you would like to hit in order to accomplish your project goal by the end of the class. Take a look at the resources from last week to see some approaches to documenting projects like this.

Deliverables:

  1. A URL to your website. Include a brief description about the technology used to build your site. Posted to slack #cmstudio.
  2. Optional: A github link to the repo containing the code for your website. This is only if you created your site from scratch or worked directly with the HTML/CSS/JS and wish to share it openly via Github.

CM1: Due Sep 25
CM2: Due Sep 27

Resources


Phase 2

Week 4: UX Strat Conference

Sept 18 / Sept 20

CM1 & CM2: No Class.

We won't have class this week since most are participating in the UX Strat conference. As such, I have extended the deadline for Project 1 by one week, now due on Sept 25 (CM1) and Sept 27 (CM2). There is however still an assignment based on your participation in the conference. If you aren't volunteering at the conference you still need to submit a response exploring something recently new to you. Assignment 3 will have the same due date as Project 1 so plan accordingly.

Assignment 3: UX Tools + Make Something

As you will be immersed in a conference with talk of strategies and cutting-edge tools for UX, take note of the different tools and technologies being used by the presenters and people you meet. Share your insights through post(s) on your website, via slack #cmstudio, and with the time you have in the days following the conference, take action by making something with any of the tools you encounter. What can you do with any of them just after learning about them? How can you get your hands dirty and make something? How do they start to integrate with your workflow?

"making something" could mean a variety of things. Based on what we have talked about in regards to critical making as a studio and practice, think of making things that not only benefit you in your understanding of something, but also make something accessible for someone else. You may be inspired to create a quick 3-5 min tutorial (written/video/etc) on a technique learned with a new tool or technology. You might just want to share your insights in use cases with others in a way that exercises your creative muscles visually, spatially, or otherwise. Think about what inspires you to create things and how you take action in sharing those things you create.

Deliverable:

  1. A reflection / demo (written and/or screen capture video) sharing your insights of at least 1 tool or technology encountered at the conference. If applicable, include details of what you made and your process in doing so. Did you sketch first? Just jump into it and play around? Did you follow documentation or watch videos to understand more? You may share your response on your website and/or post to slack #cmstudio. If you haven't by now created a Youtube or Vimeo account, you might want to because it makes sharing videos much easier. Both services have free options.
  2. Optional: A github link to the repo containing any code you authored or experimented with.

CM1: Due Sep 25
CM2: Due Sep 27


Week 5: Physical Computing I

Sept 25 / Sept 27

Assignment 4: It's (almost) Electric!

Look ahead to Project 2: It's Electric! and prepare a list of parts and supplies you will need to build your chosen project. Writeup a brief summary of what you plan to build and submit this along with your list of materials via #cmstudio. Indicate which items you require that need to be ordered. We can get an educational discount by ordering through Sparkfun so try to use parts available there if you can. For anything else you require you should place an order with that supplier ASAP so you can get your parts in time to work with them. I will put in a Sparkfun order early next week on Monday or Tuesday.. Reach out via slack with any questions on suppliers, materials, project concepts, etc.

CM1: Due Oct 2
CM2: Due Oct 4

Resources


Week 6: Physical Computing II

Oct 2 / Oct 4

Project 2: It's Electric!

Choose one option

Option 1: Create

Create a project of your own. Using any Arduino (Uno, Mini, Mega, etc or variation of Arduino such as Sparkfun Redboard or Sparkfun ESP32 Thing) and a minimum of 1 input device and 1 output device, create a physical computing project that explores the application of input devices and output devices. Want to monitor the moisture content of your plants and deliver water when needed? Want to build a new kind of musical interface for expression and provide feedback to the user? Want to design real-time visualizations of environmental data? Want to build a piece of clothing that lights up in response to sound? Design a project and make it! I suggest start by hand sketching your ideas out. What input devices do you need? What do they do? What output devices do you need? What do they do? What kind of behaviors do you want to program your Arduino to do? Write out the step-by-step logic then proceed to implement it in code. Experiment with simple Arduino "sketches" to understand the functionality of your input and output devices.

Option 2: Remix

Locate an existing Arduino-based physical computing project that you find intriguing and wish to explore by making it using any instructions included with the build. Make modifications to the project to make it your own. Remix it! Go at least one step further than the existing work. Explore possible project avenues through sites such as Instructables, Sparkfun, Adafruit and others. Source any parts not available in the shop but required by your project and build it. Protip: Start on this part early to account for shipping etc. Sparkfun is local and typically has next day pickup. Read through project write ups and watch videos (if available) before you decide to take on the project. Make sketches and notes based on your understanding of the project and think about what is required to complete your instantiation of the project. Pay special attention to the quality of project documentation, parts lists, and assembly instructions.

Option 3: Advance

Build a project that advances your final project concept. If it has an electronics component, brainstorm and ideate on what you might need to complete your final project and implement a portion of it using an Arduino. Seek out similar projects to learn from and build off of. Make sketches to explore your logic and understanding of the parts required by your project goals. Think about your input devices and output devices. What purpose do they serve? What is required to read data from a device? What is required to write data to a device? What types of behaviors would you like your project to contain? What functionalities are possible with available hardware? - Where to start? Hand sketch the interactions you wish to encode using hardware and logic. Then proceed to build and test circuits. Repeat until you are satisfied with the results.

Deliverables:

  1. Documentation including a project writeup, build photos, and/or 1-3 min video demonstration of your project. Describe the project motivation, objectives, hardware used, challenges encountered, and possible next steps if and/or when you are to go a step further. What is your project and what does it do? What else can you envision your project being used for? What insights do you have now that you have worked on this project? What advice might you have for others interested in following your lead? You might consider writing up your project like an Instructable, providing a roadmap for someone else to follow. Post your project deliverables to your website and share the project URL on slack #cmstudio.
  2. A github link to the repo containing the Arduino code for your project. Include github URL in your project deliverable on your website.

Make sure to give credit to any related projects, code, websites, articles, images, videos, or other source materials used by including them in your project writeup.

Bring your projects to class on Oct 9 (CM1) and Oct 11 (CM2) to demo.

CM1: Due Oct 9
CM2: Due Oct 11

Resources


Phase 3

Week 7: 3D Printing

Oct 9 / Oct 11

Assignment 5: Bits to Atoms

Design something and 3D print it in a material of your choice on the Ultimaker. Design your model to fit within a bounding box volume of 101.6 x 101.6 x 101.6 mm (4 x 4 x 4 in). This does not mean the object has to be exactly this size, it can and probably should be smaller to allow for shorter print times. Remember that larger objects and/or objects with finer print resolution (layer height) will take longer to print. Be sure to check your print time in Cura before starting a print so you know how long it will take. Also, be sure to only use support material if needed as it will increase print times. You will use Cura to slice your STL file and save/copy the GCODE file to the blue USB drive plugged into the machine. Note that Cura uses mm and doesn't include an option to change to inches. This means that if you design using inches you will have to scale your model up by a factor of 25.4 since there are 25.4 mm in an inch.

Work together to coordinate print jobs via slack #cmstudio.

Deliverables:

  1. A 1-2 min video walk through of your design in a CAD package of choice. Hint: Use a screen capture tool such as screen capture video. Writeup a brief description of the your approach to creating your design. What problem were you trying to solve? What questions and challenges did you encounter while coming up with your design? Is your object functional or purely form based and artistic or a mix of both? Feel free to elaborate on the form and function of your design. Perhaps it is an extension of a past project or an attempt to make headway on your final project (Recommended if you think you will have any kind of cases for electronics, modular components for your devices, attachments for motors, scale models of something larger, etc). Post your description and video to your website and share the URL via slack #cmstudio.
  2. A 3D printed model. Place all models on the black shop table next to the printer. In your writeup feel free to comment on any part of the printing process. What challenges did you encounter in the process and what solutions did you discover? slicing? the machine? materials? scaling your model? CAD vs physical object? thin vs thick areas?

CM1: Due Oct 16
CM2: Due Oct 18

Resources


Week 8: Parametric Design & Digital Fabrication

Oct 16 / Oct 18

Assignment 6: Form Finding

Design a parametric model / system using a CAD tool of your choice and optionally fabricate one or more objects or instances of your design. Look to the resources provided for inspiration. Investigate form finding strategies such as iterative design, taking advantage of parameters that drive full system changes (ie. move a point, move a slider, or change a numerical value to cause change in the whole design and resulting in a new instance). Explore shapes and forms that you find intriguing, analyze existing design and geometries in 2D or 3D and begin to deconstruct underlying systems of logic. If you choose to make it physical, pay special attention to the scale of your design in relation to the fabrication process you plan to use.

Deliverables:

  1. A 3-5 min video walk through of your design system in a CAD package of choice. At a minimum, generate 3 different instances or models from your system and show them in your video (For example, In the case of an Arduino enclosure, I would show three different 3D models that look similar but vary in size to support three different Arduino models with slightly different features such as UNO, Mega, and Sparkfun Redboard). Writeup a brief description of your design approach to accompany the video. What problem you were trying to solve? What forms did you find interesting and what parameters did you vary to produce such results? Perhaps the tools explored in this project will help advance your final project concept. If so, what opportunities do you now see to make headway on your final project? Be sure to credit any tutorials, blog posts, etc that you use. Post your description and video to your website and share the URL via slack #cmstudio.
  2. Optional: Produce one or more physical models from your system using 3D printing, 2D paper printing/cutting, or laser cutting (Only if you have gone through the training at BLDG61 makerspace and understand the process). In your writeup feel free to comment on any part of the fabrication process. Include photos of the fabrication process and final models. What challenges did you encounter with the fabrication process? Place all models on the black shop table.

CM1: Due Oct 23
CM2: Due Oct 24

Resources


Week 9: CAD to CAM

Oct 23 / Oct 25

  • Overview of CAM
    • Computer-aided machining (CAM) is an application technology that uses computer software and machinery to facilitate and automate manufacturing processes. CAM is the successor of computer-aided engineering (CAE) and is often used in tandem with computer-aided design (CAD). (Source: Wikipedia)
    • Computer numerical control (CNC) is the automation of machine tools by means of computers executing pre-programmed sequences of machine control commands. This is in contrast to machines that are manually controlled by hand wheels or levers, or mechanically automated by cams alone. (Source: Wikipedia)
    • What is a toolpath?
    • What is GCODE?
  • Economies of Time and Tooling
    • Which fabrication process do I choose?
    • Is this the right process to produce my model?
    • Does the time and tooling required make sense to accomplish my goal?
    • Low to high resolution prototypes
    • Considering material and application
  • Basic process to prepare files for fabrication
    • Create your design as 2D curves or 3D model using CAD package (Rhino, Fusion 360, etc).
    • Generate toolpaths using CAM software. (For example, Cura is a "Slicer" which is a type of CAM software, Fusion has CAM tools built in, and RhinoCAM is a CAM package/plugin for Rhino.). The input to the CAM software will be based on the fabrication process. The toolpaths saved out of a CAM package are always a machine code file (ie. GCODE or a variation of it).
    • Run the GCODE file using a controller/software for the fabrication process. (For example, the Ultimaker's controller is on the machine itself. You just tell it which GCODE file to read from the USB drive. This is similar to a laser cutter with a built in controller and memory. In the case of a vinyl cutter, CNC router, or CNC milling machine, the controller is commonly a computer connected to the machine sending chunks of data as the file is read. In the case of the Bantam Mill, we use their tool known as Bantam Tools.)
  • CAD to CAM Workflows
    • Working with 2D curves - Illustrator, Rhino, Fusion 360
      • 2D file types - EPS, AI, DXF, SVG, PDF (Note: These are all Vector based graphics vs Raster based graphics. Photos in JPG and PNG file formats are examples of raster based graphics and are commonly used for laser engraving.)
      • Examples - Stickers (Vinyl), Cut & Fold (Laser), Cut/Engrave (Mill)
    • Working with 3D geometry (meshes, etc) - Fusion 360
      • 3D file types - STL (most common)
      • Examples - Cut (Mill), 3D to 2D Contouring/Slicing (Laser)
  • Vinyl Cutting Demo/Process
    • Important: The driver only works up to Illustrator 2017.1 (21.1). It will not work with the latest Illustrator 2018.
    • Download and install the Illustrator plugin (You only need to do this once)
      • Choose English > CAMM-1 > GS-24
    • Download the Users Manual
    • Make a 2D design file in Illustrator
    • Configure print settings in Window > Extensions > Roland CutStudio
      • Select GX-24
    • Load material into machine
    • Outline text/shapes
    • Print/Cut!
  • Bantam Mill Demos/Process
    • CM1: Fusion 360 Aluminum Ring Tutorial
    • CM2: Adapted Ring Tutorial for Delrin
    • Create 3D CAD model
    • Switch over to the CAM workspace
    • Load Othermill Tool Library
      • Tool Types, Speeds and Feeds, Materials, Resources
    • Create a Setup
      • Setup WCS and Stock
      • Measure stock material, position model
    • Create 2D Toolpaths
      • 2D > Face
      • 2D > 2D Pocket
      • 2D > 2D Contour
    • Simulate each toolpath
    • Choose post processor for "othermill.cps"
    • Save GCODE!
    • Download Bantam Tools (Control software for operating the mill)
    • Open GCODE in Bantam Tools software
    • Turn on machine and Home it
    • Specify material dimensions and tape offset
    • Mount workpiece in machine
    • Insert / Change tool
    • Start job!
    • Remove finished object
    • Vacuum out all debris

Project 3: Totally Fab

Choose one option

Option 1: 3D Print

Create an original design and 3D print it. Use the opportunity to advance your skills in designing for 3D printing in any of the following areas: new forms, complex geometry, multipart assemblies, tolerances, designing with fasteners (screws, etc), flexible materials such as TPU, print quality and resolution for a given application, embedding electronics such as sensors and LEDs, low to high resolution prototyping, or anything challenging your understanding of printing, materials, or form printability.

Tips: Explore some of the past resourced listed for 3D printing. Look through the design guides and seek out additional resources to aid your design process. As with most ideas turned into CAD models, I suggest start by hand sketching your ideas out. Think about the problem you wish to solve or the questions you have around whats possible with this tool / medium / material. Think about the forms you want to model, the parts you want to use in an assembly, the mechanical movements you wish to explore, etc. Don't let the tools or process get in the way of you producing an instance of your idea. Start simple and make many iterations until you get to something that communicates your intent. Think about print times and plan jobs accordingly.

Option 2: Vinyl Cut

Create an original design and vinyl cut it. Use the opportunity to advance your understanding of vinyl cutting in general and in any of the following areas: sign production for walls and windows, stickers for different form factors, design for complex surfaces (ie. not flat. Think about non-planar surfaces found in furniture, cars, lighting, etc), murals, layers, typography, areas of graphic design, branding, UX, or anything challenging your understanding of vinyl cutting, materials, or application. Perhaps this is a process that aligns with other efforts and projects in other studios.

Tips: Spend some time exploring graphic design and vinyl cutting projects. Think about places you may have seen vinyl cutting used and question the design process behind it. What parameters does one need to know about to work with the media? If you are working with typography, are there fonts better suited for vinyl cutting or laser cutting? What graphical elements work well for vinyl cutting but not for screen based representation? How can this media be used to communicate complex messages? Transfer tape can be used to make decals and apply vinyl to almost any surface. We have a roll of it in the shop you can use.

Option 3: Laser Cut

Note: This option is only for those that have gone through the BLDG 61 laser cutter training and can get in during guided practice hours. Look at the BLDG 61 Calendar and plan accordingly.

Create an original design and laser cut it. Use the opportunity to advance your understanding of laser cutting in general and in any of the following areas: multipart assemblies, 3D to 2D slicing/contouring for laser cutting, pressfit constructions, folding, new materials, projects utilizing both raster (engraving) and vector (cutting), geometry, patterns or anything challenging your understanding of design + laser cutting, materials, or building complex assemblies from laser cut parts.

Tips: Spend some time exploring graphic design and vinyl cutting projects. Think about places you may have seen vinyl cutting used and question the design process behind it. What parameters does one need to know about to work with the media? If you are working with typography, are there fonts better suited for vinyl cutting or laser cutting? What graphical elements work well for vinyl cutting but not for screen based representation? How can this media be used to communicate complex messages?

Option 4: CNC Mill

Create an original 2D or 3D design and cut it on the Bantam mill in the material of your choice. Use the opportunity to familiarize yourself with the Bantam mill and the workflow for generating toolpaths using Fusion 360. In the process you will be exploring how to setup projects on the mill, choosing tools, choosing materials, work holding, how speeds and feeds work in conjunction with the tool and material you choose, and how to run the machine safely.

Note: Unlike the 3D printer where you can click print and walk away, this machine you can't. This will require you to sit with the machine and monitor it for the entire job. You must also be sure to vacuum out the machine after use using only the red/black vacuum with the small hose attachment. We will review these procedures in class. Please read all Safety information before working with the machine. Send me any questions you have about the process, machine, or safety.

Tips: To be fair, this project will likely have the steepest learning curve because there are just more variables (ie. toolpath operations, machine operations, materials, tools, fixturing, workholding, and speeds and feeds). If you feel comfortable designing CAD models in Fusion 360 you should be in a place to work with the CAM tools. Start with some basic tool path operations such as 2D Facing (to cut a uniform surface), 2D contour (to cut objects out), 2D pocketing (to cut the inside of a shape out), and 2D adaptive clearing (to have more control over a 2D toolpath), and 3D adaptive clearing (if working on a 3D model). Use the specified tool speeds and feed settings for the material chosen. Spend some time investigating other projects done with the mill. The Adafruit Milling Mondays (Youtube Playlist) is a great place to start.

Deliverables:

  1. Documentation including a project writeup, build photos, and a 3-5 min video walkthrough of your design process and final results. Describe the project motivation, objectives, hardware used (if any), code written (if any), challenges encountered, and possible next steps if and/or when you are to go a step further. What problem you were trying to solve? What tools did you choose to work with? What part of the CAD to CAM process did you find most interesting and the most challenging? If you chose to make progress on you final project, which milestones did you hit and whats next? Be sure to credit any tutorials, videos, images, blog posts, etc that you use. Post your project deliverables to your website and share the project URL via slack #cmstudio.
  2. Physical model(s). Place all models produced on the black shop table.

CM1: Due Oct 30
CM2: Due Nov 1

Resources


Phase 4

Week 10: Creative Coding

Oct 30 / Nov 1

  • Creative coding is a type of computer programming in which the goal is to create something expressive instead of something functional. It is used to create live visuals and for VJing, as well as creating visual art and design, art installations, projections and projection mapping, sound art, advertising, product prototypes, and much more. (Source: Wikipedia)
  • Generative design is a form finding process that can mimic nature’s evolutionary approach to design. It can start with design goals and then explore innumerable possible permutations of a solution to find the best option. By using cloud computing, generative design can cycle through thousands—or even millions—of design choices, test configurations and learn from each iteration what works and what doesn’t. The process can enable designers to generate brand new options, beyond what a human alone could create, to arrive at a most effective design. Most generative design, in which the output could be images, sounds, architectural models, animation etc., is based on algorithmic and parametric modeling. It is a fast method of exploring design possibilities that is used in various design fields such as art, architecture, communication design, and product design. (Source: Wikipedia)
  • Related topics: Emergence, Complex Systems, Self-organization
  • Examples
  • Tools / Frameworks
  • Scripting (aka writing code)
    • Many design tools such as Rhino, Fusion 360, Maya, and others offer an interface or API for running scripts using a application specific or general purpose programming language such as Python. This enables the generation of complex geometries that would otherwise take a very long time to model by hand.
  • Hands on Processing - Lets make something!!
    • What is Pseudocode?
    • Naming Conventions - ie. CamelCase
    • Syntax Color - ie. Reserved keywords of the Processing language such as setup() and draw()
    • Processing Reference
    • Where to begin? Sketch by hand (on paper) and sketch by code! Run. Repeat!
    • What is sketching?
    • Environment - setup(), draw(), width, height
    • Drawing 2D Primitives - rect(), ellipse(), line()
    • Working with Color - color()
    • Animation - framerate()
    • Primitive Data Types - int, float, boolean, char, string
    • Data Structures - Strings, Arrays
    • Interactivity with mouse and keyboard
    • Types of output
      • 2D - Raster and Vector graphics - PNG, JPG, PDF, SVG
      • 3D - Meshes / Geometry - STL, OBJ, XYZ
      • Data - TXT, HTML, XML, CSV, etc. All other data can be represented as some kind of ASCII (UTF-8) or binary text file.
    • Libraries

Some resources for this week's assignment

Assignment 7: Shop Clock

Challenge: The shop is in need of clock. Design a clock that displays the current time using Processing that will run as a full screen stand alone application.

Look to the time and clock based resources for inspiration and guidance for the design of your clock and the creative coding / programming resources for inspiration in programming and exploring what's possible through code. Feel free to experiment with any graphical tools at your disposal, including color, shape, transparency, etc. Explore object arrangement, color, typography, grids, layouts, animation, interactivity, form, shapes, scale, simulation, readability, visibility, and algorithms to devise a novel graphic concept representing a device that performs the function of displaying time. Your design can be as literal as displaying the digits of a clock and/or more abstract, artistic, and/or expressive. The goal of this assignment is to give you practice in using code to control visual design over time. All clocks will then be displayed in rotation on a screen mounted somewhere in the shop.

Tips: Processing has functions for working with time - hour(), minute(), second(), and millis() functions. You may also wish to explore other functions such as day(), month(), and year() for clocks that change with the time of the year.

>> Sample Code <<

Deliverables:

  1. A 30-60 second video capture of your Processing application running and a brief writeup, posted to your website, describing your creative approach to designing your clock. Include photos / scans of hand sketches and screenshots of your clock design and process. Hint: Write some code to enable quick capture of screenshots (png or jpg) from your Processing program using the keyPressed() and saveFrame() functions. You may also be interested in capturing screenshots in pdf format using the pdf library. Also, use a screen capture tool such as screen capture video to record your application running. Be sure to include credit any reference materials such as code from Processing examples and other projects you used to develop and execute on your concept. Post a link to your project URL on slack #cmstudio.
  2. Github repo with your Processing code. Include this link in your project writeup on your website.

CM1: Due Nov 6
CM2: Due Nov 8

Resources


Week 11: Alexa

Nov 6 / Nov 8

Assignment 8: Alexa, Talk to me

Part 1: Write a Commentary

Read three news articles about voice technologies and write a commentary on the the state of this industry. You can approach this from many directions. One suggestion is to start by thinking about where your personal interests intersect with the integration of voice technologies into every day life. Where do these technologies fit in your life? What areas of interest arise from reading the articles you chose? Are you interests in the technology itself? The hardware or software? The user experiences and how people engage with a kind of seemingly infinite intelligence? What new devices might you imagine interacting with through voice? What concerns might you have with accessibility or privacy?

Think about your interests in UX and what VUI means. How does and will interacting with machines verbally be different than by touch or traditional forms of interaction? Thinking about the future of this field and the dissemination of voice technologies into society, what might the next 2-5 years look like for VUI? What challenges do you foresee with using and building voice interactions and voice based user experiences?

Part 2: Build a Skill

Work through Section 1: Build your first Alexa Skill on Code Academy to get a feel for how to write a skill using the Amazon Alexa development tools. Important: Be sure to use the specified AWS Lambda Amazon Resource Name (ARN) as the Service Endpoint Type (as shown in Step 9 of Build Your First Alexa Skill). Once you know your skill is communicating with the ARN used by the tutorial, proceed to change it to arn:aws:lambda:us-east-1:878223637038:function:criticalMaking and add the following Intent, based on your name, to your Interaction Model. If you need help creating a new Intent using the Interaction Model (Beta Builder), go through the steps outlined in Section 1 Part 2: Create a New Intent of the Code Academy tutorial. You do not need to go beyond Part 2 of this tutorial unless you want to dive deeper in.

Why are you changing the Amazon Resource Name (ARN) in your Alexa Configuration panel?

Well, I created the ARN (result of using AWS Lambda) you are now pointing your skill to and added Intents based on your names to the Lambda Function. For example, your intent will be formatted like this "FirstnameLastnameIntent". ie. "JimMurphyIntent". Essentially, the utterances you define in your Interaction Model will map to the Intent functions I created in the Lambda Function. Feel free to use any number of custom utterances you want. If done correctly, you should hear a response of "Your Name!" when you say "Alexa, ask Critical Making what my name is or "Alexa, ask Critical Making my name or any other custom utterances you add. If you are curious about the Lambda function you can see how I set it up here.

Create these utterances as part of your Intent:

  • what my name is
  • my name
  • whats my name

Once you have updated you Interaction Model to include your personal Intent and utterances record a video demonstrating the results with either EchoSim or a physical Alexa Echo Spot Device. Embed the video in the project page on your website.

Tips: Gain a basic level understanding of the key components involved with designing and creating skills by watching some of the tutorial videos and reading some of the documents for developing skills listed in the resources section below. Start by looking over the documentation provided for Alexa Skills Kit (ASK) and reading through Steps to Build a Custom Skill.

Deliverables:

  1. Post your commentary on your website along with your video created in Part 2.
  2. A 30 second video capture your Alexa skill working via EchoSim or a physical Amazon Echo Spot device.

Post a link to your project URL on slack #cmstudio.

CM1: Due Nov 13
CM2: Due Nov 15

Resources


Week 12: VR

Nov 13 / Nov 15

We will not have a VR assignment but you may wish to explore VR for your final project.

Assignment 9: Final Project Proposal

This week I'd like you to revisit your final project concept and decide how you would like to move forward with it. You are free to propose a new project or continue developing the one you started in week 1. Please provide a status update or new project proposal by the end of the week. You can review the final project parameters from week 1 here. This project is to be completed as individuals but you are (highly) encouraged to share ideas and work together to assist each other. A good studio culture thrives on the cross pollination of skills, ideas, and the support of each other.

At this point you have gained experience with a variety of tools and technologies that you may wish to explore further for your final project. You may also wish to revisit and expand upon a previous assignment or project and develop it further. The purpose of the final project is to realize something from start to finish that utilizes any combination of skills, tools, and technologies required to support bringing your creative vision to fruition. What might this look like? Some possibilities include things that could be classified as products, digital / physical experiences, artifacts, installations, performances, platforms, artworks, tools, machines, devices, etc.

All behavior is motivated, therefore, it will be beneficial to revisit, reflect, and think about your interests in Critical Making and your work in other studios. What kinds of experiences to you want to create? What kinds of problems are you trying to solve? What kinds of creative visions are you trying to realize? How have the tools and skills you have explored this semester informed your other work? What opportunities do you see for developing a UX or branding based project using the tools from Critical Making? What questions do you have and/or what idea keeps coming back to you?

Deliverable:

A new or updated final project proposal. It should include the following:

  1. Project Title
  2. Project Summary ~ 1 page max (ie What is it? What problem(s) are you solving? What will it do? How will it work?)
  3. Key components of your project (ie. Resources, skills, and technology needed to realize it ~ Materials, CAD, 3d Printing, Bantam Mill, Processing, Arduino, etc)
  4. Milestones you have hit thus far and what you plan to do in order to realize it in the weeks following Thanksgiving break. If you need to order some parts, what do you need? What questions do you have? Where do you feel you are lacking in skill and need assistance?

Updated: 11/10/17 - Note: There will be an event taking place on Saturday December 9th in the evening (details forthcoming). This will be a good opportunity to share your work at whatever level of completion and get feedback. It's not going to be a full critique but rather an opportunity to network and pre-view your work for outside audiences. Think about how you might setup your work to share in a public way. I can help brainstorm presentation setups.

Post a link to your project proposal on slack #cmstudio.

Due Friday Nov 17 (before Thanksgiving Break)

Notice: I will send your current grade by Friday Nov 17th.


Thanksgiving Break (No Class)


Phase 5

Week 13: Final Projects

Nov 27 / Nov 29

  • Dec 9 Event Update
  • Open Studio - Discuss project proposals / progress

Week 14: Final Projects

Dec 4 / Dec 6

  • Open Studio

Remix Holiday Bash! ~ Saturday, December 9th, 2017

CMCI STUDIO in collaboration with Intermedia Art, Writing and Performance Faculty and Critical Media Practices

  • CMCI STUDIO
  • 1301 Walnut St, Boulder, CO 80302
  • 6pm - 7pm: IAWP & CMP Student Exhibition
  • 7pm - 11pm: Transmedia Performances

Week 15: Final Projects

Dec 11 / Dec 13

The last official day of classes is Thursday, December 14th, 2017. All assignments and projects from the semester need to be in by this time. You are free to revisit and iterate on any assignment or project to improve the grade you have. Your final project is due next week when you present on December 18th.


Week 16: Finals Week

Dec 18

CM Studio: Final Project Showcase
Monday, December 18th, 6:30-9:30pm

Presentations

  1. Please have your project setup and on display as you intend to present it before we start presentations.
  2. Be prepared to talk about your project for 5-7 mins. I suggest preparing a presentation that includes a problem / project statement, any relevant research done, images and video of prototypes and your creative process, lessons learned, and possible next steps (future work).
  3. We will try to stay within the timeframe of 10 mins max per person so everyone has the opportunity to present. Please make sure any demonstrations fall within this timeframe.