CSC151 2010S, Class 05: Programing the GIMP Tools Overview: * Reflection. * A model of images, extended. * Coding algorithms for drawing. * Other useful techniques. Admin: * I feel particularly embarassed to say this, given that one of you mentioned procrastination as your least favorite thing about Grinnell, but I have not yet finished going over your HW1's and your quizzes. * Does anyone need a partner for HW2? * Are there any questions on HW2? * What do you do when you see large chunks of code, as in the reading for today? * We'll spend a few more minutes debriefing on Friday's lab. * EC for Friday's CS table at noon in the Day PDR in the JRC on Pair Programming. (More info to follow later.) * Two readings for Tuesday: Numeric Values & Symbolic Values. * Rank Strangers concert this Friday night. (No extra credit, but your classmate encourages you to attend.) Reflection: * What did you learn on Friday? * The basics of programming in Scheme * Instructions seem to begin and end with parentheses. * image-load and image-show were introduced * Learned how to create libraries.s * Best part (if there was one)? * It's interesting that we put operations at the front, rather than in the middle, and parentheses don't surround operands * define and operations are pretty cool * Worst/hardest/most confusing? * Some instructions didn't work, and no one could help. * What's the diff between the interactions and the definitions pane * The definitions pane is intended for longer-term stuff (things you want to save or remember)a * The interactions pane is intended for experimentation * Definitions in the interactions pane go away when you hit Run again * Non-definitions in the definitions pane get executed every time you hit Run * We need to warp our brain a bit to deal with prefix notation. A Model of Images: * There are lots of ways we can describe an image. * Some algorithms are imperative - a sequence of instructions (do this, then that, then something else) * Some are declarative - This image is composed of a blue circle and ... * GIMP Tools: Write a series of instructions that model how a human builds an image with the GIMP. Coding Drawing Operations in Scheme: * (image-select-ellipse! ____ ___ ___ ___ ___) * (image-fill! IMAGE) Lab: