02019 Time Syllabus

Main Time class page

ITPG-GT 2040 – 001 (23548) Wednesdays 12:10pm – 3:05pm (September 04 – December 11)

Student documentation

Notes on the syllabus

The first portion of the syllabus, weeks 1-5, is about time as a concept. You have (or will be acquiring) a background in physical computing and computational media – it’s assumed that you have techniques to solve problems with, and the more interesting issue is what to apply them to. You’re invited to think deeply and creatively about time, setting the stage for later work.

Because of a natural break in the syllabus, we’ll have a two week pause between classes 5 and 6. At week 6, we’ll review the creative/thoughtful work you’ve done so far, and begin a series practical in-class workshops, covering specific technical time topics. We’ll see things like microcontroller interrupts, RTC hardware, programmatic timelines and animation curves. At this point you’ll be formulating ideas for finals, and the goal is to give you some advanced tools to apply to that work.

We’ll have two classes after the Thanksgiving recess: a workshop for final projects, and then the presentation of the projects themselves.

Office Hours

Office hours can be scheduled with this calendar. In general I will be at ITP on Wednesdays and Thursdays, with most office hours Thursday afternoons, for both this class and physical computing. I have found over the years that video chats often work equally well for meetings, so if an in-person time is not available, please feel free to reach out by email and we can set up a time to chat.

Deliverables

An overview of what’s due when. For more detail, see Assignments and Readings

  • Weekly: respond to prompts and readings for the following class. When appropriate, post online documentation.
  • Class 6 (October 23): present astronomical instrument and software clock assignments.
  • Class 7,8, and 10: Complete technical exercises started in class workshops, reviewed in following class.
  • Class 4, 7 and 9: Discuss Rovelli and Griffiths reading.
  • Class 9 (November 13): Present final project concepts.
  • Class 12 (December 11): Present final projects.

Assignments

For all assignments, including the final, students may work individually or in groups of two; for a group larger than two please discuss with me first.

Astronomical Instrument

Demo in class Week 06, October 23.

Finding patterns in the movement of stars, planets, the moon and sun, tides, seasons is an ancient art. People have been looking up with wonder at the sky probably for longer than humans have been humans, and this thread of contemplating time runs throughout history.

I ask for your interpretation of what it means to follow in this tradition. Build an astronomical instrument. This could be literal – the exercise of building a working sundial or astrolabe is nontrivial and educational. Or this could be figurative – work inspired by time in the celestial sphere. You may use digital technology but are not required to.

Six Software Sketches

Posted online and reviewed Week 06, October 23.

Clocks are cool! I could look at the design of clocks and watches forever. This assignment is to create six quick, interesting sketches for clocks you wish existed. Draw inspiration from time-keeping machines ranging from the Antikythera Mechanism to the Clock of the Long Now. I assume you will use programming (platform is up to you) but some other method (physical mock up, etc) may be an option as well – discuss with me. The Clock Club p5JS examples are a good starting point, or branch out on your own.

At least one sketch should involve a complication.

Final Project

Due in class week 12, December 11.

I believe constraints make for good work, but I also feel the first two projects (the instrument, the sketches) are reasonably constrained already by me. So for your final project, I ask you to create the constraints yourself, as long as the project is related to Time and demonstrates creative and technical excellence. I will check in with you throughout the semester (in and out of class) to discuss progress towards final projects. Elaborating on an earlier project – say, one of your sketches – is perfectly fine.

Documentation

Each assignment (the instrument, sketches, and final) should have documentation online posted when the project is due. What this is will depend in part on what you choose to create – it could be a video of the project working, and/or a write up of your process and thoughts on the work. Discuss with me if you have any questions.

Readings

For this course, we’ll be reading Carlo Rovelli’s small, beautiful book, The Order of Time. I also ask that you read two or more chapters from Jay Griffiths’ wide-ranging and thought-provoking work A Sideways Look At Time (also known as “Pip Pip” in the UK for some reason). Between the two we will cover, in short order, the history of scientific concepts of time from antiquity to the present, as well as a variety of cultural perspectives on time.

As the semester progresses, I may add links to specific smaller readings (articles, papers, etc) in the syllabus based on what comes up in class discussions.

Throughout the semester I am likely to use projected slides to illustrate points, guide discussions, and generally help me organize the material I want to cover in each class. These will rarely function as stand alone documentation; however, there may be instances where they can serve as useful references, in which case I will share them with the class. If anyone has difficulty seeing the material in class or accessing it when shared, please let me know so we can work out how best to get the material to you.

Syllabus

Class 01, September 04 : The Gnomon

  • Introductions
    • Why this class?
    • What we’ll think about, what we’ll do.
    • Who are you?
  • Presentation: Gnomon
  • In class: Find moving light (weather permitting?)
  • Assignments:
    • Astronomical Instrument
    • Six Software Sketches
  • For next class:
    • Get reading material: Rovelli and Griffiths.
    • Send me a link to class documentation site
    • Identify an object in the (night) sky and tell the class about it next week

Class 02, September 11: The Ecliptic

  • Review sky objects
  • Presentation
    • Ecliptic Plane (notes inspired by Asimov’s The Clock We Live On)
    • Antikythera, astrolabe, armillary spheres
  • For next class:
    • Interpret timing data from Pioneer/Voyager probe. Hi-res photo, vector with notes.
    • Prepare to discuss rough clock concepts and astronomical instrument ideas.
  • Links: StarAtlas, Night Sky. London Science Museum’s astronomy collection.
  • Notes from class

Class 03, September 18: Cepheids

  • Review Voyager timing interpretations
  • Discuss project ideas.
  • Presentation
    • We’re not the center – the size of the universe.
    • Clocks in the sky, Leavitt’s Law
  • For next class:
    • Prepare to discuss Section I of Rovelli
  • Notes from class

