Welcome!

Welcome to the shack

Friday, December 14, 2012

too many parameters

Lately, my computer science class has been incredibly full of worksheets and quizzes and papers and other stuff that's all about references and parameters. While I do understand the importance of these concepts in computer science, I though we had finished the unit about a week ago. I'm just glad we are done now, or so I think. And yes, I do understand the lessons. The recent lab we did was one of the most tedious ones I've done in a while. But no worries, because all this practice should pay off in the end.

- zk : out

Tuesday, December 4, 2012

QWEROGFH and ciphers!

I remember last year in computer programming when we briefly went over ciphers. It was a simple time. The lab only consisted of shifted the letters in a word by a set number, while my most recent one consisted of an all-out Vigenere. The Vigenere shifts each letter in a word by the amount corresponding to the respective letter in the keyword. While this posed a challenge, my partner and I finished it handily. This lab really widened my view on cryptography, which seems like a really interesting and complex field. I'm eager to see if our class can do some more cipher labs in the future.

- zk : out

Sunday, November 25, 2012

One Less Issue

During Thanksgiving break my uncle came back over to my house and helped me work on my previously broken computer one last time. It never had a certain diagnosis, but we suspected it had something to do with either the hard drive or the motherboard (each being relatively new hardware). After connecting a different hard drive to the SATA, we saw that the BIOS couldn't detect anything. So, we connected my old hard drive, and miraculously, the machine woke up from its slump. Now it works normally, but it still leaves me to wonder why the computer stopped working in the first place. Naturally, I'm a little apprehensive about the chance that it could fail again, but I'm just glad I got it working again.

- zk : out

Sunday, November 18, 2012

11/11 - [ma][trix]

Last week my class reviewed the concept of a matrix and how it relates to computer science. To put it simply, its just an array with an extra dimension, and it holds data just like anything else. The lab we got would've been a challenge, except for the fact that I had a partner. Ironically, we were flying through lab until we got to the part where I had to read in a file and apply our object. The program we made actually solves a crossword puzzle, although as of now it can only find words across a row (forwards and backwards). My partner and I should finish the rest easily, and hopefully find diagonal words too.

- zk : out

Monday, November 5, 2012

I've Got Issues

I woke up after a surprisingly busy Saturday this weekend and immediately went to go turn on my computer (the one that I built last year that is now running Linux). Now, I hadn't actually turned it on in a few days because of my busy schedule, but when I did, it couldn't chug through the routine memory check. If you don't know anything about computers, you should know about the memory check that happens right after powering-on, because its pretty dang important. So important, in fact, that without it, the computer is rendered almost completely useless. So there you go. My computer is pretty much broken right now. Luckily, my uncle happened to be visiting at my house on Sunday (the tech-savy one), and I immediately requested his assistance. After a very, very painful trial-and-error process, we came to the conclusion that the computer's hard drive totally snapped, figuratively. My uncle said he will be back soon enough with a different hard drive that I can use, but until then, well, I guess its not that much of a big deal.

- zk : out

Friday, November 2, 2012

10/28 - member or method

So last class we learned about arrays, which aren't all that complicated. To me, they are just strings consisting of data types besides chars. But the one thing that doesn't exactly make sense (besides java itself), is members. My teacher explained them to be the counterparts of methods( ) to use for arrays, but I still don't get why they are called differently from methods. Also, I wish I could write a program to make a blog post for me, because I often run out of ideas. The six weeks test is coming up. If it is anything like the quizzes then I will be in a shallow pit of trouble.

- zk : out                                                                          

Sunday, October 21, 2012

Loop upon loop

After spending a hectic week learning about loops, I surprisingly feel confident with them. Of course, I'm not at a fluent level or anything, but to me loops just make a lot of sense. Now, the one thing that does confuse me however are the different types of loops such as while, do while, for, etc. (I don't know if there are any more than that. I would guess so.) Whenever I am confronted with a challenge, I automatically revert to a regular while loop. I've never had to use any of the other kinds, although doing so might have been easier in some situations. At this point, the while loop looks like the jack-of-all-trades, while the for loop is just an easy shortcut to execute a sequence. I'm still working on the for loop lab, so perhaps this will help me understand once I finish.

