Algorithmic trading uses computers programmed to automatically place trades based on predefined rules. It allows for trading at speeds and frequencies that are impossible for human traders. The algorithms are based on factors like timing, price, quantity, or mathematical models. Algorithmic trading provides benefits like executing trades at optimal prices, placing trades instantly, reducing risks and costs. High frequency trading is a major part of algorithmic trading and attempts to capitalize on ultra-fast order placement across multiple markets. Algorithmic trading is used by different market participants and different trading strategies can be implemented through algorithms. Technical requirements and areas of concern for algorithmic trading are also discussed.