Tuesday, December 3, 2013

Scientific Computing: Computational Sciences

The study of Computer Science isn't really the study of the science of computers. Some computer topics include hardware, programming, and algorithms. Some science topics include Physics, Chemistry, and Biology. Although different, computers are used in these science topics in real-life situations. It would make sense to call this Computer Science, the study of usage of computers in different sciences, but it isn't. It can, however, be thought of as computational science, which, again, is "concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems." Some real-life computational sciences include computational physics, chemistry, and biology.

Computational physics is "the study and implementation of numerical algorithms to solve problems in physics for which a quantitative theory already exists." The different theories based on mathematical modeling provide predictions of a system's behavior. Sometimes, the solution is hard to solve by hand, so a computer comes in place by approximating the solution. The numerical approximations are written as large, finite mathematical algorithms; the computer would perform the operations and approximate the solution and error.

Computational chemistry is "a branch of chemistry that uses computer simulation to assist in solving chemical problems." Theoretical chemistry methods are used, along with computer programs, to "calculate the structures and properties of molecules and solids." Sometimes, these problems can't be solved analytically. Computational results are obtained by chemical experiments, which can help predict chemical phenomena.

Computational biology involves "the development and application of data-analytical and theoretical methods, mathematical modeling and computational simulation techniques to the study of biological, behavioral, and social systems." Also known as bioinformatics, it uses biological data to develop algorithms and relations in different biological systems. The use of computers helped biologists store and access large amounts of data. Computational biology has been used in different ways such as sequencing the human genome, creating models of the human brain, and modeling different biological systems.

Computational sciences have helped scientists do many different things. Even though it involves similar ideas and concept, it can be used very differently in different fields.

Scientific Computing: Mathematical Analysis

Math used to be fun. The hardest thing about it was counting up to 100. The numbers also had weird shapes, so that also added to its difficulty. Then, we learned how to combine numbers in different ways: addition, subtraction, multiplication, and division. With these simple operations, you would think that it was all there was. Next thing you know, letters are added with the numbers, which was also known as Algebra. As you progressed through higher math and encountered weird symbols, which are still as unknown to me like the Egyptian Hieroglyphics, eventually, you encounter the highest level of math by the average student: Calculus, which helps enable you to solve real-life situations. After your last Calculus class, you would think there is no more math to learn. Nope. The math after Calculus is basically math problems that you will almost never encounter and use in your daily life. An example would be computational science.

Computational science is "concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems." It involves different theories to approach certain problems. Since math can be tedious to do by hand, computers are used to analyze mathematical models. Programs are made just so models can be studied by inputting different parameters. Some examples of different real-life models used include graph theory and mathematical optimization.

Numerical analysis is a very common method used in computational science. It is "the study of algorithms that use numerical approximation (as opposed to general symbolic manipulations) for the problems of mathematical analysis." Numerical analysis usually involves getting results that are not exact, since it is not always possible. It is more about obtaining approximate solutions. An example would be \sqrt{2}; you would not get an exact number.

Related to computational science, there is also symbolic computation, also known as computer algebra. It is "a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects." The solutions are usually exact numbers with expressions that contain variables with no given value. An example would be the equality symbol:  (x+y)^2=x^2+2xy+y^2.

Even though we almost never use higher level math, it is still applied in some fields or in some real-life situations without us even knowing it. Since we are in a computer-related field, it would be a plus if we can understand some simple mathematical models.

Friday, November 29, 2013

Computer Graphics: Create it

computer graphicsA lot of us have doodled or made something before. At a very young age, especially, children let their imagination go wild and do many interesting things. They talk, draw, and build anything that is in their mind. It is amazing because it can be very creative sometimes. Drawing is easy to do, but it is hard to make it look very realistic and appealing to the eye. Now, we can draw on computers; computer graphics is a category. Drawing on computers is harder than drawing manually, but it is worth it because your hard work looks very realistic.

Computer graphics are "graphics created using computers and the representation of image data by a computer specifically with help from specialized graphic hardware and software." It is basically things on the computer that is not text or sound. You use the computer to create and manipulate an image data, making it visually appealing to the audience. Computer graphics are used in many different fields: animation, movies, and video games. In the website Computer Graphics World, you can see different articles and news about computer graphics; it is like an online magazine.

image processing
Related to computer graphics, there is also image processing. It is "any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image." The image is treated as "a two-dimensional signal, applying standard signal-processing techniques to it." In other words, it is a way to convert an image into digital form so you can perform, or edit, operations to make it visually appealing or extract information from the image. There are two types of image processing: analog and digital. Analog, or visual techniques, can be used for hard copies such as photographs and printouts. Digital is for manipulation of digital images by using computers.

Computer graphics is a great field for people who like to draw and create animation. It is a big step from manual drawing to computer drawing. For animation, instead of drawing the same picture over and over again on flip paper and flipping it to create a visual story, you can do it with ease on the computer.

Tuesday, November 26, 2013

Communications and Security: Use Protection

There are a lot of ways for people to communicate with each other: sending text messages, writing letters, and talking on the phone. Imagine, for some reason, there was another person reading your text messages, opening and reading your letters, and intercepting your phone calls. You would not feel safe using those methods of communication, since you have just lost your privacy. This is the same for computer communications as well. You would not feel safe if you knew someone else had access to your files, your passwords, and your credit cards. It is important to have basic knowledge of computer communications and securities.

