Translate

Sunday, November 24, 2013

Artificial Intelligence: Doctors of the Future

Consider the game of Chess. A simple game in looks but has depths of complications that separate the masters from the experts. One of the key components of Chess is the ability to think ahead of your opponent. It sounds easy enough to think two or three turns ahead, but how about ten? Twenty? A computer makes a good Chess player because of the ability to hold and remember large amounts of data, enabling a computer to think ahead numerous amounts of steps.

What "Robot" Chess might look like.


That way of thinking has been expanded to artificial intelligence's in the medical field. Indiana University has created a computer doctor that analyses patient and medical data and attempts to diagnose the patient. According to their study, the computer had a 30 – 35% higher success rate than human doctors in finding the correct diagnoses. There is also the benefit of having a 50% reduction in medical costs. A cheaper and more successful diagnosis seems very appealing, but why does it work so well?


The computer can create very educated guesses because of it can retain tons of medical data, much more than a human doctor can ever hope to remember. The computer also has no bias at all. What I mean is a doctor will look for signs that point to their specialty, a robot doctor will have no such bias and therefor look at all kinds of ailments not specific ones. I don’t know about everyone else, but I would like to be diagnosed by a robot in the future.

Sunday, November 17, 2013

History of Computer Science: The First Computer Programmer

Once in a while it is good to learn the roots of our professions, future professions, and hobbies. According to the Computer Sciences Accreditation Board there are four major areas of computer science: computation, algorithms and data structures, programming methodology, and computer architecture. Now each area is important in its own way, but this post is about algorithms. Now an algorithm is defined as “an effective method expressed as a finite list,” in other words an algorithm has to have an end. Mathematical algorithms are used to teach programming, such as the Fibonacci sequence.

In 1842, a mathematician and writer named Ada Lovelace created what is believed to be the first computer program and is well known to be the first computer programmer ever. Lovelace wrote many notes and algorithms to be computed on the “Analytical Machine” created by Charles Babbage. Her algorithms were the first algorithms intended to be used on the "Analytical Machine" and because of that, her notes are considered the first algorithm intended to be used on a computer making her the first computer programmer. Unfortunately the "Analytical Machine" was never fully completed so Lovelace never had her algorithms tested.

Augusta Ada Byron a.k.a. Ada Lovelace



Ada Lovelace’s legacy has been imprinted in modern times. The U.S. Department of Defense created a programming language named after Lovelace and Google Doodle was dedicated in her honor. It is always nice to remember that programming is not as recent as we think it is and it older than one hundred years.

Sunday, November 10, 2013

File Sharing: The Three Hour Torrent Rule

Torrents, a peer-to-peer file sharing system that almost everyone is familiar with and uses. There is no denying that you have not used it yourself. Maybe you shared a legitimate file within a group of people, but chances are you used a torrent to pirate something off the internet. Maybe you pirated an overpriced school textbook or maybe some song. Either way we have all used torrents for whatever reason, I’m not here to judge.

Logo for uTorrent. One of the most popular torrent clients.



In 2012, the University of Birmingham of the United Kingdom studied the monitoring of BitTorrent clients and found out something interesting. Through hours and hours of data gathering and tracking of torrent monitors, the university had found that it took about three hours to capture your I.P. address. The torrent monitors were most likely owned by the U.S. government and were looking to find people illegally downloading files. However, this three hour time only applied to the top one hundred most popular torrents in the present time and could be significantly faster in less populated torrents if such torrents were being monitored. A popular torrent might be something like media files such as TV shows, music albums and such. The reason for the three hours is because each monitor had to either connect to a peer or request to be connected which takes time. A popular torrent could have thousands of peers each disconnecting and reconnecting frequently. Overall what this means is that the popular torrents are monitored and you if you happen to use one, you should probably limit your download to three hours.

Sunday, November 3, 2013

Data Structures: A tip for my fellow SJSU classmates

If there is one aspect that is important to computer science, it is data structures. I am not talking about some concept that dwells inside everyone such as integrity and willpower, but an actual concept that exists within computer science that everyone programmer should know. I have seen presentations by several tech companies, usually presented by former San Jose State University students, and they all say the same thing, the most important class is advanced data structures aka CS146.

The book that contains every useful algorithm and how to execute them on data structures.


The reason why it is so important is because data structures encompass all of computer science. The basics include things like arrays and trees which are used in everyday code. In more advanced code you need to know how to properly optimize your code using sorting algorithms that is taught in CS146. An example of the importance of a finely tuned data structure and sorting algorithm are search engines. Search engines have to sift through so much data that is it hard to conceive just how much there is. Search engines must sort through an ocean of data and send you the results at minimal time. Using something like bubble sort will not only get you crippling speeds but you will also lose customers if that was your search engine.


To put it simply, CS146 is a very difficult class but it is also very important. If you are a SJSU student do remember to take the class seriously and if you are from another school, be sure to do the same for similar classes.