Skip to content

SAIC-ATS/learn2code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

learn2code - Code and software tools and learning resources for AT/SP

This is a non-comprehensive list of resources for venturing into creative code and software tools that brush up against creative code. The resources shared here have (mostly) been vetted or tested before adding. This is not a gaurantee that they'll work on your machine 😉.

This is a living document. Resources will go out of date; new resources will be added. For now, most of these resources are related to the learn2code workshop held on June 15, 2025. More resources will be added!

Table of Contents

Learning

Shortcut: What tools should I use?

  • HTML + CSS + JavaScript: for web-based projects. Node.js for working with web servers.

  • p5.js: for creative coding on the web. Can be used for interactive installations, but is best used on the web.

  • Visual Studio Code: a text editor for building your coding projects. Use this to work on your web code (HTML + CSS + JS), Python, or other types of coding projects.

  • Python: for all sorts of things. Good for simple scripts for processing data, images, video, etc. Heavily used in AI/machine learning, and is the scripting language for tools like TouchDesigner and Blender. Mac computers come with Python pre-installed, but different projects will require different versions. You'll want to familiarize yourself with Python Environments before working with Python.

  • TouchDesigner for generative/interactive installations and realtime performances.

  • Arduino (the programming language) for programming microcontrollers.

  • Max for interactive installations and realtime performances that are geared towards sound synthesis.

  • git + GitHub for managing your coding projects, using open source code repositories in your projects, and hosting free static websites. Use the GitHub Desktop app for beginner-friendly GitHub repository management.

  • Obsidian + Markdown for note-taking.

  • Unity + C# for working with game engines (Unreal Engine and C++ are also available, but classes in our department focus on Unity and C#)

Selected Tutorials and Learning Playlists

General coding

Creative code on the web

TouchDesigner

 

General Coding Resources

  • freeCodeCamp.org - a great free resource with an abundance of hands-on lessons for a variety of coding languages and development contexts

Books++

  • The Nature of Code by Daniel Shiffman - an intermediate to advanced book covering math and coding concepts for simulating natural systems in code. The book uses p5.js, but these principles can be implemented in other languages. Includes some video tutorials.

YouTube Channels

p5.js

  • The Coding Train with Daniel Shiffman - an incredible resource for learning creative code through p5.js

  • Patt Vira - great standalone creative coding (and some physical computing) tutorials. A wide variety of beginning to advanced lessons.

TouchDesigner

HTML + CSS

  • Kevin Powell – Super up-to-date tutorials on HTML and CSS (mostly CSS). Great place to learn general web design and development

 

Downloads

Apps and tools

  • GitHub Desktop - a simple desktop app to help you manage your GitHub repositories without using the command line
  • Visual Studio Code (VS Code) - A text editor for working on your coding projects
  • FFmpeg – A command line tool for editing and exporting video. Good for batch processing multiple video files quickly, without needing to use something like Adobe Premiere.
  • Obsidian – A lightweight, markdown-based note-taking and "knowledge management" app. Highly customizable, can be used to create simple or complex note-taking systems. All files are stored locally (unlike cloud-based services like Notion or Google Docs)
  • 4K Video Downloader – For downloading YouTube videos (it's nicer than using those ad-filled YouTube downloader websites)

Coding libraries and software plugins

Web

  • p5.js – Creative coding for the web. Based on the Processing programming language
  • q5.js – A GPU-optimized version of p5.js that may make some of your sketches run faster. The syntax is very similar to p5.js
  • A-Frame – A simple, more approachable 3D graphics library. Good for building WebVR and WebXR websites.
  • three.js – 3D graphics and effects in the browser. Built on top of WebGL. three.js is an advanced library.
  • matter.js – Physics library for the web
  • p5.plotSvg - Generate SVG files in p5.js to be plotted on a pen plotter
  • ml5.js – Machine learning for the web. Works well with p5.js
  • MediaPipe – a multi-platform machine learning library designed for efficiency in order to run on low-power devices

TouchDesigner

About

Contains resources and examples for the AT/SP Survival Skills: Learn2code workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published