Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Dr Matthew Yee-King, Dr Mick Grierson, and Prof Marco Gillies

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.

Read more

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 software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

At the end of this course, you will be able to:

* Write creative, audiovisual programs in the Processing environment that run on desktop and mobile

* Programatically manipulate sound in creative ways

* Display images and image sequences

* Generate interactive, algorithmic graphics

* Work with a 2D physics engine to create a basic game

Enroll now

What's inside

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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Examines hardware features like the accelerometer on students' phones
Teaches the basics of how to write Processing sketches
Explores sonic painting, which uses synchronized graphics and sound
Walks students through building a physics-based game using Box2D
Teaches the basics of working with images and video
Explores the popular and interesting topic of audiovisualizers, which have many applications
Covers algorithmic graphics, audio analysis, and using the accelerometer features of students' phones
Develops skills in writing creative, audiovisual programs in the Processing environment that run on desktop and mobile
Teaches how to programmatically manipulate sound in creative ways

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Creative programming for media & apps

Based on the course description and syllabus, learners interested in the intersection of programming and creative arts would likely find this course valuable. It appears to offer a neutral introduction to creative coding using the Processing environment. Students would explore various applications, including creating interactive graphics and audio, building audiovisualizers, working with a 2D physics engine for games, and developing music applications. The course covers a range of topics, suggesting a broad overview rather than deep dives into specific areas. While it mentions resources for beginners, some parts, like the physics engine or WebAudio API, might be challenging for those with limited prior programming experience. The hands-on projects seem to be a central part of the learning experience.
Uses the Processing environment for creative coding.
"Processing was a good environment to start with for creative coding."
"Learning to use Processing for creative projects was a key takeaway."
"Some of the tools felt a little specific, not sure how widely used they are now outside of creative coding."
Pace may vary depending on prior programming skill.
"As someone new to programming, the extra resources were helpful, but some parts were still quite fast-paced."
"If you already know the basics of programming, this course lets you apply those skills in a creative way."
"I felt the course assumed some comfort with programming concepts."
Covers diverse areas like audio, visuals, and games.
"It was great to touch on so many different creative areas like music, visuals, and game physics."
"The course provides a broad overview of creative coding applications."
"While it covers a lot, I wished some topics like audio manipulation went into more depth."
Focuses on practical projects to build skills.
"I really enjoyed building the different projects like the SonicPainter and the drum sequencer."
"The hands-on labs where we created the physics game were challenging but rewarding."
"Working through the examples helped solidify the concepts taught in the lectures."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Creative Programming for Digital Media & Mobile Apps with these activities:
Review basic programming concepts
Strengthen your foundation in programming to better understand the course material.
Browse courses on Programming Fundamentals
Show steps
  • Review your previous programming notes or textbooks
  • Take online quizzes or practice exercises to test your understanding
  • Consider working on a small programming project to apply your refreshed skills
Organize your notes, assignments, and quizzes
Stay organized and improve your retention by compiling and reviewing your course materials.
Show steps
  • Create a designated folder or notebook for your course materials
  • Regularly add your notes, assignments, and quizzes to the folder or notebook
  • Take time to review and summarize your materials periodically
Complete tutorials on Processing.org
Get hands-on experience with Processing, the programming language used in the course.
Browse courses on Processing
Show steps
  • Go to Processing.org and sign up for an account
  • Follow the beginner tutorials on the website
  • Experiment with the code and try to create your own sketches
Five other activities
Expand to see all activities and additional details
Show all eight activities
Read 'The Art of Computer Programming'
Gain a deep understanding of algorithms and data structures through a classic computer science text.
Show steps
  • Read and understand the first few chapters
  • Work through the exercises at the end of each chapter
  • Attend office hours or online forums for additional support
Join a study group or online forum for Processing
Connect with other students to discuss the course material, share ideas, and get help with your projects.
Browse courses on Processing
Show steps
  • Find a study group or online forum that aligns with your interests
  • Attend meetings or participate in discussions regularly
  • Ask questions, share your knowledge, and collaborate with others
Coding challenges on Leetcode
Practice coding problems to improve problem-solving skills and programming fundamentals.
Browse courses on Algorithms
Show steps
  • Sign up for a Leetcode account
  • Solve easy-level problems to get started
  • Gradually move on to medium- and hard-level problems
