I would suggest one event with custom fields. The dropdown in your screenshot is something that you could do with a custom field, or you could break it down into 2 or 3 custom fields... whatever works best. You can also use Selection Limits to put a capacity on how many people select each option (if needed for your workshops).
You CAN setup the base cost as free, but you do not have to. It will work either way... just depends on what is best for your situation. In cases like this, I think it usually makes more sense to set the base price as free.
Again, thanks for the reply. I just wanted to be sure that there were no "gotchas" (or limitations) when setting up a free event that had add-on custom expenses.