Good Day!
I am an instructor at a higher learning institution. This will be my first experience with Canvas, but I consider my self very adept at technology in general and have experience with other LMS platforms in general (Moodle, specifically.)
This semester I have been assigned a Introductory Programming course. The material- a Cengage product- includes a number of exercises for each chapter that are each presented in one of three programming languages (C++, Python, and Java). The objectives of each exercise are largely identical, regardless of the language used.
I would like to configure the course in such a way that will allow the students to complete only one of the three languages in each exercise, for credit. I don't wish to grant any sort of "Extra credit" for completing the exercise in *more* than one language. I can envision a few different approaches, but so far all of them have come up a bit short. Heres what I've tried/considered so far:
- Create assignments for all three languages for each exercise with scores. After the due date, exempt all but one language within each group. This seems possible, but i feel like it will make it difficult for the students to assess there progress through the course. I think it could be confusing as well, as it will seem an assignment (the second and third language) is required when in reality, it is not.
- Create a separate module for each exercise, with a assignment for each language. Configure the module requirements so that only one of the assignments must be completed. Really, this doesn't seem much different than the previous option, and I will still need to manually excuse the assignment. Also, this will clutter up the list of modules and I think will be very confusing to a user to differentiate between what included in each Unit.
- Create assignments for all three languages for each exercise, but assign them a maximum points value of zero. When the assignment is due, select one completed language within each exercise, and assign "extra credit". The downside is that I don't see a good way to penalize incomplete work.
- Have the students select a language at the beginning of the course, and leverage the differentiated assignments feature. This would allow for more accurate grading, but would require a lot more engagement (not a bad thing, but creates room for error). <- This feels like the best option so far.
- Settle on just one language for the entire course. Naturally, the limiting nature of this option is undesirable.
- Do not include the exercises as a gradable item. Don't like this option either, for hopefully obvious reasons.
Have I missed a possible strategy, or misunderstanding how a feature works? How would you go about configuring canvas to achieve this or a similar outcome?
Thank you to the community for your input!