- zk : out

Monday, October 15, 2012

CS jokes are great

You know you go to LASA when computer science jokes are posted on your Facebook wall. The conversation escalated very quickly, with each putdown more belittling than the last. One great one was, "Your mom is so fat, the recursive formula calculating her mass caused a stack overflow." There were others, but they definitely aren't appropriate for me to post here in this blog. Hopefully as the year progresses and I learn more about CS, I can start making even better jokes (cause, you know, that's what the cool kids are doing nowadays). At least trying to make these jokes will keep me from the guilty pleasure of using Pokemon fusion in class.

- zk : out

I Won?

So last week I signed up for IBM's Master the Mainframe contest just as something fun on the side of the stressful mound of college work that I have right now. After creating an account, I downloaded the Mainframe emulator required to compete, and I at least started part I. Of course, more demanding obligations didn't let me finish just yet. Strangely enough, a few days ago I got an email from IBM stating that "I won" a t-shirt for completing part 1. I don't understand. I'll take the t-shirt I guess, but I'll still try to finish to the best of my abilities.

- zk : out

Monday, October 1, 2012

iPhones. iPhones Everywhere.

What was that? Apple has already released another iPhone in less than a year? Wow. I knew they were in a hurry but I didn't think it would come this quickly. I thought the iPhone 4s was cool, but apparently it wasn't cool enough for Apple. For me at least, Siri was a massive augmentation to the older iPhone and deserves to give everyone a satisfactory break. But no, Apple, you've pushed way to far this time. Sure, the shiny hardware is a little bit lighter this time around, but does that counteract the completely screwed-up maps system (at least I heard it was screwed-up)? I am actually an owner of an iPhone, and at this point, I am glad. In the future I don't want to put up with the growing control freak that is Apple. Hopefully, I'll get an Android phone, because they offer a comparable amount of efficacy in a smartphone.

-zk : out

Monday, September 24, 2012

I Object!

Alright, what in the name of java just happened?! 'Objects,' or so they call them, turn out out to be some new data type that are seemingly way more complicated than the  primitive ones. First of all, they require extra lines of code to define its characteristics and behaviors. I had a little trouble getting used to the idea at first, but now its seems fairly intuitive. I can possibly see things getting complicated when I have to juggle many of my own classes and objects. I created a program that creates 3 turtles on the window, and each can be manipulated individually be entering commands on the keyboard (without having to restart the program). Of course, this wasn't actually the goal of my assignment, but whatever, its still cool. Sigh, maybe I should start sticking with the plan. Anyways, I'm curious to find out what else I can do with my turtles besides telling them to move and draw shapes.

- zk : out

Sunday, September 16, 2012

Notable Differences

After a whole week of basic java programming, I'm already starting to see some of the major differences from python. First of all, there seems to be more versatility granted through methods that can return  a data type versus methods that don't return anything at all. My teacher says this has to do with java being and 'object-oriented' language, whatever that means. I'll find out soon enough, for better or worse. One thing that I am curious about, however, revolves around the fact that java, along with some other languages, cannot quite accurately use operations like multiplication and division. I don't know how it all goes down in the craziness that is java, but I wonder how an OS itself can have a perfectly functioning calculator application when it is derived machine language. That would be a tough one to figure out, but hopefully I'll get an answer in my lifetime.

- zk : out

Friday, September 7, 2012

From python to java

Last year, I was in my teacher's computer programming class where I learned some of the basics in python. Now that I am in the AP computer science class, I will be focusing solely on java programming, which at this point seems more exciting. I've already powered through a handful of the initial kick-off labs, and they were unsurprisingly simple. The concept of programming and algorithms remains relatively fresh in my mind, but some of the underlying syntax that java never ceases to leave me clueless. From where I'm coming from, there is no context for "static," "void," "public" and other such terms that I hammer out on a daily basis. I am very interested in learning what this lingo actually means, but I also understand that it might be too advanced for the class to learn right now.

- zk : out

