Beyond the normal IMA offerings, IMA has courses specifically designed for non-majors/non-minors. These are:
IMNY-UT 1: Code!
Code! is an online course that focuses on the fundamentals of computer programming (variables, conditionals, iteration, functions & objects) using JavaScript. In particular it leverages the p5.js creative computing environment which is oriented towards visual displays on desktops, laptops, tablets or smartphones. The course is designed for computer programming novices.
What can computation add to human communication? You will gain a deeper understanding of the possibilities of computation–– possibilities that will augment and enhance the perspectives, abilities and knowledge you bring from your field of study (e.g. art, design, humanities, sciences, engineering).
Each week you will complete a coding exercise and reflect on your process in a short forum post along with a wrap-up assignment at the end. At first it may feel foreign, as foreign as learning a new language or way of thinking. But soon, once you get some basic skills under your belt, you’ll be able to make projects that reflect your own interests and passions.
IMNY-UT 2: Code! 2
Code! 2 is an online course builds on the concepts introduced in Code! by applying JavaScript programming skills to interactive media projects. Using the p5.js creative coding library, students will design dynamic visual experiences for the web across desktop and mobile platforms.
Students will have the opportunity to experiment with topics such as sound, basic game development, body tracking, and algorithmic art. Completion of Code! or equivalent experience is required. Prior knowledge of JavaScript and the p5.js library is expected
IMNY-UT 3: Computational Thinking for Artists
Calling all writers, actors, cinematographers, directors, designers, dancers, performers, and any other artists who want to understand the creative potential of computation and machine learning: this course is for you. What happens when you open up a computational system, examine how it works, turn it upside down, twist it, and break it? The course will approach artificial intelligence systems not as tools for making something, but as the creative material itself. No prior programming experience is required.
Students will start with hands-on creative coding in p5.js, working from example code and curating datasets of text and images to see how algorithms offer different lenses on the source material. The second half turns to machine learning, providing a foundational understanding of how AI systems learn from data and make predictions. Starting with Teachable Machine and the ml5.js library, students will learn the entire machine learning pipeline by collecting their own images and training a custom classification model. From there, they will work with pre-trained models that track bodies, hands, and faces. Finally, the course will cover language models, and students will learn how to run open-weight models on local hardware, train a custom model with their own data, and build a simple agent. Along the way, students will work with data, probability, and statistics, ask where a model’s training data comes from and who is (and isn’t) represented in it, and critically examine these systems through their own artistic work.
Class time includes discussion of readings and artworks, student presentations, and hands-on coding workshops. Weekly exercises build toward a final project connected to the student’s own medium or passion, whether that is film, dance, drama, photography, music, writing, games, or something else entirely.