Scene one: Alice Melvin working in the New York City Public Library. A long line of cabinets filled with catalogue cards. Dozens of drawers opening. Millions of carefully indexed cards flying out, being mixed up and tossed by some unseen, unexplained force. Cards exploding upward, outward, then falling floorward. A messy, scary mystery. Books in motion, off the shelves, floating in the air. There are 2 messages conveyed by scene one. 1. The movie will be dealing with ghosts, with the unexplained. It will deal with the unknown, with fright. Mobilization of knowledge is represented. Mobile books. 2. All is related. It is necessary to be interdisciplinary, to see connections and break down barriers between disciplines. That is what the unknown the unseen is demanding. That is what solving the problems the Ghostbusters will confront will require of them. Scene one has floating books, has a descent by Alice to the lower levels, to the remote stacks of the library, to the books with the subtler, less often perused ideas. When there is descent, that represents what? The iceberg floating in the ocean is mostly hidden, sunk below the surface of the sea, large, mostly hidden. Page 107 of a book of speeches and articles by EWD (Edsgar W. Dijkstra) on the 10% of the teaching programming versus the hidden 90% of what programming and problem solving involve. The VET who SAT down to watch AUC (All U Children) on TVV, SO what if this was at the YMDC (i.e., the YMCA in Washington, DC) where the Gulf War or Vietnam Vet was staying. VET-SAT-AUC, TVV-SO-YMDC is the string of the first letters from a quote by Dijkstra. Programming, when stripped of all the circumstantial irrelevancies is nothing more and nothing less than "very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns". very effective thinking so as to avoid unmastered complexity, v e t s a t a u c = vet sat auc to very vigorous separation of your many different concerns. t v v s o y m d c = tvv so ymdc --------------------------------------------------------------------------- Scene two: Dr. Peter Venkman (played by Bill Murray) at the paranormal studies laboratory with Scott and Jennifer. What is being studied? Knowing ability. At the Weaver Hall Dept. of Psychology of Columbia University. The studying of the ability to know. Polya, in a book on problem solving that captivates and thrills many computer scientists, including Dijkstra, says: "Teaching to think means that the mathematics teacher should not merely impart information (the 10% of the iceberg), but should also try to develop the ability of the students to use the information imparted: he or she should also stress the often neglected less obvious hidden part of the iceberg:" know-how, useful attitudes, desirable habits of mind are 90% of problem solving, programming, mathematics and proving things. Dr. Venkman and Scott in dialog. A small sample of it is shown below. The dialog with Jennifer is not shown. Jennifer and Scott are both trying to guess the hidden face of a card that Dr. Peter Venkman is holding up. Venkman: Nervous? Scott: Yes. Venkman: Okay, what's this one? Scott: A couple of wavy lines. Venkman: Sorry. This isn't your lucky day. Scott: I don't like this. Venkman: You volunteered didn't you. Scott: Yea, but I didn't know you were going to be giving me electric shocks. Venkman: We're paying you aren't we? Scott: What are you trying to prove here anyway? Venkman: I'm studying the effect of negative reinforcement on ESP ability. Scott: Effect? Effect! I'll tell you what the effect is. This is pissing me off. Venkman: Then maybe my theory is correct. Scott: You can keep the 5 bucks. I've had it! Venkman: I will Mister! This of course suggests to us that the Ghostbuster's movie will be about knowing issues, about the ability to understand a problem. It also shows it will be about useful versus harmful attitudes, desirable versus undesirable habits of mind. Of the 5 ingredients to being a successful programmer, gumption and palgweap and auctvet especially relate here. (auc t vet in auctvet, is avoiding unmastered complexity through very effective thinking). More on palgweap and on gumption later and the other four ingredients later on. The ingredient set for being a good programmer and successful problem solver is: { humility, auctvet, gumption, biction, palgweap } To fully reveal the power, beauty and significance of these five ingredients would require the Ghostbuster's metaphor be followed by two other movies. The complete trilogy: Scene 3: What does Dr. Peter Venkman (Bill Murray) say when he and Dr. Raymond Stantz (Dan Akroyd) arrive at the library? Librarian: Are you the men from the University? Thank you for coming so quickly. Hope we can clear this up quickly and quietly. Dr. Venkman: Let's not rush things. We don't even know what you have here yet. Lets not rush......... don't even know.......... don't know............... not knowing is an important phase of the problem solving process................. If you use computers, if you program computers, if you plan to continue to use computers through the 90s and beyond into the 2000s, you will be spending a lot of time not knowing. Most people don't know that don't know is an important and necessary phase. Venkman symbolizes the don't know factor in problem solving and it is the hidden part of the iceberg. Knowing the importance of not knowing as a stage in the process of knowing, THAT is part of the hidden, part of the 90% of the what should be taught in mathematics and problem solving and programming. It is of extreme value and of the utmost practical significance to students as well, whether learning and education is their goal or gpa is the focus instead. Polya above spoke of know-how, useful attitudes, desirable habits of mind. Venkman symbolizes many of the most important, and his quotes in scenes two and three are very illustrative. Venkman realizes that not knowing is a stage in the process of knowing anything, thus you have to come to know. During the process of coming to know, or coming to have a solution to the problem, you must spend some time in the not knowing, gathering information, becoming familiar with the problem, asking questions, listening. Talk to me, problem, situation. I am listening. I will rewrite the problem in my own words so I really hear what it is saying. I will become a more active listener by rewriting this handout on doing proofs, or doing html and all the home page tasks, or doing this next C++ binary search tree program. As I am rewriting or drawing examples or taking notes about the text or a handout, the ink is flowing onto paper, the paper is being consumed. Ink too is being consumed. The Bic pen you are using has a transparent case, has a transparent tube, so you can see and measure the blue or the black ink. Drawing, writing, listening, pondering, scribbling, ball point rolling, ink flowing, you learning, coming to an understanding. Biction. The rate at which the ink is being consumed. One tenth of an inch it went down, five pages of scratch paper consumed. The problem is understood, heard, you got its language, you grasped its natural language and terms, you absorbed the techniques of related problems.... You learned and heard and absorbed the skills necessary to solve this problem, by listening to and writing, rewriting, taking home, taking to the hoop...... Active listening, no rush to understand, you studied for half an hour over the notes related to the problem, the examples that were handed out, and the text.... And the problem itself you spent ten or fifteen minutes reading, and trying to solve, and then you were ready to go for it, or to give up discouraged, or to go for help.... Then as you were ready to start the task, thinking you had it, you remembered Venkman saying "Lets not rush things", and you resisted the urge to say "I know"....... And you said, I don't know, rather I don't really know, I can still really grow, in the spirit of spring, grow, to a much deeper understanding of this problem..... I can give in to the urge to code, forget that proverb. I can avoid utilizing the attitudes of Polya, and assume that there is not any unmastered complexity. And say yUCk later when the truth hits. Avoid unmastered complexity, AUC, A-UC, A, you see, Excel-lence is the goal, or survival even.... Not giving in to the urge to code, neglecting the importance of the listening phase of the problem solving, ...... using the useful attitudes, Venkmanizing the problem, deciding not to rush things, not to prematurely stop learning and listening and actively absorbing and coming to an understanding of the problem. Arriving there, realizing that not knowing is a phase and coming to know is a process, and that... most of the time, because of human nature, we rush things, and take off into the solve the problem phase when we really don't even know what we have here yet. Biction is one of the ingredients in being a successful programmer, problem solver, or just active listener and good student and citizen of life. Its a way to auc t vet, avoid unmastered complexity through very effective thinking. Solving the problem is necessary, designing a solution, creating an algorithm, specifying the how to is essential. It's a concern. Understanding the problem is the basis for solving a problem. It is a separate concern. It is the first stage of the problem solving process. What the problem is. Listening. Hearing. Absorbing its personality, its language, its natural structure and all its specifications. Understanding the problem is a separate concern. It is the first concern. Solving the problem is the second concern. Very vigorously separate these two concerns. TVV SO YMDC == to very vigorous separation of your many different concerns The ymca in Washington DC. is called the YMDC, instead of the ymca in dc, just say ymdc.... There is TV and there is Thursday night TV from Friends to ER. Thursday night TV might be called TVV to separate it from the other wanna be, hope to be nights of TV. ------------------------------------------------------------------------- This represents the importance of SOYMDC, very vigorously separating them! This represents the programming proverb: Resist the urge to code! Dr. Peter Venkman is the character in the movie that represents the understand the problem phase of problem solving. We will see that Dr. Raymond Stantz can be said to symbolize the 2nd phase of the problem solving process, the planning phase. Dr. Egon Spengler (Harold Ramis) represents the coding 3rd phase and the quantification side of science most strongly. Kenny G and Silhouette video and the 3 stages of problem solving. Explosions of complexity, dangerous dynamite of unmastered complexity. Slow motion gets you there faster. The Ecto-1 Ghostbuster vehicle. Scene 3 has several more key segments. The next is when we first are introduced to Dr. Egon Spengler. He is working with a plasmatometer when Ray and Pete arrive. He is an absolute expert technically with all kinds of instruments. His hobbies? "I collect spores, molds, and fungus." Anyway, Dr. Peter Venkman kids him about his observation that there is definitely something BIG here, according to the reading. (Note that a quote by Spengler from a much later scene that there is something BIG on the horizon is foreshadowed here. In that late scene, Spengler uses the power of metaphor and analogy to convey some extremely technical information to the Dr. Raymond and Winston Seddemore, the 4th Ghostbuster). "Egon, somehow this reminds me of the time you tried to drill a hole in your head. Do you remember that?" Drill a hole in your head is a statement that indicates one of the central themes of the movie. It is about looking into our heads, examining the way we solve problems, the way we might create bug free programs free of logic errors, the way we deal with bugs, it is about the stages of problem solving and knowing. It can also be read as the goal of drilling a whole head. A head that can listen with its ears and speak with its mouth what was heard. A head that can break down and isolate details as well as combine them into one comprehensive, well structured plan of attack. Drill a whole head that can be in Venkman mode or in Stantz mode or in Spengler mode as needed. Perhaps some segments from the Conference Report for Women in Science and Engineering (WISE): Changing Vision to Reality. It was held in Ann Arbor at the University of Michigan in July of 1987. Or perhaps some segments from the book The Second Self: Computers and the Human Spirit by Sherry Turkle. Comparing the different programming styles of children. Contrasting styles like Jeff's and Kevin's, which would be like contrasting Venkman's and Spengler's styles. And concluding that the complete computer scientist should have the versatility to include both styles. Dr. Peter Venkman and asking questions of the problem situation. And the librarian saying: "What has that got to do with it?" and Pete responding by saying: "Back off man. I'm a scientist!" All he did was ask Alice "a couple standard questions" like the questions that Polya's book on the Art of Mathematical discovery is filled with.... Finally, the first assignment for our heroes ends up with Ray Stantz saying: Okay, I have a plan. I know exactly what to do. Follow me. When Peter Venkman later comments.... heh, heh, ha. Get her! That was your plan? Get her. Really scientific. These are method metacomments. Peter Venkman will say in the very last scene of the movie, as the heroes are about the confront the much larger and more terrifying problems of all, where earlier the 3 heroes ended up fleeing the unmastered complexity of a much, much smaller problem? Why was such a horrible apparition as Mr. Staypuft even confronting our heroes at the end of the movie? Walter Peck and the EPA is a key. Shutting down the Ecto-containment grid is a key. What does the containment system symbolize? What does it mean when the light is green? Contrast the scene so early with a ghost so small that blew up in the face of the three heroes and Venkman's "That was your plan! Get her?" comment-- contrast that with the "I love this plan. I am excited to be a part of it." What does the ghost scream at the heroes???? That is part of the key to the answer! What is the one word that the ghost screams??? QUIET is the word. First the Ghost went Shhhhh. Then the ghostly librarian screamed quiet and the Ghostbusters fled. The next seen scenes of the movie will be the famous cockroach up on 12th problem, which turns out to be an ugly little spud and gives Peter Venkman a major lesson in attitudes and problem solving. He learns quickly because of the studies he was putting Scott through. He learns quickly because of the professional attitudes that Stantz and Spengler convey after he gets slimed. He learns very quickly and is transformed from being very negative to stating that he is feeling sooooo very funky about it. A major allusion to programming and debugging (cockroach up on 12th) and required attitudes to do it most effectively (negative reinforcement only makes the problem worse and the process more frustrating instead of fulfilling and educational, a game perhaps). Note that the Hotel Sedgwick scene where the three heroes are ascending to the twelfth floor on the elevator and Dr. Egon Spengler states: "You know, it just occurred to me. We have never had a test of this equipment. I am a little worried." says Spengler "Why worry", says Dr. Peter Venkman. "Each of us is only wearing an unlicensed nuclear accelerator on his back." What parallels can we find in the world of computing? How many times do you think students and computer users have to do something they have never done before with a computer or use a software package they have never used before on a computer system they have never used? How many times have you found yourself on the elevator to the 12th floor, say trying to use a spreadsheet program and do spreadsheets for the first time, and goofed up and lost several hours work or just got stuck and frustrated because the software was totally unfamiliar to you (untested). Very vigorous separation of your many different concerns. Concern one: Successfully utilizing the software and doing the needed commands. Being familiar enough with the commands and techniques to not get lost, to not lose your work. Concern two: Doing some specific task, a paper or project or spreadsheet of some type. Bee swing and field hockey lessons here. Balderdash. Waggle dances of bees. Hawkeye swarms. Walter Peck not saying the magic word. Walter Peck, a bureaucrat, not understanding the need for the ecto-containment grid system at all. Wanting to shut down that machinery with a court order. Walter Peck represents the tendency to want to give in to the urge to code. Walter Peck represents the tendency to want to avoid the necessary machinery of stepwise refinement, of stages of problem solving, of hand checking for logic, of pseudocode, of proving correct, of mobilizing all relevant past knowledge. Because of being in a hurry to solve the problem. Because of forgetting humility. Dijkstra wrote an essay called The Humble Programmer. Humility is very, very important and is one of keys behind the VETSATAUCTVVSOYMDC quote which summarizes programming and computer science so well. The Twinkie analogy and firecrackers versus tons of dynamite. The Twinkie analogy and a 100-line program versus a 5000-line program where the 5000 line program is not just the equivalent of 5 boxes (10 packs) of Twinkies, oh no, not at all. Recall the LEXIS legal database Twinkie weighed tons and reached from here to the Rockies along I-80.