Bioconvection is a process whereby a suspension of microscopic cells in a fluid cause macroscopic self-reinforced plumes. These patterns are caused by the overall upswimming of cells that are heavier than the fluid, causing an unstable density gradient. The overall upswimming is caused by a variety of tactic responses: geotaxis, gyrotaxis, and chemotaxis. This dissertation presents a mathematical model and numerical method that couples discrete cells, their tactic responses, and fluid dynamics. The full incompressible Navier-Stokes equations are solved in the presence of a suspension of motile particles, and, when applicable, a diffusing and reacting substrate. Long-time behavior of this complex, non-linear system is examined