A framework is usually a skeleton application that sets everything up for you but doesn't do anything. Like in Visual Studio you can get it to make a Win32 project that creates a window and a menu for you. This is a framework. Nothing important is really happening. Usually teachers give students framework so they can concentrate on the actual implementation of an assignment rather then getting bogged down with the setup.
A wrapper is usually a class or set of classes that "wrap" the functionality of something. Like if you have a Direct3D wrapper, instead of having to call every setup call and create the device and setup the projection matrix you could call a class, lets say CGraphics initialize member function. This function would then call all of the Direct3D calls. Basically it makes it easier for people who don't know Direct3D to use your class and get graphics on the screen. Its a big level of abstraction.
Hope that clears it up a little bit.