computer networking
In a computer network, which is "a telecommunications network that allows computers to exchange data," the most commonly used network to share and exchange data is the Internet. In these networks, the networked computing devices exchange data to each other through data connections. Computer networking supports many different types of applications such as web browsers, storage servers, printers, and e-mail.

Computer security is "information security as applied to computers and networks." Any related computer equipment would be protected from unauthorized access, unplanned events, and natural disasters. It is important to have an updated firewall, which is "a software or hardware-based network security system that controls the incoming and outgoing network traffic by analyzing the data packets and determining whether they should be allowed through or not, based on applied rule set." Having a security system can protect you from computer viruses and Trojans.

computer encryption
Finally, there is cryptography: "the practice and study of techniques for secure communication in the presence of third parties." Basically, it can help prevent data from being stolen from bad people. If someone were to break into your computer or intercept your messages, then they would not be able to read it because of cryptography. Also, it performs other critical security requirements for data including authentication, repudiation, confidentiality, and integrity.

Now that almost anything can be stolen or intercepted, it is important to have something, like a security guard, to prevent any huge loss. Be safe. Use protection.

Tuesday, November 19, 2013

Artificial Intelligence: It's Alive!

frankenstein brain
Have you ever owned a stuffed animal or anything related? Have you ever wanted it be alive? I know I have. It is probably not possible to have a stuffed animal become alive after a wish like in the movie Ted and it is probably not possible to resurrect the dead using power electrical shocks like in Frankenstein; if it actually were, then someone would have probably done it by now. There are, however, artificial substances and life that scientists and engineers have made. Robots have been built and have had the ability to communicate; Siri, a personal assistant and knowledge navigator application from Apple, is very similar to this idea. This concept is called artificial intelligence, also known as AI, is defined as "the study and design of intelligent agents." It is a branch of computer science that studies and develops intelligent machines and software.

pino the humanoid
A well-known example of artificial intelligence is the general idea of a robot. The almost perfect artificial intelligent robot would have a well-created human thought process; basically, a machine with the intellectual abilities of a human. Like humans, it would have the ability to learn, to reason, to speak, and to think. The closest thing created around this idea is Kitano's PINO, also known as the humanoid robot. It has taught itself how to walk! Isn't that cool?

Now this wasn't easy to achieve. Computers have the ability to solve problems, but it can only solve problems it was programmed to solve. It doesn't have any analytical ability like the chess computer. AI robots would have to gather input, store its data, and run different possible actions and predict the best outcome for the situation.

The field of artificial intelligence is amazing. The feeling of making something behave like a human is unreal, as if it can only happen in movies. After this, maybe we can make Ted real and resurrect Frankenstein!

Friday, November 15, 2013

History of Computer Science: The Human Computer

binary number
We get our names from our parents. When something new is discovered, it is usually people who name the new object or event. Being in a technological era, computers are used a lot of industries and in homes. As important as it is, have you ever wondered where the word "computer" got its name? It is actually quite interesting. In fact, if you think about it, the word "computer" is very similar to the word "compute," which means to "to determine by calculation; calculate."

Let's start from an earlier time before computers ever came to be. There was a man, Gottfried Wilhelm Leibnitz, who developed logic into a binary system that we know of today; it was more of a mathematical system than an English system. Like the Boolean, started by George Boole, it is the same as something being true and something being false. The 1 represented true and the 0 represented false. This idea was used in real work situations. For example, it was used in punch cards that workers used to sign in and sign out of their work shift during the industrial revolution.

human computer
Soon after, before computers became electronic, computers were actually clerks that performed computations. Many of these computers were women at the time. Many of these women having a math degree, they worked in different areas such as in government and in research facilities. More mechanical devices were made, and computers were then known as computing machines that did the job of a human computer. These computers performed much faster than human computers. Throughout time, mechanical computers became were the analog kind, then the digital kind, and now the computer architecture it is today.

Computer programming and computer scientists could not have existed if there were no computer to use in the first place. The computer, from human to machine, is definitely an important part of computer science history.

Sunday, November 10, 2013

History of Computer Science: The Really Early Days

abacus
Have you ever seen something or heard something and thought to yourself: "I wonder how they made that" or "How did that ever get started?" I have. Looking at the current technology that we have available right now, I have wondered about a lot of things such as when the first computer was built, how the Internet became what it is, and how the computer language started. Being in the computer science field, how it all started has also crossed my mind.

Computer science is defined as "the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information."

When we study computer science, we deal with a lot of computations and algorithms. In fact, one of the origins of computer science were tools that were used to help in computations such as the abacus, which were used by the Sumerians. The mechanical analog computer was also a part of the revolutionary progress of computer science.

As mathematical computations increased, machines were built to help these computations; mechanical devices were built to help factor integers. As more theory and questions were asked, more and more devices were built to help figure out the answers such as the Turning machine.

Calculations needed for war helped give birth to one of the first electronic digital computers. With the help of IBM, the Mark I electromechanical computer helped calculate ballistics in World War II.

In the 1960's, computer science became its own field.The first computer science department was formed at Purdue University in 1962. Operating systems were also starting to become more advanced. Fred Brooks, at IBM, designed System/360, "a line of different computers with the same architecture and instruction set, from small machine to top-of-the-line." Edsger Dijkstra, at Eindhoven, designed the THE multiprogramming system. At the end of the decade, ARPAnet, a precursor to today's Internet, began to be constructed.


Starting from a simple device like the abacus to an electronic device like the digital computer, who would have thought that this would lead to the development of computer science.