Class 04, September 25: Time Dilation

  • Discuss Rovelli Section I
  • Miscellaneous inspiration (links from notes)
    • Quadrature, Earth Speed, CW&T, Powers of 10, Turrell, Automata, CotLN, orrery, Henson, Chaplin, Edgerton, Muybridge, slowmotion and timelapse.
  • Presentation
  • For next class:
    • Complete the curve (handout). Based on the population over time curve shown in class, extend it into the future as far as you like. What shape does it take? See William Poundstone’s summary of his book, The Doomsday Calculation, for reference.
    • Post at least one software clock sketch, and progress on astronomical instrument. We will review in the next class.
  • Notes from class

Class 05, October 02: The Copernican Principle

October 09: Yom Kippur, no class

October 16: NYU Fall break, no class

Class 06, October 23: Time Machines

  • Student presentations:
    • Astronomical Instruments
    • Software sketches
  • Presentation: Time Machines (Hardware)
    • Low-level microcontroller timing
    • RTCs
  • In-class
    • Eliminating delay
  • For next class:
    • Complete microcontroller timing exercises (see below)
    • Prepare to discuss Rovelli Sections II and III

Time Machine prompts: Start by looking at the “Blink without Delay” Arduino example, and understanding that. Can you generalize it to two or more blinking LEDs? Can you generalize these ideas to extend to any variable that changes over time? Can you find a library that helps abstract timing?

Now consider input: create a digital input handled by an interrupt as opposed to the “standard” way (polling) shown in Intro to PComp. Finally, if you have access to an real time clock (built into the Nano, or as an external board) or any other timing source (e.g., reading the output of an external quartz timing crystal) incorporate that into a simple sketch.

Class 07, October 30: Existing in Time

  • Time news
  • Rashida and Arnab’s clocks
  • Review timing exercises Do Class 6 timing workshop in class
  • Discuss Rovelli Sections II and III
  • Presentation: Existing in Time (Output)
    • Easing functions, animation curves
    • Generative timelines
    • (Signal synthesis – next week)
  • For next class:
    • Implement or use easing and timeline functions.
    • Email me with the chapters from the Griffiths’ reading you will be focusing on.

Existing in Time prompts: For the platform of your choice, find ways to gradually change variables over time, and to schedule code to run in the future. You can implement your own means, use one of the libraries mentioned below, or some other library. Report back next week with what you found.

Resources:

  • Func – P5 library from the one and only R. Luke DuBois. Waveform generators and easing functions (no timeline).
  • Greensock: JS, Timelines and Tweens, not sure best way to use with P5 but otherwise very complete.
  • Ani – Java/Processing – Based on Greensock, timelines and tweens. Not currently updating but quite functional.
  • Ramp & Tasker – Arduino. Schedule events via Tasker, animate variables with Ramp.

Class 08, November 06: From Data to Meaning

  • Arnab and Lynne’s clocks
  • Review timing exercises
  • Existing in Time part 2
    • Ramps and tasks in Arduino
    • Example of timelines and easing in PNC Beacon project.
  • Presentation: From Data to Meaning (Input)
    • Filtering
    • Event detection and timing
    • Waveform analysis (FFT and Spectrogram – see also func lib)
  • For next class:
    • Prepare final concept presentations
    • Prepare to discuss selected chapters from Griffiths

From Data to Meaning Prompts: As a first step, take a noisy, fast input from an analog sensor and experiment with ways of filtering it. Graph the original and filtered signals. As a second step, try to make decisions based on the appropriately filtered input. Can you detect local min/max trends while ignoring momentary noise? If appropriate to your platform, experiment with FFT and pitch detection as well.

Class 09, November 13: Final Concept Presentations

  • Student presentations: Final concepts
  • Discuss Griffiths reading
  • Preview: Julian Date and Unix Epoch
  • For next class:
    • Calculate Julian Date and Unix Epoch of an important date to you.

Class 10, November 20: Time Protocols

  • Review Julian/Unix results
  • Presentation: Time Protocols
    • Julian, Unix
    • GPS
    • Chrontab
  • For next class:
    • Develop finals

November 27: U.S. Thanksgiving, no class

Class 11, December 04: Final workshop

  • Final group discussion
  • Individual project meeting
  • For next class:
    • Finish final projects

Class 12, December 11: Finals

  • Student final presentations

Note – pdf files are temporary, as I find a fast way to generate more accessible slides.

Class Policies

Note – these are adapted from the policies for Physical Computing.

Grading

The most important thing you can do is arrive to each class on time and be prepared to actively participate and engage with the material. Please put your best effort into assignments and readings, and keep a record of your work online. ITP is pass fail, but the equivalent of a B or higher is required to pass.

  • 20%   In-class work and participation, readings, discussions.
  • 20%   Astronomical Instrument
  • 20% Software Sketches
  • 30%   Final project
  • 10%   Documentation

Participation & Attendance

Showing up on time, engaging in the class discussion, and offering advice and critique on other projects in the class is a major part of your grade. Please be present and prompt. Lateness will hurt your grade. If you’re going to be late or absent, please email your instructor in advance. If you have an emergency, please let your instructor know as soon as you can. Please turn in assignments on time as well.

Personal Device Use

Laptop use is fine if you are using your laptop to present in class, or if we’re in the middle of an exercise that makes use of it. Whenever classmates are presenting or we’re in the midst of a class discussion, however, please keep your laptop closed. The quality of the class depends in large part on the quality of your attention and active participation, so please respect that and close your lid.

Please put mobile devices (phones, tablets, etc.) on vibrate or turn them off before you come to class unless they are part of your project. If you have an emergency that requires you to answer your phone during class, please tell meahead of time.