Creative Programming for Digital Media & Mobile Apps

University of London via Coursera

Go to Course: https://www.coursera.org/learn/digitalmedia

Introduction

### Course Review: Creative Programming for Digital Media & Mobile Apps #### Overview Are you someone with a penchant for merging technology and creativity? If you find the worlds of video games, interactive music, and digital art intriguing, then the Coursera course "Creative Programming for Digital Media & Mobile Apps" is tailored just for you. This innovative course caters to both tech enthusiasts eager to infuse creativity into their work and artists looking to harness programming to enhance their artistic expressions. The curriculum offers an engaging introduction to processing programming, enabling learners to develop essential technical skills required for creating captivating digital applications. From audio-visual projects to mobile apps, this course covers a broad spectrum of creative programming, opening the door for numerous possibilities in the digital arts domain. #### Syllabus Breakdown The course syllabus is structured week by week, providing a progressive learning experience. 1. **Sonic Painter**: The course kicks off with an introduction to the Processing IDE, where you'll learn the basics of creating Processing sketches. You'll explore concepts of visuals and audio through the SonicPainter project, allowing you to paint interactively with synchronised graphics and sound. This engaging start sets a vibrant tone for the rest of the course. 2. **DJTube**: Following the initial project, learners will dive into the realm of images and video, developing a basic interactive VJ/DJ app called 'DJTube'. This week emphasizes interactive control of sound, visuals, and animations, emphasizing the interface design that's vital for engaging user experiences on both desktops and mobile devices. 3. **Audio Visualiser**: Week three presents a fascinating challenge — creating an Audiovisualiser, a popular tool with myriad applications. This section is rich in algorithmic graphics and audio analysis, offering a deeper understanding of how sound and visuals can be effectively intertwined.Moreover, students will learn to utilize mobile device accelerometers for dynamic interactivity. 4. **AngryDroids**: In week four, participants will put their skills to the test by creating a physics-based game modeled on the acclaimed Angry Birds game. Here, the course dives into the intricacies of physics engines with Box2D, providing students with hands-on experience synthesizing engaging game mechanics that simulate realistic physics in a 2D space. 5. **Music Machine**: The course culminates in a star-studded final week with contributions from industry professional Martin Roth. Participants will get insights into creating mobile music applications as well as hands-on experience with app development, including building a drum sequencer and working with synthesizers in WebAudio. This conclusive week offers a fulfilling wrap-up to the programming journey, showcasing how to construct a robust interactive music app. #### Pros and Cons ##### Pros: - **Comprehensive Curriculum**: The course encompasses a range of creative projects that demonstrate how programming can enhance digital media and art. - **Hands-On Experience**: Each week culminates in a project that allows learners to apply what they've learned in a creative context. - **Expert Guidance**: Insight from industry professionals enriches the learning experience, providing real-world relevance and applications for the skills being taught. ##### Cons: - **Technical Prerequisites**: Some foundational programming knowledge may be beneficial for grasping concepts quickly. - **Potential Learning Curve**: The breadth of topics may initially feel overwhelming for beginners, particularly in mastering new software and programming environments. #### Recommendation I wholeheartedly recommend "Creative Programming for Digital Media & Mobile Apps" for anyone interested in intertwining creativity with technology. Whether you are an aspiring digital artist, a hobbyist looking to expand your skills, or a seasoned developer hoping to explore new avenues of creativity, this course offers invaluable insights and skills. The combination of engaging projects, industry insights, and a supportive learning environment makes this course a worthy investment of your time and effort. Prepare to unleash your creative potential and explore the limitless possibilities of digital media!

Syllabus

Sonic Painter

This week we are getting up and running with the Processing IDE. We will show you the basics of writing Processing sketches then move onto some graphics and audio concepts. Mick will then introduce our first audiovisual example - SonicPainter, which allows users to interactively paint with synchronised graphics and sound.

DJTube

This week we are looking at using images and video, and also finding out how to control sound more fully in an interactive way. We're going to be showing you a really basic interactive VJ/DJ app called 'DJTube', which is a very simple example of how to create and load video, images and animations on desktops / mobile devices, and also use them as a basic user interface. 

Audio Visualiser

This week is all about creating an Audiovisualiser. This is a really popular and interesting topic that has lots of applications, from music players, to game engines, to more complex things such as DSP. We'll be learning about algorithmic graphics, audio analysis, and also about using the accelerometer features of your phone. Remember that many desktops don't have accelerometers, no matter how much you shake them!

AngryDroids

This week we will be creating a physics based game using a Physics engine based on Box2D. Physics engines are a fantastic way of creating dynamic gameplay that models the real world. Box2D is one of the most popular because it is optimised to be fast for 2D games that don't need the heavy processing of a 3D engine. It is used in many important 2D games, most famously Angry Birds. We will be using boxwrap2D which is a Java port of the original C++ version of Box2D, that is designed to work with Processing. Since boxwrap2D is java only we have created our own port to JavaScript, which interfaces to the javascript version of Box2D, but provides an almost identical interface to the Processing version.

Music Machine

Welcome to the final week of Creative Programming for Digital Media and Mobile apps. This week, we are going to move back to one of our favorite areas of app development - music apps. We have a very special guest this week - Martin Roth from RJDJ. Martin has lots of experience working on consumer mobile music applications, including the amazing Inception app, and The Dark Knight Rises. He shares his views on the expanding space in mobile music applications, and offers us his opinion on the WebAudio API. Meanwhile, Matt will be showing you how to create a very basic drum sequencer, and Marco will take you through the basics of sliders and multisliders, which are particularly useful for controlling parameters in music apps. Mick will then be taking you through some synthesiser examples in WebAudio, and talk you through the Music Machine example, which is a great place to kick off making a professional interactive music app for mobile.

Overview

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write sof

Skills

Reviews

Awesome course. It's packed with tons of information on how to get started making cool interactive programs, especially if you are a music junkie like myself. Great work!

Having so much fun programming with processing, the programming concepts and animation is simple to understand with this programming environment

This was a great class that shows that programming can still be fun.