This year, I’ve signed up for another independent research class. Last time I’d done this was 7th grade, and I made my space game. This time, however, my project shall be none other than my level editor.
The teacher requires that we enter our project into a small state competition, ‘ACSL.’ Generally, there are only three schools that enter with the majority of winners being from mine. As prize, you’d get a cool little trophy, and perhaps a pat on the back… I may be undermining the competition a bit (actually, I’ve never gone, though I think Gyro did when he was a lad), but I kinda don’t want to submit the editor I’ve been working on for over a year to a competition I know I’ll win—especially when the prize for winning isn’t quite as high as I’d like. The winners for the last three years were complete1y dos-prompt based, and were mostly calculatory apps: “Save Earth! Calculate the projectile trajectory to hit an asteroid! (using an already written algorithm provided by my dad’s friend at NASA!!11oneone).†Though some projects were pretty cool, I just don’t really like the idea of going to that competition…Though the option is still open. From what I understand, winning here is a matter of making your project the most visually impressive. A student who previously entered a dos-prompt demolition-calculator told me that an ignorant judge asked him “Does it have steam engines? I like trains. . . “ *doh*
There’s another one I could try...The University of Alabama over Huntsville Science and Engineering Fair. This one, which is hosted by Intel, is obviously a bit more prestigious. I believe that winning would graduate your project to a national level and win you a few other things (scholarship!? Ha, wishful thinking…? xD). However…This isn’t a programming based competition. The dude who won last year did a project on a freaking catapult…I’ll be going against every science project that 8-12th graders dream up…
So, after reading through tons of paperwork and guidelines…I continually ran into the usual science crap: “Step one: Ask a question! Step two: Form a Hypothesis!†So I found myself wondering if it would be worth tweaking my presentation of the editor to fit the damned scientific method…Is that not a science and engineering fair?!
Then, at about page 17 (after 6 pages of human research and informed consent rules, even including a segment on the use of persons in a federal prison…o.o), I ran into this little paragraph (http://www.societyforscience.org/isef/d ... bk2009.pdf pg2):
Ha, beautiful, perfect, awesome, great. That’s more how I imagined—I can work with those guidelines easily.
As with most science fairs, you have a display area setup with some kind of visual presentation, and you deliver an oral explanation to the judges. There are some highly specific guidelines for the presentation setup, but little on the oral part.
I think I’m going to enter this competition thingy. This is a good thing, as it’ll force me to get work done on the editor I may not have done otherwise (particularly glamour and heavy code documentation). At very least, we can add to our photo album pics of me (and maybe Gyro?) presenting the editor before judges; completed with a professional setup and a nice suits. And if things go well, a picture of some kind of certificate or plaque along with a cash prize by IEEE or some other organization.
So, why’d I bother to make this topic and tell you? Well, I’m going to need some heavy, heavy preparations. I’m going to be using this topic regularly for updates, changelog, and other stuff related to the preparation of the editor. My project’s a little non-traditional; the fact that I had to reach page 17 before mention of engineering projects leads me to think that most everybody else follows the standard scientific method, 3 board display format. In this respect, I think I may have an upper hand--I won’t be going up against a barrage of presentations identical to mine. Not only this, but I actually enjoy what I’m doing. I’m willing to put an extra assload of time and effort into every aspect of it; this is something I was doing anyway, so there’s no excuse for having a half-assed project.
Again, why bother telling you? Because any suggestions, help, recommendations, etc. would be highly appreciated.
“But it’s supposed to be your project, right?â€
If that’s your thinking, then I aught to shove my foot right up your goddamn ass! Most of these kids are working with ‘mentors’ who have their doctor’s degrees, or daddy’s friends at NASA! I live in one of the US’s engineering capitals, a few miles away from the National US Space and Rocket Center. I’m going up against projects that have absolutely nothing to do with programming. We’re comparing apples to oranges. And, I don’t need help on the editor at all--the trick here is to make the presentation reflect pure engineering genius and scream at the judges “PICK ME!†If one of your guy’s suggestions can help my project, then by all means let me know. This is as much to the team’s benefit as my own. There's absolutely nothing wrong with suggestion changes to my presentation, or even the editor. I am not and will not ask for coding or other help regarding the actual engineering of the editor.
Now that that’s settled…What needs to be done? Again, I think the key to winning this thing is in the presentation. That means quite a bit more than a nice 3-section poster board. I’ve got to show them the sheer amount of work that’s gone into this thing, as well as the professionalism in the development routine (lol). The student guidelines said that a dev-notebook is acceptable and recommended, which is great news. Also, I will be able to bring a computer to the presentation if I were to feel so inclined—not sure if that’s the smart way to go, though. I’ll talk a lot more on the subject later…Also, I need a research outline, as well as a 250 word abstract on the project to be turned in before the sign-up deadline, Feb 6. The actual presentation is March 5 or 6, so I’ve still got some time to get everything else together.
____________________________________________________________________________________________________________________
The Dev Notebook
In my opinion, this’ll take the most work. I’m trying to decide how to section this thing off, but I haven’t finalized my decision yet.
I could do something like this:
• Changelog –
Obviously, this’ll be a changelog for the project. I’m not sure if I should browse the forums, personal notes in my older source files, repository change logs, etc for this section to get dates before today…Or even just make some up? I think the more dates the better, but I most definitely cannot get a day-by-day detailed explanation since the project started, as I didn’t even know about this competition thingy by then. Also, you’re only allowed to enter project you’ve constructed in the last year, which means no dates before ~Feb 08.
• Problems/Solutions -
This is, again, pretty self explanatory…But will be one of the heavily glamorized segments of the notebook. Here, I’ll discuss in details major problems and errors, chronologically, that I’ve encountered since the opening of the project. If I were doing it classical scientific method, ‘form a hypothesis, write an experiment, draw a conclusion’ style, this segment of the notebook would best compliment it. Here I’ll detail what is and is not working, as well as a number of possible solutions. I’ll probably begin with the initial problem statement and requirements for the editor, an outline of possible solutions (Use an already existing editor, Use an already made framework, Program own) and continue to tree it off as I go (I’ve chosen to create my own because of blah, which leads me to the next problem: Choosing a language). This segment will largely be my explanations for my decisions and actions, such as choosing to switch from SDI to an MDI application, my bizarre method of switching maps, etc. Also, I may include feedback/forum quotes from you guys through the ages (with permission) and screenshots for older project executables (Gyro told me to I need to restructure the project saving, from this (image) to this (image)). This section will be highly glamorized by my detailed explanation of problems and solutions—hopefully this will give the judges more than enough technical insight as well as sufficient insight into my ‘scientific approach’ to give my project some serious consideration. Remember, most people will be engineering or researching in order to ‘better humanity’—I’m mine is being done to better our project as a whole.
• GUI Components –
This section will contain sketches, hand made or computer generated, of the different dialogue windows my editor uses. Believe it or now, I already have ~1/4th this section done, as I really did hand draw or create a paint template of most of my windows. These will include buttons, text fields, drop down menus, etc. as well as placement coordinates. This section of the notebook will obviously be glam. I may even put window control and updates here (“I had to change the variable “width†to support values other than 16,32,64, which requires me to change dropdown_menu_1 to text_field_3). Also, I am seriously going to be remodeling many of my windows—the new templates will be fully collected here.
Edit: Idea! Maybe even put a functionality map here? Like, put a legend detailing what the buttons should do and stuff at the bottom? Yeah, I may just do this, but it’ll be completely external stuff (“Button_1 => Save the tileset†rather than “Button_1=>doDebugCheck() & saveTileSet()â€)
• Usability? Feeback? Bug reports? –
Not 100% what to do here…Should I talk about the user-friendly features here? Talk about auto-scroll, save-work prompt after changes, undo button, easy-warp-laying (vs manually laying cords), launch engine/debug menu, side panel reorganization, mouse drag-fillsection capabilities, etc? Maybe put feedback and suggestion logs, and what I’ve done to fix them? Maybe be like:
“After releasing build .0.2.7, Jools (graphics artist) responded: “Could you please add some kind of option to reload the sheet so I don’t have to restart the editor when I make changes?â€
And
“After releasing build .3.0.1, Peter (script kiddie) responded: “It crashed when I clicked somewhere in the top left corner. And items no long work!â€
And follow them up with a ‘fixed report’ of some kind? The three topics above kinda go together…Should I literally lable the section “Usability/Feeback/Bugs†or what? Help needed here….â€
• Source Code: –
This will be a full print out of the editor’s source code. I’m going to be working my hardest to get some decent documentation in and try to make it at least half-presentable…I’m going to need to get it organized better than it is now (my current BP IDE doesn’t have full support for projects, and therefore sorting stuff into files is up to me. Getting funcs and classes that go together is sometimes hard, as the differences are often quite ambiguous…BP is about as structured a language as C) I’m going to have to be sure I use consistent naming conventions throughout the source… Chances are pretty good I’m going to spend hours upon hours simply renaming some variables. I’m sure as crap not doing a line-by-line documentation; I think I’m going to assume the judges are computer literate and understand atleast some kind of programming language. Here I’ll use technical terms to describe what I’m doing (ex, ‘here I’m looping through a (linked) list of objects…)
Suggestions here on how technical/non to make it would be helpful….
____________________________________________________________________________________________________________________
I think that the notebook and abstract should have the discussion priority at the moment, as those need to be worked on the quickest (abstract Feb 6ish, notebook needs to be worked on ASAP till completion). The poster board and actual presentation will need to be hammered out a bit later on…
Again, any help, suggestions, or previous experiences in similar competitions would be awesome.
As for the abstract, I looked up some of the winning projects and found a few somewhat similar to mine. I found a spelling mistake in one (that still won hundreds of dollars in prizes.) I’d recommend taking a look so you know what kind of projects they award cash to.
Thanks everybody.