SynthEdit is probably the easiest way to create a working VST plugin while getting the chance to write low-level DSP code. SynthEdit can be extended with custom C++ modules. You could write a module containing your custom DSP code to satisfy your course requirements while using SynthEdit for the GUI and the other VST 'glue' type code. Writing DSP code is only one small part of building a VST plugin from scratch.
If you must write a VST plugin and can't use SynthEdit or similar environments I think the next easiest way would be C++ and JUCE. I don't use either but AFAIK most plugins are written in C++ and JUCE is often praised.
Other VST framework options exist such as VST.NET or Delphi ASIO and VST Library but these are less widely used and you'll likely be more on your own if you run into problems.