Difference between revisions of "Kevin SS WeeklyJournal2005"

From Earlham CS Department
Jump to navigation Jump to search
m (21 Sep - 28 Sep)
m (28 Sep - 05 Oct)
Line 19: Line 19:
 
==28 Sep - 05 Oct==
 
==28 Sep - 05 Oct==
  
A teacher once told me that the best way to tackle problems is to draw a picture.  True to form, I have drawn a picture [[Image:memsketch.png|thumb|Visual Memory Manager sketch]] of my initial ideas regarding a memory manager.  What I'm thinking is that users can click on the buttons in the lower left hand part of the screen to create and access variables.  The contents would be displayed in the gray bar on the bottom, as well as the location physically identified by the purple circle.  The idea of this program is to represent the memory in a visual manner that is accessible to new students.  Ideally this would be something with which students might rotely interact at first, but then also find use as they use it to visualize problems they encounter as they continue in CS.  It is still not complete, and I haven't thought entirely through how I'm going to deal with some of the details of implementation, but I'm kind of excited.
+
A teacher once told me that the best way to tackle problems is to draw a picture.  True to form, I have drawn a picture [[Image:memsketch.png|thumb|Visual Memory Manager sketch]] of my initial ideas regarding a memory manager.  What I'm thinking is that users can click on the buttons in the lower left hand part of the screen to create and access variables.  The contents would be displayed in the gray bar on the bottom, as well as the location "physically" identified by the purple circle.  The idea of this program is to represent the memory in a visual manner that is accessible to new students.  Ideally this would be something with which students could at first rotely interact, but then also find other uses for it such helping to visualize problems they will encounter as they continue in CS.  It is still not complete, and I haven't thought entirely through how I'm going to deal with some of the details of implementation, but I'm kind of excited.
  
 
==05 Oct - 12 Oct==
 
==05 Oct - 12 Oct==

Revision as of 04:49, 19 October 2005

Kevin's Weekly Journals for Senior Seminar 2005

31 Aug - 07 Sep

My capstone is currently sitting in my mind, looking like a fearsome thing. I was supposed to have an abstract ready this week, but I did not know on what I could write. I would like to do something in terms of User Interface and design, but I'm not sure that this would be untrod ground. Obviously, I'm only an undergraduate student, so I'm not expecting to do PHd research, but I get the sense that my capstone should be at least somewhat original. Perhaps, since I have an interest in operating systems, I can think about doing something with ReactOS.

07 Sep - 14 Sep

My main work this week has been cognition. I'm jealous of some of my peers who have ideas already. I'm completely at a loss. I know that if I ask Charlie, his canned response will be "Well, what's your itch?" I've got nails, but nothing to itch, that's the problem. I've come up with a project that I think would be entirely cool, but I'm not sure how to create it. It's The Teaching Language. Unfortunately, I'm not exactly sure how to implement it. I've never written a langauge before. I'm kind of thinking of something similar to HTML and CSS, but in the context of objects as opposed to text. I'm not initially sure how to go about this. The language creation will probably come second as I'm going to have to research how to describe these objects in my own mind first. I really want them to be manipulatable, so the complexity is ginormous. If I can get past that the first hurdle ... man! I'm so psyched.

14 Sep - 21 Sep

Even as I was writing The Teaching Language abstract last week, I knew that I didn't (don't) have the background to complete such a project in one semester. However, the ideas are there: I just need to focus them. I think I've decided on the direction that has already proven to have some merit: CSLets. I mentioned them in the context of not knowing exactly where I wanted to go, but I think that they might prove the best direction. I'm currently cogitating about ideas for CSLets.

21 Sep - 28 Sep

I spent the majority of this week brainstorming about tools that I would like to create. I seem to be having delusions of grandeur though, because a lot of the CSlets that I might want to create are probably just a bit beyond my current capabilities (or at least time scope). One CSlet that is worming its way through my mind is the C-string Let that I mentioned last week. I started trying to write it, but I found, in the midst of working on a consistent interface for the user, that I have more of a desire for a visual memory manager. I'm not entirely sure of the structure, but this has implications of extensability, much more so than the C-string Let idea. For one thing, if I do it right, the C-string Let could sit on top of this. Thinking continues ...

28 Sep - 05 Oct

A teacher once told me that the best way to tackle problems is to draw a picture. True to form, I have drawn a picture

Visual Memory Manager sketch

of my initial ideas regarding a memory manager. What I'm thinking is that users can click on the buttons in the lower left hand part of the screen to create and access variables. The contents would be displayed in the gray bar on the bottom, as well as the location "physically" identified by the purple circle. The idea of this program is to represent the memory in a visual manner that is accessible to new students. Ideally this would be something with which students could at first rotely interact, but then also find other uses for it such helping to visualize problems they will encounter as they continue in CS. It is still not complete, and I haven't thought entirely through how I'm going to deal with some of the details of implementation, but I'm kind of excited.

05 Oct - 12 Oct

In the meeting last week, it became apparent that Tom and I are working on projects of an extremely similar nature. It was clear that we should work together, especially as we both have hopes that our code gets used and is extensible. Charlie pointed out that the easiest way to make something extensible is to write it to conform with two different ideas (in so many words ...).

To this end, I started to write the implentation behind my Visual Memory Manager Let. I got lost in some of the implementation details, however. Tom and I found some time to talk about how we might make some headway. We came up with some great ideas.

For extensability, we are still thinking in terms of extensability and packages, but our scope suddenly has some wider prospects. Currently, it looks like we're going to make a Memory Manager and then make modules that lie on top of that. One of Tom's project ideas is to teach data structures in a visual manner. One of my project ideas is to (partially) demystify the workings of the memory. My current drive is to create a memory system that can be interfaced via an API. Then Tom can write his program to conform to the API: at the same time his module is demonstrating a data stucture concept, my program can show exactly what is happening behind the scenes.

12 Oct - 19 Oct

This past week was hampered by Fall Break, but I did manage to change the code that I had written to begin to conform to what Tom and I talked about in our meeting last week. A personal failing that I'm having is an inability to step back from the code. I'm still having some problems with the implementation, and I think it's because I haven't completely thought out the structure to which I want to conform. But, as they say, time stops for no man: I'd better hurry up and get my head in gear.

In other news, I have read some of the website provided by Alex. Mark Guzdial has done some interesting work, but it is not quite the same avenue that Tom and I are wishing to explore. Guzdial's work is centered around bringing out the things that can be done with a computer and making it accessible. The main thrust of what I read is about bringing media out with computers. A couple of examples include his explaining how to manipulate images with some pyhton programs, and how Disney did some digital animation. A fun read, with some real output for people who don't want to be deeply involved in CS.