Teaching
Courses and workshops I taught from 2013 to 2022, at Srishti in Bangalore from 2016 on.
-
2022
Glider Gun
A coding workshop on cellular automata: simple rules on a grid that produce startlingly complex behaviour. People used P5.js or whatever language they liked to simulate things like Conway's Game of Life and the glider gun, and to sit with the strangeness of emergence.
-
2022
Should You Copyleft
A reading and writing workshop on free culture and its politics: copyleft, FOSS, the FSF, open access, remix culture. Participants worked out where they stood among these positions and then wrote a paper arguing for it.
-
2021
MagFlora
Two weeks of algorithmic botany. Participants collected plants, found the symmetry and growth patterns in them, then rebuilt those forms with paper and sticks using L-system grammars, first borrowed ones and then their own.
-
2021
Explain with GIFs
Students explained hard internet algorithms in short GIFs, four to eight per idea, aimed at a general Indian audience and made in regional languages. The brief was accessibility: take something like how a cryptocurrency works and make it land without jargon.
-
2021
Sketch Crit and Remix
A week-long inquiry studio about how to inquire. Instead of chasing their own projects, participants stepped back to look at the methods and frameworks for imagining futures around computation, working through a daily challenge format.
-
2020
Drawing Fractals with Code
A workshop on drawing fractals in code: self-similarity, iterated function systems, the Mandelbrot and Julia sets, and what dimension even means once you leave whole numbers. For people who already knew a little programming and wanted to point it at mathematical images.
-
2020
Design and Futures
Co-facilitated with Naveen Bagalkot. A workshop on speculative and critical design: where design has helped create inequity, and how it might stay honest as technology keeps shifting underneath it. We treated futures as something you inquire into through making, not just predict.
-
2020
Deconstructing Algorithms
An undergraduate thesis elective on algorithmic literacy. One thread became a thesis on discovering that literacy through explainable AI: how to make the decisions of a system legible to the people it affects.
-
2019
Making with Algorithms
A studio on what it means to design when neural networks, computer vision and blockchains are the materials at hand. We treated the algorithm itself as something you design with, and the course note still holds the student work that came out of it.
-
2019
Tangible Computing
An advanced studio in IoT and physical prototyping with Arduino and Raspberry Pi. Students found their own problems and built working proofs of concept, from a stylus that finds library books to a bus stop that tells you when to leave.
-
2019
IxD for Screens
A course on designing screen interfaces for sites and apps, run through the full loop: user-centred design, wireframing, prototyping, and usability testing. The aim was interfaces that feel obvious to use.
-
2018
Future of IxD
A course about interaction after the screen. Students looked hard at emerging technology and were pushed to design for it rather than around it, using whatever methods the problem called for.
-
2018
IxD Beyond Screens
Co-facilitated with Naveen Bagalkot. The 2018 run of a course arguing with the screen as the default interface, asking students to build experiences that live in the world instead of behind glass.
-
2018
Visual Thinking Tools
A workshop for first-year visual communication students on thinking with their eyes. They made anamorphic artwork with no plan on paper, leaning on each other to navigate it, then built deliberately overcomplicated Rube Goldberg machines for silly ends.
-
2018
Learning Expedition to Shimoga
A field trip with foundation-year students to Shimoga, in Karnataka, to learn community engagement firsthand. We visited a Sanskrit-only village school in Mattur and the Ninasam cultural institution, trekked, and met the elephants at Sakrebailu, and the design lessons came out of the travelling.
-
2017
IxD Beyond Screens
The first run of a course pushing interaction design past the screen. Students built immersive, user-centred experiences and got comfortable working with methods and materials that have nothing to do with a rectangle of glass.
-
2017
Physical Computing
A hands-on workshop building physical things with an Arduino Uno on board. Small experiments grew into bigger ideas like line-followers and autonomous robots, with real time spent among sensors and actuators.
-
2017
Digital Making
A ten-day workshop introducing brand-new design students to object-oriented analysis and design, using it to take apart everyday products like the Kindle and rebuild them as interactions. Processing was the medium for sketching those ideas in code, and the work ended in a full exhibition.
-
2017
Advanced Programming and Prototyping
A unit on the parts of programming that sit behind the screen: version control, APIs, libraries, object orientation. The framing came from Paul Graham, that a language should be a pencil for thinking in, not just a pen for writing down what you already worked out.
-
2017
Algorithms, Computation and HCI
A studio at the join of algorithms, computation and interaction. We looked at how to reason about the cost of solving a problem, and at what computers can and cannot do, then asked what that means for design.
-
2017
Math for Programming
The discrete maths a programmer actually leans on: sets, logic, functions and relations, a bit of graph theory, and enough probability to reason about uncertainty. Taught through problems rather than proofs.
-
2017
Programming as a Design Tool
Co-facilitated with Venkat Chilukuri. A first course in programming for designers, built on the idea that code is a tool for thinking and prototyping, not a thing reserved for software engineers.
-
2017
IxD2
Co-facilitated with Riyaz Shaikh. A second interaction design course for students who already had the basics, pushing them to think critically about where computing is going and to design for that, not just for now.
-
2017
UxD2
An introduction to user experience. Students pulled apart products to see which parts of the experience were deliberately designed, speculated on where they were headed, and prototyped their own with Wizard of Oz and similar tricks.
-
2016
Embedding Emerging Tech
An e-textiles and wearables course built around the LilyPad and Arduino Uno. Students learned the basics of electronics and code well enough to sew sensors and actuators into things they could wear.
-
2016
Digital Interfaces
A web programming course that started at plain HTML and CSS and worked up to JavaScript, with each student building their own portfolio site along the way.
-
2015
Learning to Code with Processing
A first coding course for art and design students, taught in Processing. By the end people were making interactive graphics, small games and generative art, and had a way into using code in their own practice.
-
2014
Computer Programming from the Ground Up
A first course in C++: data types, variables, control flow, basic data structures and algorithms, and how to design a program. Plenty of debugging, with the aim of leaving people able to keep learning on their own.
-
2013
Building Your Own CMS
A course on building a content management system from scratch, covering database design, authentication, and the screens for creating and managing content, ending with a CMS each student could actually run their site on.
-
2013
Designing Interfaces
An interface design course taught in Adobe Illustrator: typography, colour, layout, and how to draw the icons and buttons an interface is made of, with usability as the point rather than decoration.