ECS 012: Introduction to Media Computation

Subject
ECS 012
Title
Introduction to Media Computation
Status
Active
Units
4.0
Effective Term
2015 Spring Quarter
Learning Activities
Lecture - 3.0 hours
Discussion/Laboratory - 1.0 hours
Description
Introduction to key computational ideas necessary to understand and produce digital media. Fundamentals of programming are covered as well as analysis of how media are represented and transmitted in digital form. Aimed primarily at non-computer science students. Only 2 units of credit for students that have taken ECS 010 or ECS 030 or ECS 32A or ECS 36A or ENG 006. GE Prior to Fall 2011: ArtHum, SciEng. GE: AH, SE, VL.
Credit Limitation
Only 2 units of credit for students that have taken ECS 010 or ECS 030 or ECS 32A or ECS 36A or ENG 006
Cross Listing(s)
Same course as CDM 012

I. Programming Fundamentals

  • Variables, objects
  • Conditionals, loops
  • Functions
  • Arrays and simple data structures
  • Drawing primitives: lines, curves, polygons
  • Basic program design

II. Going Digital: Representing Media in the Computer

  • Signals
  • Analog vs. Digital
  • Sampling, filtering, discretization, sampling theorem
  • Vector vs. Raster graphics
  • Sound, images, movies
  • Storage and Transmission
  • Compression, Formats, Codecs

III. Computational Thinking

  • How computer scientists analyze and solve problems
  • Trends in computation

IV. Interaction

  • Various forms of input (mice, sensors, depth cameras, etc.)
  • Programming for interaction
  • Event processing and callback functions

V. Time-Based Media

  • Sound
  • Animation

VI. Other Topics (time permitting)

  • Games
  • Computational photography
  • Digital forgery
  • Fonts

Goals
Media computation involves understanding both how media are represented in the computer and how they are manipulated and generated programmatically. This course introduces students who may have no background in programming to simple programs with clear graphical output, written in Processing. Processing is a computer language designed for artists that provides a simplified yet powerful interface. By first manipulating sample programs, students learn the connection between the commands and the generated output. They will then move towards developing their own programs for manipulating and generating media. Students will also study how media – images, sound and movies – are represented, stored and transmitted in/by computers. This gives students a solid basis for understanding digital media. More generally, it introduces them to how computational processes operate.

Illustrative reading

  • Getting Started with Processing. Casey Reas and Ben Fry, O’Reilly Media, 2010.
  • Processing: A Programming Handbook for Visual Designers and Artists, Casey Reas and Ben Fry, MIT Press, 2007.
  • Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction, Daniel Shiffman, Morgan Kaufmann, 2008.
  • Processing for Visual Artists: How to Create Expressive Images and Interactive Art, Andrew S. Glassner, A K Peters, 2010.

GE3
Arts & Humanities
Science & Engineering
Visual Literacy

Overlap
This course overlaps in the introduction of basic programming concepts with ECS 10, ECS 15, ECS 30, and Engineering 6, but uniquely introduces this material through the perspective of digital media. ECS 30 assumes previous programming experience and ECS 12 does not. ECS 12 also offers substantial novel content on digital media.

Instructor
M. Neff

Course Category