80 likes | 87 Views
Discover the power of visual computing through media scripting and computation at Grinnell College. Our introductory course offers a workshop-style environment, teaching Scheme with its simple syntax and multi-paradigm capabilities. Students learn how to script the GIMP, create image series, and explore multiple models of making media. This course fosters creativity, interdisciplinary thinking, and the ability to create compelling images that captivate viewers. Taught by renowned faculty, the course encourages both majors and non-majors to dive into the world of media computation.
E N D
MediaScripting: Media Computation at Grinnell Samuel A. Rebelsky Janet Davis Grinnell College, Dept. of CS Matthew KlubeR Grinnell College, Dept. of Art
Context • Institutional: • Small, selective liberal arts college in the middle of Iowa • No general education requirements • Introductory course: • Both majors and non-majors • Workshop style • In Scheme • Simple syntax • Levels playing field • Multi-paradigm • Supports multiple levels of refactoring (including of control)
Why Media Computation? • The power of the visual • “I like that I can see the results of my computation” • Students share their images • Students work on projects long after they are turned in • It’s fun for us, too • Computing in context • Students “script the GIMP” • Answers “Why would I write programs?” • Potential for interdisciplinarity • An excuse to describe multiple paradigms
A Procedure is Worth 1000 Images • Design a series of related images • Write (image-series n width height) • The nth image in a series of 1000 related images • No randomness! • Computer science challenges • Make the images scalable • Use multiple techniques • Match code to plans • Artistic challenge: Make images that keep the viewer’s attention. • Assessed by Studio Art faculty
Multiple Models of Making Media • Using “GIMP Tools” [Imperative] • (context-set-fgcolor! “red”) • (image-select-ellipse! canvas 10 10 50 30) • (image-fill! canvas)
Multiple Models of Making Media • Basic values and pure transformations[“Pure functional”; Declarative] • (drawing-hscale (drawing-recolor drawing-unit-square “red”)) • (drawing-compose (map (lambda (x) (drawing-vshift drawing-unit-circle x)) (iota 20))
Multiple Models of Making Media • Turtle Graphics [Imperative; Object-Oriented] • (define yertle (turtle-new world)) • (yertle ‘:forward! 20) • (yertle ‘:turn! 45)
Multiple Models of Making Media • As functions from positions to colors [Pure Functional] • (image-compute (lambda (row col) (rgb-new row 0 col)) 256 256)