Algorithmic trading is the act of making trades in a market, based purely on instructions generated by quantitative algorithms. Each algorithm is assumed to have access to current and historical prices of instruments that can be bought and sold, and can perform any computations it wants based on these prices. In many cases, an algorithm will be coded in some programming language and will run as an application that places its own orders, but it doesn't have to do this. For example, a person could put through trades according to the prescription of an algorithm.
(Note: The original meaning of the phrase "algorithmic trading" in the finance industry was different. It simply referred to the act of using an algorithm to split up a large order in order to reduce market impact and thereby improve execution. Such activity is really just a very special case of the more general act of using algorithms to make trading decisions. I believe the original definition is overly narrow, and trivializes the far more interesting trading activities that can be carried out under the control of algorithms. Therefore I much prefer the definition given above. Some people make the distinction by using the phrase process-driven trading, or systematic trading, to describe the general concept defined above.)
Algorithmic trading is carried out by hedge funds and proprietary trading groups, but can also be performed by an individual with a trading account with a broker. All that is needed is a reasonably good computer, a broker (I use Interactive Brokers, but there are many others you could use) and a source of historical data. (I also use Interactive Brokers for this, but they are primarily a broker rather than a data provider, and you can find better sources of historical data, depending on your budget and requirements.) If you want to automate your algorithmic trading, that is, make your computer place orders for you, then you will also need good programming skills and an application programming interface (API) from your broker. The API typically includes libraries and documentation that allow you to connect your own program directly to the broker to automate order-placement, retrieve historical data, etc.
Algorithmic trading is very different from the act of placing trades based on (a) a personal belief that something is over/under-priced, (b) gut-feeling predictions, (c) a compulsive desire to gamble. Most novice traders begin using one or more of these styles, and lose substantial sums of money before stopping. I will refer to trades based on (a),(b) or (c) as discretionary trades. Some people do have the ability to make money using gut-instincts to place trades, but these people have normally spent a lot of time trading and studying the market. It's a very dangerous way to start out a trading career.
For more details, follow the links below.