Welcome!

Welcome to the shack

Sunday, December 11, 2011

Semester #1 is (almost) complete

Overall, I had great experience with computer programming in the first semester. I learned a lot of general information about how computers work, and I experiment with a few basic, easy programming languages that should help in the future with more complicated ones. And this is what I had hoped for. I chose computer programming instead of ap computer science because I didn't want an extremely rigorous class added onto my already semi-rigorous schedule. I've always been interested in computers, and fascinated by the way that they work. I guess its a rather abstract concept to wrap my mind around, that each tiny piece of data is created by a tiny, physical transistor packed to together and programmed to make a working, complicated machine. Now that I have a grasp over the basics, I would like to take programming to a higher level in the next semester, you know, to a place beyond the confined island of Jeroo, and the intuitive blocks of scratch. Since we are currently working with Jeroo, it would probably be best if we continued straight into python, and then maybe move onto java or something later. After recently building my own computer (after a visit to fry's with my uncle), I think it would cool if future computer programming classes could build a class computer in order to get a better look at it. I know the hands-on experience really helped me understand how everything fit together.

-zk : out

Sunday, December 4, 2011

the end

Moore's law states that the number of transistors that can be placed on a circuit is doubled every two years. While this law has matched the trend for more than half a century, and it doesn't seem to be stopping anytime soon. But shouldn't there be a stopping point? I mean, as far as we know, something can only exist on a finitely small scale, so at some point, the trend of transistor density should converge at some point. Well, I'm sure people living a half century ago thought the same thing. and didn't expect for the law to make it this far. If it does ever converge, I think we might even have quantum computing, or something like that (I'm really sure).

-zk :out

Sunday, November 27, 2011

Can't get enough of those apps

Just the other day I saw a TED talk that made me think about my own programming class. This talk featured a very young kid who happens to be an established iOS app programmer. He  talked about how  people often ask him about his apps, hoping for tips on how to actually create an app. His observation is that many people want to learn how to program apps, but don't know exactly where to start.

I was thinking that somehow, someway, we could incorporate mobile-device app-programming into the class. Though I know close to nothing about this sort of programming (go figure), I'm sure we could work through the basics and eventually develop a polished product.

-zk : out

Sunday, November 20, 2011

Master Code

Some recent labs with Jeroo made me think about something. Lately, i've been plowing through the labs, and of course they've been getting progressively harder to solve. My initial instinct for any problem is to create a master solution, a code that would complete the task even if the details of the situation are changed. Intuitively, this seems to be the most practical way of doing things, but is there ever a point at which this is unnecessary? I mean, I could easily just hammer out a set of instructions that would complete the task and probably still earn credit for doing so. I can imagine that my teacher would advise against this, for obvious reasons. As a learning programmer, I want to improve on my problem-solving skills, and I guess the path to doing so is based on challenging myself.  

Sunday, November 13, 2011

loops vs. methods

This week in computer science my class learned how to use loops and methods with Jeroo. My impressions of methods are positive, since they really helped me condense the lines of code that would otherwise be ridiculously long. Loops, on the other hand, are different. They make sense, given that we worked with them on Scratch, but I haven't really used them in-depth yet. I imagine that I will be able to combine loops and methods later on to solve more difficult problems. Though the labs are still fairly easy, I'm still learning the basics of Jeroo, before they start to increase in difficulty.

-zk : out

Sunday, November 6, 2011

Jeroo is what's new

This week my class decided to move in a new direction with programming and begin Jeroo as preparation for Python later on. Jeroo allows the user to control the little animal around to complete tasks using Python. So far, it isn't that difficult at all, because the first labs only required me to endlessly type hop, hop, turn, etc. without the use of loops or anything like that. I can say, with utmost confidence, that I have the basics of Jeroo down, and I would like to move on to more advanced topics.

Jeroo, at least from my viewpoint, is only a puzzle. It doesn't seem to have any practical use, since the programming only pertains to solving problems in the virtual version of Satong Island, the home of Jeroos. Yet I think Jeroo will prove to useful later on when I move on to other programming, because it requires a lot of logic-based thinking.

-zk : out

Sunday, October 30, 2011

Scratch continued...

By this time my class is starting to finish up with scratch. I've made a few new programs, all of which are not exceptional, but have increased my understanding of Scratch. While I've completed most of my assignments with Scratch, there remains one that I haven't quite grasped.

This assignment requires that I make the Scratch cat move around randomly within the confines a box with a width and height of 200 units each. For me, it was easy to make the cat move in a random manner, but I didn't have the right setup to limit the cat within the box. I used an if-else loop to command the cat based on its position  in the screen, since any movement past the box should be prevented with the if statement.

My teacher told me that the cat should not move if the intended number of steps in a direction plus its coordinate position is greater than 100 or less than -100. This helped me out, but I'm still sure what I should do about direction. If I make the cat change directions randomly, then I can't simply use the aforementioned formula to limit the cat's movement.

I'm close to being done with this, and I should have it finished after next period. Anyways, it's been nice knowing you Scratch, but I'm afraid I'll have to move on at some point!

-zk : out

Sunday, October 23, 2011

Scratch: not just a cat

