MWF 11:30 am – 12:20 pm / Harbor Walk East 300
A course exploring code as a creative medium, including principles of digital media, computational art and design, computer music and sound, animation, live performance and interactive installations, and the algorithmic arts. Students will be exposed to several algorithmic arts examples, a scripting language, and develop several digital media artifacts.
CITA 120 or CITA 140 or CITA 180, CSCI 220 with a grade of C- or better, or permission of the instructor.
Additional Course Requirements
- Bring your laptop to class.
- Bring headphones to class.
Course syllabus (PDF).
Homework #1, Homework #2, Homework #3, Homework #4, Homework #5, Homework #6, Homework #7, and Final Project.
- Test 1: Friday, March 31, 2023
- Test 2: TBA
- Final Exam: 10:30am-12:30pm, Friday, Apr 28, 2023
- Bloom’s Taxonomy – or how deep is your knowledge? – memorize, understand, apply, analyze, synthesize, and evaluate.
- John Zelle’s Intro to Python slides – from SIGCSE 2003.
- Intro to JythonMusic slides – from SIGCSE 2016.
- TED Talk: How to read music – sheet music may look complicated, but once you’ve gotten the hang of a few simple elements like notes, bars and clefs, you’re ready to rock. Tim Hansen hits the basics you need to read music.
- Music Theory in 16 Minutes – the essentials of music theory in just 16 minutes! What is an octave? How do you make scales? What are intervals? What’s the difference between major and minor? What is the circle of fifths?! All explained in less time than it takes to make and eat a really nice sandwich!!!
- Online piano simulator – one of many… very useful, when considering notes, pitch names, pitch distances / intervals, and scales. Also, helpful with trying out quickly musical ideas, to see if they work or not…
- Intro to Pair Programming. This 3-minute video describes what pair programming is, and how to do it effectively.
- JythonMusic is an environment for music making and creative programming. JythonMusic provides composers and software developers with libraries for music making, image manipulation, building graphical user interfaces, and connecting to external devices, such as digital pianos, smartphones, and tablets. JythonMusic is based on Python. It is easy to learn for beginners, and powerful enough for experts.
- See download page.
- Processing is a flexible software sketchbook and a language for learning how to code. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.
- See download page.
- Audacity is free, open source software for recording and editing sounds. It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other operating systems.
- See intro video (4:14 min).