Thursday, May 17, 2012

Final Post!!!!!!!

As the title suggests, this will be my last blog post for this class, ever. Of course, I will be probably posting more stuff next year for my AP comp sci class, since I decided to go a little further with programming in school.

Anyways, I'd like reflect upon the class. First of all, I will say that I learned a lot. When I first showed up, I knew close to nothing about computer programming. This class really helped to introduce me to some of the concepts that show up in the field of computer programming. I don't know if I will ever include comp sci in my studies after high school, though, but I'm sure it will help me in other areas.
In the beginning of the year, we worked on scratch, which seems extremely easy in comparison to python. I feel like scratch was a good choice to start out with, because of the easy block-style programming. We didn't spend a huge portion of the year on scratch, probably cause we couldn't stop drawing useless shapes and figure instead of being productive. While in scratch, we only studied the most basic concepts in programming, but I think we could have included more complicated subjects, too, such as booleans, variables, etc. If I had started working with those earlier, I think python would have been a lot easier to figure out.
I also liked our unit with jeroo, but it was a little long. It is still necessary in my mind, because it gave me practice with python and creating algorithms, but I think we could've learned something else in the period, too. But overall, jeroo was a very unique and fun way of learning some of the basics of python.
After that, we went straight into python. This represents some of the hard programming of the course, because it required everything that we had learned previously in the course. Hopefully the things I learned with python will help in java, which is the language I will be using later in AP comp sci. At the beginning of the year, I also recall going over binary and the basics of computer hardware. I found this unit very refreshing, although I think we could have done more with computer hardware. As I said earlier in one of my blog posts last semester, an interesting class project would be to build a class computer with parts lying around the school. Having first-hand experience myself, I know that building a computer is not as daunting as it may seem. I know that many people had trouble with the quizzes, especially those over python. At least to me, the quizzes seemed to be more of a test over one's ability to decipher convoluted and seemingly useless blocks of code, with a few direct questions about the subject matter thrown in. I'm not sure what everyone else thinks about this, though. In general, I enjoyed most of the labs, but a few were particularly annoying. But I guess computer science can be that way, since most of the time is spent debugging programs.

- zk : out

App Inventor

So I am continuing to make apps with app inventor. Its pretty fun. After all, I am making an actual app that could be of some use in the real world. Compared to python , making apps really easy. Even with the instruction that explicitly tell me what to do, the block-style programming also adds another level of intuition. The whole interface, made buy MIT, makes designing and programming almost worry free, because I don't have to worry about syntax and calculations for designing. Considering that the final project will be created on app inventor, I need to actually pay attention to how it works, instead of just following the instructions...Anyways, the school year is almost over, and I can't wait.

- zk : out 

Thursday, May 10, 2012

AP WEEK and other stuff

This is it. This is the week in which I practically finish my hardest classes. But once I am done, however, I will be free. Thankfully, I'm only taking 3 AP tests, unlike others who have to worry about more of them. Anyways, back to my humble role in computer science where our class is beginning to work on a new project. In place of Python, we will be developing Android apps using a developer supported by MIT. Although, I don't actually have an Android device, it will still be interesting to be able to make my own app. The interface seems to be friendly and intuitive, similar to that of Scratch, as it utilizes that "drag and drop" style of programming. It is nice to start something different.

- zk : out

Friday, May 4, 2012

[dictionary,matrices,ect.]

Lately in computer science we have been learning a lot about different types of data structures like lists, matrices, dictionaries, and tuples. While I appreciate the versatility and unique qualities that each structure has, it is becoming harder to remember all the specifics for each one. Seriously, lab 10 gave me a run for my money, because we still had to use lists. In the future, learning something else would be nice. Hopefully, the final doesn't require many of these.... Otherwise, lists are pretty cool.

AP's are coming up next week. It would be awesome if Mr.Stevens lightened the workload so I can study some.

- zk : out

Sunday, April 22, 2012

Stuff

