Sunday, September 25, 2011

Weekly Blog #4

I have seen and read about templates and generics in data structures and algorithms, but I think back then I was much more concerned about learning basic programming that I didn't pay any attention to advanced concepts. Now that I hear them again it makes much more sense and I can definitely see many uses for them in real life. 

Some features likes these I never really had to learn, because if I needed to write multiple functions with different parameters then I would just copy and paste functions and change a few things. I never knew the language supported such things. I really hope that we get to about function pointers, because I don't think I have a complete grasp on it, and Prof. Downing does a good job of explaining concepts clearly. 

I thought the test was pretty fair, though I thought some of the first few questions were more detail oriented than I expected. 

Overall, I think the workload in this class has been pretty decent, I'm happy with the workload balance and how much I am getting out of the class. 

Sunday, September 18, 2011

Weekly Blog #3

Now I feel like this class really should have been part of the curriculum, because I am a learning about a lot of features I have been using in a language.

For example, I have always wanted to read something or learn more about exceptions because I never quite understood why I was typing certain things (like throws Exception in the function line). I also know a more detailed behavior of how exceptions behave now.

I like how the professor speaks loud and very clearly, I almost never get lost by what he says, because he is so precise. So far, a lot of the topics we are covering are not new, but most of the information that I have been learning have been really covering up a lot of holes that have accrued in my knowledge.

The book has been pretty good too, although I don't really enjoy it when I see all different kinds of implementation or syntax in multiple languages. I only care about a few of them, and some of them I never heard the language existed before. I don't mind when it mentions a few language with odd behaviors, but I don't really need to know the syntax of all of those languages.

I'm still not finding the issue tracker to be too useful. I think this is because I'm not really working on a big project. My partner and I know all the issues that we are going through and we kind of know them all, and so issue tracker seems redundant. I can see the usefulness when there are multiple people working on a project and have dependencies though.

I feel like we haven't talked too much about the object-oriented features in class like inheritance and polymorphism. However, I'm glad we went through these details about the language, because I learned a lot. I'm excited to get to the object-oriented part of the class and hopefully learn a lot of new things there too.

Sunday, September 11, 2011

week2

I got to start on the 2nd project of the semester with a partner. I haven't had a programming partner in such a long time, and the times I have done pair programming it wasn't with a friend. But this time, I did pick a friend as a pair programmer and it was really enjoyable.

I feel like it was a good pair because we were both concentrating and wanted to get the project done. But at the same time, we were both relaxed and had a good time because we still had a lot of time left.

I never used a source control before with a partner, and I found it to be really useful to use Git. We would split some of the work like coming up with unit tests for particular cases, so that we can put down all the corner cases that we can think of. Then we came up with unit tests together to see if we could think of more together. But it was very easy transition to merge our work together.

So far, I haven't been really enjoying writing the unit tests. I feel like I haven't had too many problems with the functions and it seems useless. But perhaps, I'll come to appreciate them later when the projects get more difficult.

The reading has been pretty good, I feel like I knew most of the material, but I can see a lot of new information coming that I'm excited to read about. The papers have been pretty good too, and I look forward to reading more of them.

Sunday, September 4, 2011

Blog #1 First Sunday

As I'm finishing up on the first project, I feel like a lot of this is really over-kill, but honestly I can't think of any better way to learn these tools. I kind of wish there was an introductory course that taught these tools early in my college life, because a lot of these tools are used in the industry and classes, and it is really useful.

I do appreciate how Downing explaining all these small details that I've always been looking over. For example, the import statement in java, I always did think that statement was importing libraries, I did not know java had always loaded all the libraries. Also about c and c++ have two buffer for its own output stream. I guess I got away without knowing these details, but I feel like I should have learned this in the beginning.

I realize it is good practice to do documentation, commenting, and writing good variable name, but I do find these part of the tasks to be really tedious. I just saw the post about the fact that Downing may have left some of his code to be vague intentionally and we may have to change them. So I guess I'm going back to my code to change those variable names.

One things that I was really pleased about this project was Assembla, I knew something like that was out there, but never bothered to look. But now I know a place where they provide free repository, and I can make use of it!