This dissertation discusses the design of a maximum power point tracker (MPPT) for photovoltaic (PV) systems. It begins with an overview of solar cell operation principles and the need for MPPT. It then reviews various common MPPT techniques including hill climbing, incremental conductance, and other methods. The dissertation also examines MPPT performance under partially shaded PV array conditions. It presents mathematical models of a PV module and DC-DC boost converter and simulations of these components in Matlab/Simulink. Finally, it implements and tests a perturb and observe MPPT algorithm in the overall system simulation.