This is a tool for teaching simplex and branch & bound methods. For simplex method, it comes with several examples including degeneracy and cycling, and allow the user to dictate how to pivot. For branch and bound method, it is desinged to interact with the user to explore all possible branch and bound trees. The user can also load a problem from a text file or simply type in a model directly. The format is very simple and very similar to the LP format, see the packed-in examples.