Tuesday, May 31, 2011

Final Blog Post

AP Computer Science this year was interesting, in the fact that even though we did very little in class, I found that I actually learned a lot of things. In a time to be completely honest, I didn’t do most of the labs. I did many of them – but certainly not all. And yet, I seemed to do enough to learn the material quite well. While they were very helpful, in that we had to figure out how to solve a problem ourselves, as opposed to simply evaluating code. Honestly, however, the most useful things weren’t the labs, but the free response worksheets. The free response worksheets forced us to write out a whole program without being able to check it in any way, and though it was very very annoying to do when I had to turn it in, I think that in the end they would have helped a lot. If we had done more of those, basically just like free-response practices, we would have had the concepts ingrained better in our minds and also would help a lot with the AP, especially the Gridworld.
Which brings up Gridworld. Gridworld, I think, we should have had a mandatory review of sometime before the AP. There were a few methods that I didn’t know existed, that I ended up needing to use for the AP, and overall if I was just more familiar with Gridworld, I think I could have done better on the Gridworld free-response on the AP. The main thing about Gridworld was that we did half of it at the beginning of the year, and then just later throughout the year, we did some, but by the time AP’s came around, we hadn’t touched Gridworld for a while. I think a review of it before the AP would have been helpful. Also, I don’t think we should have started with Gridworld as the first lesson. Gridworld confused everyone, I think, and if we had started with simple codes, it would have been much easier for everyone to understand Computer Science at the beginning of the year.
But honestly, I think we were rather well-prepared for the AP. The AP questions were in the format of the quizzes that we had taken all throughout the year. I dunno if Mr. Stephens planned it that way, but it was a good system. The AP, then, was in a familiar format, which made me happy. The free-response was the only challenging part, but it also was not that challenging. The thing about the free-response was not that I didn’t know how to do it, but the problem was time. The time restraints led me to not finish a problem. But I think I had the ability to do all of them. So, again, I think practice was key here, and if I had had more practice with free-response, then I could have probably finished the free-response of the AP.
Success on the AP, though, isn’t the only way of measuring success in this class. By the end of the year, I was missing a lab, the Insertion Lab. I was able to do it in about 15 minutes, without asking for much help like usual, and I found that I could breeze through most of the trouble-shooting. I knew what a null-pointer and index-out-of-bounds meant, and was able to fix them myself, which was the first time for that (sadly). When it didn’t give me the output I wanted, I was also able to figure out exactly what went wrong in my program, and I was able to fix it quickly. I think that by the end of the class, my ability to program had improved by a lot. Even on a harder lab like insertion-sort (ok, not really that hard, but still, harder than the simple things we did at the beginning of the year), I could do all of it fairly easily.
One of the things I liked and found really useful was the way Computer Science is cumulative. When we learned if else statements, or for and while loops, or arrays, it wasn’t the end of their use when we finished the labs, but rather, we continued to use them for just about every lab. This meant that for a lot of the concepts, we didn’t need to review, because we had been using them all the time. This is, again, why I think Gridworld always went so wrong, because we didn’t use it constantly.
Since Gridworld was such a pain, perhaps another suggestion could be to teach the class in a Gridworld perspective, learning for loops and if statements and whatnot using the Gridworld format. This way, we would continue to use what we learned from Gridworld right up to the AP, and so we would be very familiar with it. Of course, Gridworld is kinda lame, and I don’t know if we would want to do a whole year of programming in a Gridworld background. However, it would be useful.
Ultimately, though, I think the year in CompSci was very successful. I learned how to program, and I can do it fairly decently (it being the basics, at any rate). And I didn’t have to do all of the labs xD.

Tuesday, May 24, 2011

SciO Nats

This was one of the most chill competitions I have been to, mainly because I only had one event that my partner said I didn't need to study for. So, I ended up in Wisconsin, basically on vacation, with not much to do. I wrote one paper for English, and I figured that was the extent of work I would get done. So of course, I just ended up walking a lot. I now know downtown Madison better than downtown Austin, because of the amount of walking I did. I walked to the Wisconsin capitol building twice, walked up and down State Street, lounged on some grassy knolls, and generally had an excellent time. Of course, I won fourth in that only event, so I didn't completely go on vacation. I had my success. The team got 9th, which was sad - I think we had the potential to do a lot better, but we had a lot of unfortunate disasters that dropped us by about 6 places.
After all that though, I now have the single largest amount of work I have ever had. All this peaks tomorrow...this will be a bloodbath.

Reflections

The week that this reflection was for was so long ago, I think I'll just do overall reflections on the very hectic two weeks of CompSci.
Of the last three weeks, I have missed, whether due to APs or trips, a full five class periods, which equates to two weeks. How this happened I have no idea, but all I know is that it has resulted in so much work I need to do. All the weeks have melded together, and the past few units have just been blocked together in my mind as XNA, something which I still need to learn and do...by tomorrow...
I don't like having to do work in this class, but then again, I guess that's expected from a class. Eh, I should probably get this done then.

Monday, May 16, 2011

Reflection on 2.13

This was AP review week. I was pretty worried about the test, but after I took it, I realized that this week prepared me decently for the AP. I probably should have done one of the practice free-response, but the practice multiple choice posted on the edu20 thing was rather similar to the AP multiple choice...I just hope I didn't get as many wrong on the AP.

The AP

I've finally gotten around to writing this blog-post, despite the AP being finished for over a week.
The AP, I thought, was surprisingly easy - or at least, more easy than expected. The multiple choice gave a headache, but that was likely just the result of thinking so early in the morning. I don't like thinking early in the morning. Sadly, according to the AP, I can't discuss the multiple choice...ever...
The free response actually was not bad either. The only problem was TIME. HAD I BUT ENOUGH TIME I would have been able to finish the free-response, because apparently the final method I needed for the Gridworld was right there on the reference sheet. Unfortunately, I had ran out of time right as I finished the second-to-last free-response, the encrypt (for which I somehow ended up using six four loops), and os I could not finish the gridworld.
Ah well. I think I'm guaranteed a four. A five would be nice. A three would make me reconsider just what is wrong with my head.

Sunday, April 17, 2011

Reflection on Week 2.12

I think I'll actually try in this class from now on. That 92 is a rather unpleasant grade to be sitting around. Unfortunately, I'm horribly behind on my work. I have worksheets and labs to do, that are not done, nor are they close to done. Luckily, I think I understand the material...I think paying attention in class helps. Sorts are fun. I had heard about Bubblesort and Quicksort from Quiz Bowl, and now I kinda understand what they're actually used for. Mergesort is also really neat, though one wouldn't expect it to be as fast as it is. I think the acting-out stuff kinda helped understand the code better, although I think I just need to know more about what each line of code does, for the other sorts and searches too.
...I think I really need to work on those labs and worksheets...they worry me.

Sunday, April 3, 2011

Reflection on Week 2.11

Right, well, I'm pretty worried now. With labs being graded, I'm pretty much screwed. I got out of 19a thanks to the generous offer of extra credit, but that still leaves Pong. All four Pongs. Having missed Wednesday's class for a Planet Earth fieldtrip, I am seriously behind. I don't think I'll be able to finish in time...
Thank god I understand inheritance decently. At least, I think I do.