One man's incredibly longwinded essay on everyone's favorite topic
In the seventh grade I came down with a rheumatological illness called Juvenile Dermatomyositis. I went from being the fastest rope climber in gym class to being wheelchair bound in the course of a month. I developed migraines and these headaches seemed to correlate with the injection cycle of a chemo drug I took called Methotrexate. In the process of seeking some resolution to these headaches I was introduced to a doctor who taught me about biofeedback and hypnosis that was applicable to my find and body in many ways but was particularly focused on the goal of alleviating pain. Because I had long been interested in art and in part because of an article I wrote for the school newspaper about the many ways this illness was changing my life, I was approached by a psychologist to illustrate a children's book whose core goal was to demystify for children the possibly frightening aspects of hypnosis as a medical therapy and that experience was empowering to me, just thinking that I could have a positive or even just mitigating influence on the life of someone who could use some help.
During the course of my illness I had a lot of down time; this is when I first really explored computers—an interactive hypothetical landscape become much more appealing once I could no longer get on my bike or walk long distances. I've been interested in computers for one reason or another ever since I became familiar enough with the keyboard to be a competent typist. I've used the software written by others for such a long time; I have ideas lots of ideas; ideas for art and for technology and for just fun, and hopefully this program will extend my ability to design and write software to turn ideas into something with substance that other people besides myself can see and interact with.
I just transferred to Evergreen this quarter. I'm still an undergrad even though I have a large number of transferable credits, in part because I've taken so many lower division classes as I bounced from one department to the next. One early experience in my education that really got me excited was a particular section in an Astronomy program while I was a freshman Attending the University of California at Santa Barbara (UCSB). The section I was in was special because a professor engaged and facilitated the discussion. We looked at the question: Is the Universe going to expand forever or is it going to collapse? And another question followed closely after: Why is it that the matter we can account for by some means of observation seem to be of a much lower quantity than the amount we predict to exist when we consider other evidence such as the Cosmic Microwave Background? The class was fantastic, I felt that UCSB really did have a very good learning environment but I had applied for a transfer to Brown U in Rhode Island, and since the accepted me it was an opportunity I couldn't resist. Brown is where I first tested the water of Computer Science. It was a study of Java, with an emphasis on graphical, object oriented applications. We had the option to choose one of several class projects. I chose to program the game Othello. If you don't know the game the rules are very simple. you have a board, let's say it's a 10x10 board, I don't remember. the four center-most spaces start out filled—of those center pieces we will say that the upper left piece, from your perspective is your piece, as is the lower right one. Your opponent's view can be explained in the same way. So. if there is a piece that is your opponent's, and then above it is your piece, if you can place your piece below your opponents piece, your opponent now has one or more pieces in a straight line blocked on both ends by your pieces. if that case occurs, your opponent's pieces that have been caught flip over, turning into your pieces. Each one of the challenges for a final project had as required the student to program some form of artificial intelligence into a game format that could play against a human or an opponent like itself, and each of these computer players needed to be able to operate at three distinct possible skill levels, based on how far ahead the computer was allowed the skill level defined its ability to consider the moves it could make, the moves its opponent could possibly reply with, and so on. I started writing how I thought the system should work. I wanted to make the program as extensible as possible, so the size of the board could be changed to almost any size, the intelligence of the computer could be set to look as many steps ahead as I wished, even the rules of the game could be changed without breaking these other elements. The rules could change in a recursive way, so that the initial consequences from the player's move could act as additional moves. I could make a game so complicated that the basic rules made it almost impossible for a person to play with any competence but the computers were very much able to consider options and outcomes. Although our professor had explained a “God” approach to the design of the program, with a “dumb” board that a referee-like algorithm handled, I chose instead to spend almost all my time writing code for the object “piece,” so that I could express the game as a cooperative series of events carried out by the pieces, little players in the game that I could trust to be honest. Although this solution created its own challenges—recursion!!--it allowed me to write a great deal of code for a single unit “piece” that when copied knew exactly how to work with all its clones by asking questions of its neighbors, passing on questions from its neighbors, and returning the answers in the opposite direction. It was extremely gratifying to watch all these little chippers work together to solve problems by communicating through the grape vine!
Although I came to Evergreen with the express purpose of studying science, my goal throughout my education has always been to explore what interests me, and in that respect, I could see myself getting a great deal of satisfaction from writing programs that illustrate some idea or potential, as a way to influence or persuade some end user to consider the world in a different way. Art, I suppose although I might call it something like... re-educoersion.. Where I'm going with this is that although I would find it really satisfying to model real world events that could be useful in a scientific way, I want to better understand Physics, Math and Python just as much to explore the impractical as to explore the practical. It would amuse me to use a computer to illustrate thought experiments that would be interesting (dare I say entertaining?) to the user while at the same time leading the user to some different way of understanding our own world and discourse, by drawing attention to the demonstrably untrue conclusions that are often the outcome of the language or reasoning that we are exposed to in the media and in political discourse.
I'm very flexible with respect to study times. I'm really excited about Evergreen's approach, using programs, so that we are all basically on the same page in this class (ok, one of two pages, still awesome). I would say that because I have done a little programming of my own, the people I might gravitate toward would be the people who feel more comfortable with math and physics and maybe not so comfortable with programming, so that we couldcompliment one another. One comment I should make about myself—which that this whole entry illustrates--is that my thoughts become most real and memorable to me after I have talked to someone else about them(stimulating the procedural memory). What I'm saying is that although I know how to check myself and I know how to stay on topic, you might find that sometimes I engage you in discussion because I need to say something rather engaging you in discussion because you need to hear it.. That aspect of my style can be a little obnoxious but I'm aware of it and I try to reciprocate by listening to you even if you just need to say something extremely specific to your own design problem or whatever. Obviously I prefer it when we are aligned, saying what we need to say while at the same providing a thought that is useful to my each other. As far as how I like or need to study... If I'm expected to know some equation, I'm inclined to sit down and derive it. If you're the type of person who can't seem to remember quite what an equation is until you understand explicitly why it works, why it's written the way it is, you and I are in the same boat. My memory seems to refuse to store information it can't make sense of. For it to stick I have to either understand it, find it inherently interesting, or both. Unlike the software engineer who blows through analysis and design to save a little money only to find the project doomed at the end, I think I tend to go a little slower at the beginning because I don't see the point of studying information if I can't retain it long enough recall it later.
Lastly, I'm not sure how much or how little I'm going to personally find it makes sense to study with other people, but I am willing to give it a go. I'm expecting that it will be when I am analyzing and designing a program that I most want to talk to you all because at that point I will be seeking out other people's impressions as I try to determine whether or not the design of my program has reached the point where it is solid and ready to be coded.
Wow. that was very long. Don't read this and think to yourself “if I try to study with this guy he will never shut up.” I will shut up, and I'm about to prove it. My name is Jeff, my email address for this class is jet13modmo@hotmail.com