Monday, 12 December 2011

This semester as a whole

I came into this class with a very basic knowledge of java and for the most part this hasn't changed. I can tell that there is still much to learn, though I definitely making progress. There are still things that I know java is capable of, I just don't know how to do, though I am slowly learning these things on a case by case basis. Just last weekend I began to teach myself how to read in the frequency of a sound file into java. In addition to file IO java.awt is full of things I do not understand. When I import third party classes I do not understand. For one, bitwise functions confused me for ages before now. The content we have been learning is mostly things that, although I have not wondered about in the past, I am going to use in the future.

Gridworld is an entirely different subject. To be perfectly honest, gridworld is insanely stupid. As far as I can tell it is meant to teach about different types of methods, though one requires a knowledge of methods in order to make programs in gridworld.

On my own I have been finding more and more how the math I have been learning applies to programming, trigonometry and vectors are proving to be ridiculously useful. I find that I have the most fun with projects oriented towards applications of math and less so projects that actually have practical use, which results in me having very convoluted and off topic labs.

The labs in Comp Sci definitely accomplish what they need to and teach one something about the application of the material we are learning. They are very clearly well put together and their bizarre nature only adds to them. The worksheets do what they are supposed to and always cover the material fully, in-case I miss something in the presentations.

Overall I am very satisfied with this class and, although it could go faster, I see no reason for it to as long as we wholly cover the material.

Sunday, 4 December 2011

String cutting and bitwise




At first I was very confused as to the applications of bitwise functions though it makes sense when one considers how little processing power it takes to execute the functions. It's not immediately useful though I want to take on some sort of project but only use a very small amount of memory, mostly to get in the habit of writing efficient code. Using scanner with Strings instead of System.in was pretty straightforward, I don't see a lot to comment on there.
On my own I made a JAR that runs a polar cosine equation using circle every 10 degrees or so. This ends up with a series of circles orbiting a point in interesting patterns. This project isn't very impressive in itself though it was fun to find the designs it could generate if I didn't clear the canvas after drawing.