CSC151 2009F, Class 01: An Introduction to Algorithms Admin: * Welcome to 151. * I'm Sam * That's Russel, your class mentor * THREE HANDOUTS AT BACK OF ROOM. MAKE SURE TO GRAB ALL OF THEM * Assignment 1: Administrivia and Survey * Laboratory: Drawing Smiley Faces * Computer Science Tutoring (Yellow Sheet) * I will take attendance for the first few days, but I will probably take a month to attach names to faces and perhaps longer to learn to pronounce names correctly. * Two assignments for Monday: (1) Take the introductory survey. (2) Read "Grinnell's Linux Environment". Overview: * Introduction: What is CS? * Exercise: Drawing smileys. What is CS? * A tool * The logic behind programming computers * Something that's fun * Try separating into component parts * Computer * Something interactive * A computational device, which takes input, processes the input, and produces output * Computers may use binary/digital/etc. * Often, the processing computers do is so complex/massive that humans could not do it (at least not in a realistic time frame) * Science * The study of human life (Biology studies life) * The study of how things are done * A kind of study using observation and experiment * Finding patterns * Uses "The Scientific Method" * Vs. Other field's mechanisms of study, such as "The Humanistic Method" * Personal interpretation * What kinds of hypotheses would we make? * This will compute * This process will give this output for that input * Microsoft Word Will Crash * So, if you reject the "It's a science', what is CS? [Sam's Answer] * The study of algorithms and data structures * Algorithms: Instructions for processes * Data Structures: Ways of organizing data * Data structure example: How do you organize your to-do list? A sheet of paper vs. note cards. * How do they study? * See the outline Exercise: Drawing Smileys * Find two other people with the same color smiley. * Read and follow the instructions. * Ask questions if the instructions are vague. * Be prepared to share your group's answer with the class. * MAKE SURE THAT SOMEONE IN YOUR GROUP SAVES A COPY OF THE INSTRUCTIONS AS WE MAY DISCUSS THEM ON MONDAY! * Idea: When writing algorithms, we are limited by what the computational device already understands * Four perspectives * Toddler: Can follow English-language instructions, but has limited knowledge of the world. * Turtle: Mechanical device with pen. Can move forward, raise and lower pen, and turn by a certain angle. * Impressionist/Pixel: Divides the image into a grid and puts a color at certain points in the grid. (More or less how a typical computer screen works.) * Circles: All the device can do is draw colored circle. (No good analog.)