you don't need to have a discount column in the cart object for this.
yes.
When you set up the add to cart buttons, one of the cart columns is the ID, each class should have a unique ID.
lets say for example that class ID 22 and class ID 32 should trigger the discount, you would set up the discount rule as:
Triggers:
"Presence of an Item in the cart"
If item "22" "exists" in the cart
AND
"Presence of an Item in the cart"
If item "32" "exists" in the cart
Calculation:
Flat Rate 20
This will discount 20 dollars if both item ID 22 and 32 are added the cart.