Computational fluid dynamics is a subset of fluid mechanics that analyses and incorporates numerical method and algorithms to solve fluid flow problems. It is an increasingly important discipline as there exists many natural phenomena that cannot be formulated with an analytical solution. The Lattice Boltzmann method is a newer class of computational fluid dynamics schemes that simulates fluid flow by solving a discretised Boltzmann equation in conjunction with particle collision models. This thesis shall present a full derivation of the Navier-Stokes equations (the governing equations of fluid flow) under prescribed assumptions, the history and development of the Lattice Boltzmann Method, the Lattice Boltzmann algorithm and verification against benchmark scenarios. The physical problems used as comparison are Poiseuille flow and fluid flow in a lid driven cavity. Additionally, Navier-Stokes equations can be recovered from the discretised Boltzmann equation via the Chapman-Enskog expansion; a complete derivation and justification will also be included.