Hello, I’m Loren Olson, a teacher, researcher, and software developer.

I’m a Clinical Associate Professor at the School of Arts, Media + Engineering,

Herberger Institute for Design and the Arts, Arizona State University.

Here are some classes I teach.

AME 230 Programming for Media Arts

Introductory level course in practical aspects of programming systems for Media Arts. No previous programming experience is required. The course explores techniques in programming in the context of images, sounds, interaction, and data visualization. Students will create images, animations, and interactive programs using JavaScript and p5js.

AME 430 Mac Development for Media Arts

This course explores macOS native application development in the domain of Media Arts. The course is project based, and covers the native Xcode development environment, and the Swift programming language. Native applications are able to achieve the highest levels of performance, they leverage the unique technologies built for a platform, and they are able to participate in the native user experience (look & feel) that all users of a popular platform expect. To understand native apps for macOS, the course will examine a number of code frameworks provided for developers by Apple including (but not limited to) Foundation, AppKit, SwiftUI, AV Foundation, CoreImage, Vision and SpriteKit.

I recommend that students have some programming experience before you take this class. If you haven’t programmed before, consider taking Programming for Media Arts first.

AME 435/535 Mobile Development

This course explores native application development for iOS for use in the domain of Media Arts. The course is project based, and covers the native Xcode development environment, and the Swift programming language. Native applications are able to achieve the highest levels of performance, they leverage the unique technologies built for a platform, and they are able to participate in the native user experience (look & feel) that all users of a popular platform expect. Applications for mobile devices, usually held in the hand, with a touch based user interface, and relatively constrained resources present a significantly different development environment compared to the conventional desktop environment.

I recommend that students have some programming experience before you take this class. If students haven’t programmed before, consider taking Programming for Media Arts first. In addition, it is best to take Mac Development for Media Arts before this course, in order to be familiar with Xcode and Swift.

AME 494/598 Animating Virtual Worlds

This course investigates creating dynamic virtual environments. How can we create complex, engaging and aesthetic environments that are responsive? We explore creating animation using code. How to create movement using procedural and generative techniques. Subjects include random numbers, Perlin noise, particle systems, autonomous agents, steering behaviors, fractals, and L-systems. Prior programming experience is required. We use Unity and C# to create class projects.

I recommend that students have some programming experience before you take this class. If students haven’t programmed before, consider taking Programming for Media Arts first.

__