Algorithmic trading is the automated execution of trading orders using computer programs and models. It aims to minimize costs, maximize fill rates, and reduce execution risk through faster and more reliable execution platforms and more accurate prediction models. Trends driving its growth include market electronification, a desire for anonymity and efficiency, and regulatory changes. Common algorithm types include arrival price, TWAP, VWAP, and MOC models. Areas of concern include lack of visibility, algorithms reacting to each other, and missing the trader's intuition. The process involves developing and testing trading strategies through backtesting before implementing them on execution platforms to trade.