We all know that technology is advancing. Such a statement is not disputed. But that makes me think about computer science, and the way that programming has evolved. Obviously, programming is much more powerful, and in certain cases, more intuitive that it was before. As my teacher told me, programming is a way of telling a computer what to do without sounding ambiguous. But will computers ever become 'smart' enough to circumvent the ambiguity of the human languages? If this could happen, anybody could program. It's just a thought, anyways. Regardless, it seems like we would always have to have a group of people that know the most basic of computer languages, because that is still what computers are based on.

- zk : out

Sunday, April 1, 2012

Music Mania

When I ask someone, "do you have an Ipod?" I mean, "do you have any mp3 music player? It's easy to admit, Apple products occupy a massive piece of the music player industry with iPods and iTunes, but there are other denominations out there. Chances are though, the answer to that question for a large percentage of the people is "yes". It's understandable that people have their own designated devices for all of their music, but it's also equally expected that they keep music on their smartphones.

Take me, for example. I have an iPod that a received as a present in middle school. I'm also the proud owner of a smartphone (which happens to be Windows), and everything is alright. Since I still have the iPod, I use it for all of music, which I download from iTunes. But the problem is, I can't copy the music I have on iTunes to anywhere else. I've tried to transfer my music from the iPod to my phone, but to no avail. Why do have to be so protective, iTunes? I bought your music, what more can you possibly want? I just wish there was a music management system that would allow to put my music on all of my devices, and by that I don't mean downloading some sketchy program from the internet. 

- zk : out

Sunday, March 25, 2012

The Happenings

Strings, unlike most of the other material, is harder for me. I can't exactly explain why, but it took me a little longer to figure everything out, and that's probably why I'm a little behind with the labs. I'm about to finish my encryption lab, but I still have 3 after that to catch up on. 

Also, I heard the Ipad 3 is coming out. Hasn't everyone. But why so soon? People have been telling me, "oh, the screen is so brilliant," but I don't see that as any major improvement upon the last one. Regardless, I'd suppose it would still be cool to have an Ipad, just because. 

- zk : out

Wednesday, March 21, 2012

Tools

I've been exploring the linux os, which happens to be the KDE version, and there are a lot of neat little programs that are already downloaded. I can't mention all of them, but they vary in their uses. One of the programs is called Genius, and is excellent for math-related projects. Believe it or not, but Genius actually supports its own unique programming language that the user can use to write and run programs. It's actually quite similar to Python and is relatively easy to understand and use. It also has built-in math functions that help me with quick little tasks. Overall, I really like this program, and I plan to do some more experimenting with it.

Another cool little program, or game actually, is called GL-117. It is like a flight simulator, but the planes come equipped with a gun and missiles. It has retro-looking graphics, and is still really fun to play.

- zk : out

Sunday, March 4, 2012

Finching for the win

