CSC151.02 2003F, Class 56: Wrapup Admin: * Exams to be returned at about 2:30 (when you're done with evaluations) * Thanks, I've enjoyed having you as students Overview: * Time to fill out evaluation forms. (If Reese doesn't show up, someone please grab the blue folder from under my door and read the instructions to the class.) * What did you learn in this class? * Final statements * Questions on the exam Scheme Specifics * Using parentheses (Scheme as a language) * The form of Scheme procedure calls and procedure definitions * Function before arguments, everything surrounded by parens * Building lists: Cons, Car, Cdr, Etc. * CGI using Scheme * Multiple kinds of equality * Internal representations of data (vectors, lists, etc.) * Kinds of data (various kinds of numbers, strings, etc.) * Association lists * "There's more than one place that you can put the lambda" * How to generate new things (e.g., Web pages, maybe Scheme programs) using Scheme. * Local names using let, letrec, let* and named let * Variable-arity procedures Computer Science Generalities * Recursion (over lists, over trees, over vectors, using numbers) * Tail recursion should be more efficient than direct recursion * CS is fun, but can also be insanely complex and difficult * Why and how to document your work. (The Six P's) * What abstract data types are * And some sample ones: Lists, Vectors, Queues, Stacks * The general form of CGI * Sorting and searching * Linear search * Binary search * Insertion sort * Selection sort * Merge sort * Quicksort * Objects and records Other Academic Skills * Solve big problems by breaking it down into smaller problems * Learn to keep problems on "the back burner" so that revelations can come to you at surprising times; Give your problems time * Sometimes you need to be very formal and analytical, and being formal and analytical can force you to think differently. * Group work * Taking risks / Thinking on the fly Morals * Computers are sentient and malicious * Don't give up * Beating your head against the wall repeatedly gets old real quick. Get help soon! * There's more to life than *any of your courses* (but you can't use that as an excuse for most faculty) * It's always possible to have fun, even when using cons * Treat people well * Thre's more to life than schoolwaork (or spelling) * You can often have fun with what your doing, even if it's "incredibly difficult"