Date changing algorithm
Yes, a date field is a good idea. For the following example I'm using a date field "startDate" in a global set "classes". And for the classes entries I set up a dropdown field "weekday" with values "monday, thuesday, ..." and localized labels "Montag, Dienstag, ...".

Twig's date_modify filter does all the calculation for this:

{% set weekday = entry.weekday %}
{% set classDate = classes.startDate|date_modify(weekday) %}

{{ classDate|date('l, F j, Y') }}