Now that my class has finished project 02, we moved into a new unit in Python in which we are writing code to control a 'Finch,' a funny little robot that can perform a variety of motor actions. Don't ask me how, but the finch resembles something of a stingray on wheels, and has a chromatic LED light on the front end. A pair of thin wheels control the finch's movements, while numerous sensors act as controls (I haven't experimented with these yet). I'm curious to see what I will be able to do with the finch in the future, besides stupidly driving around in circles. 

- zk : out

Monday, February 27, 2012

The 3 Contenders

While the windows and mac operating systems continue to battle in the spotlight, another eminent os sits on the sidelines. This contender, which is less renowned than the other two, is often revered by a population of computer nerds for being special in its own right. Linux is its name, and it is the os that the computer my uncle and I built runs on. I've used windows all of my life, mainly since it is probably the cheapest and most practical for everyday life. And so, linux is a big change, although I still use windows just as much as the next guy. The relatively popular, open source version of linux that I use is similar to the other operating systems through its home interface. An included bag of applications allow me to open folders, create documents, click on icons, etc. This stuff is easy. But what I really want to learn is to understand linux in more detail. For example, linux incorporates a unix shell console as an application, in which the user can control many details without the need of a mouse.

- zk : out

Thursday, February 23, 2012

A complicated machine

Over winter break (which happened to be quite a while ago), my uncle and I decided to go out to Fry's and buy parts to build a computer, just a as a project. We bought a computer case, amd processor, motherboard, graphics card, network card, and some other components and hauled back to my house, where we took to the onerous task of actually building it. I can say, after the fact, that this was an extremely tedious experience. Physically hooking up everything was not difficult at all, but it took awhile for us to actually get the computer to start. As it turns out, the bios was not updated to be compatible with the certain amd processor we were trying to use, so we had to put in a different processor in order to update the bios, and then replace it with the new processor. Anyways, the computer, now that it runs linux almost flawlessly, is awesome. I'm still trying to figure out everything that comes with this OS. I'm also trying to learn my way around the unix shell commands, which is a large part of it.

- zk : out

Sunday, February 12, 2012

On a new level

While python has been interesting in the past few weeks, I was wondering if our class could somehow apply to any of the things we did earlier in the year, such as html or Jeroo. It seems totally possible that we could create our own Jeroo program using python, since we know how to use graphics and methods to some extent. I'd imagine this sort of project would be done later in the year, when we have a better handle on the language.

Oh, and to my teacher, lasa cs wasn't working properly the last class period, so I don't think many students were able to work on project 02.

- zk : out

Sunday, February 5, 2012

Snaking my way through python

Now, at the end of the day, I can say the project 01 was a success. So what it didn't turn out to be exactly like angry birds? It works! Given any x and y axis distances, my program can trace a line and draw a circle there. But that's not all! My program also calculates the bird's velocity with an intended trajectory. While it's not particularly practical or fun in any way, whatsoever, it still represents a giant step for me as a novice programmer. I also added something extra in mine: when the user inputs the intended distances, it calculates the ideal angle for such a point. For example, if the user chose coordinates 100 and 100, my program would calculate the ideal angle to be 45 degrees, using a little trigonometry magic. Anyways, I hope to continue working towards making better and more advanced programs in the future.

- zk : out

Saturday, January 28, 2012

Angry Birds, Angry Physics

At the end of this week, my teacher finally gave the class instructions to complete our first python project. Unlike  in the typical lab, I have to create a fully functional program from scratch. On top of that, the final product must resemble something similar to the hit "angry birds" series of games. though it won't be nearly as involved as a true copy of angry birds, it still includes an amount of physics and graphics that need to be incorporated into the program, which should present a decent challenge. So, with my eye on the prize, I started working on the first step of the project, which was supposed to calculate the velocity of a bird given a height and trajectory. My teacher gave us an equation that showed the relationship between these three variables, but it wasn't an equation that simply returns the velocity. Realizing this, I tried to use a little algebra in order to fix this, but when I ran the program, it return an ugly negative velocity. I tried looking over it, but nothing worked.

So, as a request to my teacher, please help us!

- zk : out

Sunday, January 22, 2012

Method Madness

Lab number 3 hit me like a truck. I was sure I understood all of the necessary concepts, but when I opened the .py file for the first time, all the text seemed to form a giant, incomprehensible mess. Having read the lab document beforehand to get a glimpse at what I would be doing, I knew I was going to make some sort of program that would spit a number of characters corresponding to the temperature and heat index (which I made a program for in the previous lab). The concept itself was acceptable, but the rigid  instructions included in the .py file were extremely convoluted to me, and it took me at least 30 minutes to figure out how my teacher wanted me to make the program.

Seeing that this was one of the beginning labs in the unit, I knew that my class would need a little guidance. I didn't expect the instructions to be rigid, since we weren't allowed to edit the preexisting program or use any methods not already included. Hopefully, in the future, my class will start moving towards creating programs from a more open-ended take.

- zk : out

Monday, January 16, 2012

Python, not Jeroo

With the opening of the new school semester, my computer programming class is starting to work with Python. This time around, we won't be commanding any virtual animals to do anything on the computer screen, but rather we will learn to write practical programs. It's about time. Hopefully all those hours of waiting and preparation will finally pay off and manifest itself into some accomplishments by the end of the year. We started off with some basic mathematical operators and simple commands, so it isn't that complicated right now. I'm eager to start the next labs and to see how it will come together, though.

- zk : out