When I was learning about BSpline curves, I created two iOS applications to help me visualize the curves that result from control points and knot vectors. The first application was a BSpline Curve drawing tool. You can lay down control points, experiment with the degree of the curve and edit the knot vector to control how the curve follows the control points.
Screenshots from the BSpline editor
The second application renders a BSpline Surface and uses the iOS accelerometer to allow the user to move the device around the shape to see it from different angles. It reads a surface definition file from a server, so I could edit the table of control points and knot vectors to change the shape.
Screenshots from the BSpline surface viewer