This week my class did further experimenting with the program Scratch. While this program seems to be used mainly for helping students learn about programming, I was surprised to see what Scratch could create in the right hands. My teacher showed my class a fully-functional galaga-type game created using Scratch, complete with decent graphics and excellent gameplay. I marveled at how Scratch was even capable to render this, and realized I underestimated the silly yellow cat.

Since I'm still learning the ropes around Scratch, I haven't been able to create any games with it, but I hope to in the future. Scratch really is a neat programming language, and the cool thing is, you don't have to worry about syntax!

Monday, October 17, 2011

Html - Check, Java Script - Nothing

This week I finished making my html site. I'm sure I could have spent much more time adding details to it, but it honestly turned out pretty well. I seem to have some sort of grasp on html formatting, but the one thing I'm still confused about is javascript integration.

My teacher gave us access to the files for the "light show," a popular gimmick that allows an internet-user to click on an image to make it pop up in a new box. I couldn't find any practical use for this, but I wanted to include it anyways just for the fun of it. Naturally, I couldn't get it to work correctly, but it has sparked some interest in java script. Having taking a computer class before, I've heard of java script, but I never learned exactly what it is in context with the internet. I know it has something to do with active elements within a static web page, but I would like to learn more about it in the future.

Monday, October 10, 2011

Changes

The past week has been very important in the tech world. With the unfortunate loss of Apple's former CEO, Steve Jobs, certainly the future of the company will change. In contrast, Apple also released the new IPhone 4S, which is said to be an updated version of the IPhone 4, which was released only around a year ago. This new gadget is said to sport a sharper processor and more stable camera features than those of its predecessor.

While Apple's popular line of products seems to be rapidly advanced through their numerous new-releases, the direction that it will take in the long-term still seems unclear. Though it is obvious that Apple can't hold on to their classic iOS phone interface forever, the company seems to be holding on to it for as long as they can with new releases that only provide a few improvements to the same formula. Apple will be remembered as a great company for their success in becoming the king of the smartphone, I want to see them take a different, more dramatic step for their products. Or perhaps the rapidly expanding world of apps will do it for them.

-zk : out

Sunday, October 2, 2011

Programming?

This week I made my own website using html, and is decent to some extent. Now that I have a grasp of html, I find myself wondering: is html a programming language? One internet source and my teacher tell that it isn't but I'm still not exactly sure why.

Of course, the answer to this question comes with the understanding of the term "programming." In my own words, I can say that programming is the process of telling a computer what to do (a.k.a writing an algorithm). I also understand that html is way of designing pages, which are ultimately processed by a server.

With html, you are still telling the computer what to do, just in less direct way. It also doesn't involve nearly as much algorithmic thinking, at least in basic web designing, as idiosyncratic programming does. So, in this case, I do agree that html is not a "true" programming language, but nevertheless, it is still important in many computer science applications.

Sunday, September 25, 2011

Problem Solving in Computer Science

In each of our daily lives we go about problem-solving an almost uncountable number of things. From deciding a career to deciding how to make a sandwich, each situation presents new decisions, and we must find the right path to take based on our needs and desires.

In context with computer science, everything, as I have seen it, changes. Computers require explicit commands and algorithms in order to perform tasks, and our ways of writing those codes down could be classified as problem solving. For someone like me, who is not really used to this interaction with computers, it is difficult to translate the way that I make decisions into this code.

-zk : out

Monday, September 19, 2011

The Internet

This week in computer programming, my class talked a lot about the internet and how it is constantly changing the world as we know it. Of course, communication and data storage have become more accessible for everyone, but in light of that, a whole new meta-world is being defined. According to one of the Ted talks that my class listened to, the internet is actually starting to change the physical world to a certain extent, since the world is being altered so that the inernet works in the best possible way. For example, new cables are being laid, towers built, etc. If found this aspect most interesting because I never imagined that the interenet could ever have this effect on  the world.

-zk : out

Sunday, September 11, 2011

Web 2.0 is Cooleo

This week in computer programming I did some experimenting with web 2.0 applications. Each of these sites, I found, performed very specific functions (save a few, such as wikispaces, for example). While many were very creative, I wouldn't use most of them in my everyday activities, except for on rare occasions. As a student though, I found bibme to be the most practical of the bunch, since it can help on all of my research papers for school. I also found "quickforget" to be an especially interesting and creative app, as it allows you to create a url with a secret that disappears after a certain amount of time.  I might even use it someday just for the fun of it.
 -zk : out

Monday, September 5, 2011

Overdrive

Nowadays it seems as though new arrivals of phones, tablets, and other high tech gadgets are something of a daily occasion. With each new sunrise some new date is fulfilled, and I get to hear a new advertisement on the radio that eventually gets jumbled up with the rest of them.

It's not that this ferocious marketing competition is a completely terrible thing, its just that I don't have enough time in between to process these new gadgets and compare them to one another. With each new device, another is seemingly outdated and pressured to be obsolete, and I find myself awkardly wanting the "new one." 

I'm for the advancement of technology to a high degree, and I would like to see new technologies implemented into these devices. But some of the current marketing and innovating overemphasizes a certain characteristic or innovation, leaving other important aspects on the sidelines. So, if the cell phone and tablet industries, for example, can establish a steadier drive towards progress in their devices without rushing, consumers will be much more satisfied. 

-zk : out