CU Boulder ATLAS program
ATLS 5660 | Fall 2023
Time: Mondays @ 4:00–6:30pm
Office hours:
Thursdays (Justin) @ 4:00-6:00pm via Zoom
Location: Remote via Zoom
Instructor: Justin Gitlin
Class Policies
This course explores creative uses of software development while introducing foundational programming concepts, techniques, and best practices. Primarily using p5.js, students will learn a wide variety of tools that enable the creation of art, animation, interactivity, music, data visualization, and even utilitarian applications. While focusing on graphics, multimedia, and interactivity, the class will also cover the importance of building the "digital plumbing" that supports our creative work.
- Gain and reinforce basic programming skills to build creative software applications
- Learn how to self-educate and find answers to very specific problems while developing code skills
- Learn to love code via exposure to (and practice with) a wide array of tools, techniques and concepts
- Learn about the landscape of artists, tools, and roles of people in the "creative coding" field
- Build, document, and present original pieces of software
- Introductions
- What is (creative) code?
- Prepare tools for the semester
- Code basics overview
- Basic drawing tools
- Iteration
- Animation
- Languages & IDEs
- Control flow
- Remapping numbers
- Animation
- How to do build anything
- Strings
- Images
- Looping animation
- Software design
- Graphics effects & algorithms
- Math
- Data structures
- APIs
- Databases
- Data Visualization
- CLI
- 3D
- CPU vs GPU
- Hardware
- Computer vision
- Open Source
- Audio
- Final projects
- Web Browsers
- Networking
- Debugging
- Machine learning
- Shaders
- Final project help
- Present final projects in class
- Final project due in Canvas