Sunday, December 15, 2013

Scientific Computing: Matlab








"MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrixmanipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C,C++, Java, and Fortran."
History
Cleve Moler, the chairman of the computer science department at the University of New Mexico, started developing MATLAB in the late 1970s. He designed for his students to learn fortran which is a programming language.


People can do all the calculation on Mathlab. Its a very helpful applications for students

Scientific Computing :Computational science



"Computational science (also scientific computing or scientific computation) is concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems.[1] In practical use, it is typically the application of computer simulation and other forms of computation from numerical analysis andtheoretical computer science to problems in various scientific disciplines."


Applications of computational science

Numerical simulations

     There are 2 types:
        Reconstruct and understand known events (e.g., earthquake, tsunamis and other natural disasters).
        Predict future or unobserved situations (e.g., weather, sub-atomic particle behavior).

Model fitting and data analysis

Computational optimization

Sunday, December 8, 2013

Computer Graphics





"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.The interaction and understanding of computers and interpretation of data has been made easier because of computer graphics. Computer graphic development has had a significant impact on many types of media and have revolutionized animation, movies and the video game industry."(Wikipedia).

Since almost everything in a computer is not text or sound, the term computer graphics has been used a lot in the computer field especially in computer science. There are several different things in computer graphic:

1) the representation and implementation of image date
2) the technology to create or use of the images
3) the sub-field in computer science which studies for digital image

the term computer graphic was published in 1960 by William Fetter who is a computer designer. Also in 1961, a student in MIT created the first video game based on this idea.

Today, computer graphic major is very popular and important because most of applications in computers are based on graphic.
There are many image types:
a) two-dimentional
b) pixel art
c) vector graphics
d) three-demensional
e) computer animation

Monday, December 2, 2013

History of Computer

Programming languages are very important in the computer field, especial for computer programming. There are many computer languages exits today. For some people who don't understand computer languages. Its a tool or simply a way for a programmer communicates with computers. Java, C, C#, C++, Python, Ruby... these are the most common languages that every programmers must know about it.

There are also different kinds of languages:

Machine Languages: Machine languages are the lowest level programming language and it's only can understand by the machine. it's set of binary codes and is run by computer.


Assembly language: Its also considered low level language but people can understand them.

High-Level Languages: this is the most common languages. its allows programmers to write programs that are readable.

Thursday, November 7, 2013

Data Structures

Data Structure is the place to store data and information in memory of a computer. There are many common data structure already defined for programmers to use such as list, array, arraylist, tree, graph...Depending on the usages of data, the programmers choose what data structure can fit the best for their program. To help other people who is outside of computer science major, data structure is like a house or a building so you can live or put your stuffs in. You can have many rooms or kitchens you want and can be different from other's houses. But the same idea is you can live or store you stuff in your house. Moreover, your house also has the address to help other people identify where you live, so that they can reach you easily. In computer, data structure is stored in memory, we can find the data which are stored in the structure, we only need to look at the id of the structure.

this is an example of data structure

Also, depending on the types of program, the choice of data structure is very important. For example, some data structures can do a lot faster in sorting and slower in inserting or deleting data. Moreover, you can define your own data structure in your own way. But it takes a bit of time because you have to do all the functions to get access to your data structures. 

Friday, October 25, 2013

hackers are not totally bad



When people hear the word hacker, they often think about the bad thing such as steal money from a bank, steal information from some companies or government… However, that is not true at all, there are 3 types of hackers.
_ BlackHat: this is really bad hacker. They break into a secure network or system to destroy data and make the network unusable. People who are authorized to those network can't have accesses. This type of hackers always join in a group and live in popular countries.
_ WhiteHat: they are considered "good hacker." "A white hat hacker breaks security for non-malicious reasons, perhaps to test their own security system or while working for a security company which makes security software. The term "white hat" in Internet slang refers to an ethical hacker." For example, iPhone unlocked is also considered hacking but its good for the phone users to use different providers.
_ GreyHat: this is the combination of BlackHat and WhiteHat. "A grey hat hacker may surf the internet and hack into a computer system for the sole purpose of notifying the administrator that their system has a security defect." For example, In June 2010, a group of computer experts known as Goatse Security exposed a flaw in at&t security which allowed the e-mail addresses of ipads users to be revealed.
Therefore, the term hacker can understand many different way. they are not totally bad for internet users, they can contribution something which is also good and benefit people

Sunday, October 13, 2013

Open Source is the free market



“Generally, open source refers to a computer program in which the source code is available to the general public for use and/or modification from its original design. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community.” It means that we can get a program or an application from some sources for free. However, because of the free market, there are lacks of concern on the customer services. Users can’t complain anything about the products if there are some problems. Nowadays, there are many open sources such as PHP, JAVA, Python, Mozilla Firefox, Android…These open sources are growing rapidly and become very popular.

Open Source Advantage:
         No cost or a lower cost for licensing "open source" solutions
         Anyone can fix bugs as they are found, and users do not have to wait for the next release.
         Open source is not dependent on the company or author that originally created it. Even if the company fails, the code continues to exist and be developed by its users.
         The companies using open-source software do not have to think about complex licenses

Open Source Disadvantage:

         Open-source software is not being straightforward to use. Open source operating systems like Linux cannot be learned in a day.

         Many of the latest hardware are incompatible to the open-source platform.



The decision of adopting open-source software should not be taken just on the basis of the low-cost involved. It requires a details analysis and understanding of the requirement before choosing a program or application to use.