Create a Processing sketch that generates interactive visuals
Apply your knowledge to build a project that demonstrates your understanding of the course concepts.
Browse courses on Processing
Show steps
  • Plan your project and decide on the visuals you want to generate
  • Write the code to create the visuals and make them interactive
  • Test and refine your project until it works as intended
Write a blog post or article about a topic related to the course
Share your knowledge and understanding by creating content that deepens your comprehension of the course material.
Browse courses on Processing
Show steps
  • Choose a topic that you are passionate about and that aligns with the course content
  • Research your topic and gather information from credible sources
  • Write your blog post or article, ensuring it is well-organized, informative, and engaging

Career center

Learners who complete Creative Programming for Digital Media & Mobile Apps will develop knowledge and skills that may be useful to these careers:
Mobile Application Developer
Mobile Application Developers create software for mobile devices, such as smartphones and tablets. This course can help you develop the skills needed to create interactive and engaging mobile applications that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Web Developer
Web Developers create and maintain websites. This course can help you develop the skills needed to create interactive and engaging websites that make use of images, audio, and graphics. You will also learn how to use the WebAudio API to create synthesizers and other musical applications.
Game Developer
Game Developers create video games. This course can help you develop the skills needed to create interactive and engaging video games that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Interactive Media Designer
Interactive Media Designers create interactive media experiences, such as websites, games, and mobile applications. This course can help you develop the skills needed to create interactive and engaging experiences that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Digital Media Artist
Digital Media Artists use digital technologies to create art. This course can help you develop the skills needed to create interactive and engaging digital art that makes use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Multimedia Artist
Multimedia Artists use a variety of media, including images, audio, and graphics, to create art. This course can help you develop the skills needed to create interactive and engaging multimedia art that makes use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Video Editor
Video Editors create and edit videos. This course can help you develop the skills needed to create interactive and engaging videos that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Audio Engineer
Audio Engineers create and edit audio. This course can help you develop the skills needed to create interactive and engaging audio experiences that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Graphic Designer
Graphic Designers create visual concepts, using computer software or by hand, to communicate ideas that inspire, inform, and captivate consumers. This course can help you develop the skills needed to create interactive and engaging graphics that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. This course can help you develop the skills needed to create interactive and engaging software that makes use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Computer Scientist
Computer Scientists conduct research and develop applications in areas involving computers and computation. This course can help you develop the skills needed to create interactive and engaging computer applications that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course may help you develop the skills needed to create interactive and engaging data visualizations that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Machine Learning Engineer
Machine Learning Engineers design, develop, and maintain machine learning systems. This course may help you develop the skills needed to create interactive and engaging machine learning applications that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and maintain artificial intelligence systems. This course may help you develop the skills needed to create interactive and engaging artificial intelligence applications that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.
Robotics Engineer
Robotics Engineers design, develop, and maintain robots. This course may help you develop the skills needed to create interactive and engaging robotics applications that make use of images, audio, and graphics. You will also learn how to use a physics engine to create basic games.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Creative Programming for Digital Media & Mobile Apps.
Provides a comprehensive introduction to the Processing programming language, which is specifically designed for artists and designers to create interactive and generative graphics.
Offers a practical guide to creating generative art using Processing, covering topics such as data visualization, simulations, and algorithmic art.
This comprehensive textbook provides a thorough foundation in computer graphics principles and algorithms, including topics such as 2D and 3D graphics, image processing, and animation, which are relevant to the course's emphasis on graphics and visuals.
Provides a practical introduction to physics concepts and their application in game development, covering topics such as kinematics, dynamics, and collision detection, which are relevant to the course's inclusion of a physics engine for game creation.
Provides a comprehensive introduction to music theory, covering topics such as pitch, rhythm, harmony, and form, which are essential for understanding and creating music in digital applications.
Provides a comprehensive overview of the Web Audio API, which JavaScript API for creating and manipulating audio content in web browsers.
Explores the use of data and analytics in game design, providing insights into how data can be used to improve game mechanics, balance, and player engagement.
Provides a comprehensive overview of interaction design principles and methods, covering topics such as user experience, usability, and interaction patterns.
Provides a deep dive into the architecture and implementation of game engines, which can provide a valuable reference for students interested in understanding the underlying technology behind game development.
Explores the use of artificial intelligence techniques in game development, covering topics such as pathfinding, decision-making, and learning, which can provide insights into the design of intelligent game mechanics.
Provides a comprehensive introduction to the WebGL API, which allows for the creation of interactive 3D graphics in web browsers.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser