learn-co-curriculum / github-to-canvas

A gem for converting and aligning GitHub content to Canvas LMS lessons
Other
19 stars 10 forks source link

Solution button option #10

Open hoffm386 opened 3 years ago

hoffm386 commented 3 years ago

The Problem

This is the current solution code guidance provided to DS students:

We provide solutions for each Lab to help you get unstuck when all else fails. Learning how to persevere and solve coding problems is one of the most important skills you will learn as a data scientist! That said, sometimes it's not worth your time or energy to keep trying to solve a problem, especially if the problem ends up being something minor like a typo. In general, if you're not making any progress with a Lab after 10-20 minutes then you should reach out to peers for help. If that doesn't get you unstuck, then look at a solution. Read just enough of the solution to get unstuck, then continue on your own.

Be careful about when & how you use these! You may be tempted to go look at the solution immediately when you don't know what to do or your code isn't working. You won't always be able to look up a correct solution to problems you encounter during a technical interview or on the job, so don't let yourself fall into the habit.

To access a Lab solution, click the GitHub icon to go to the Lab's GitHub repository.

From the GitHub repository, click the branch dropdown to switch to the solution branch.

Students often do not remember or internalize this information about how to find the lab solutions, and this is not caught until a 1:1 with a teacher significantly later in the program.

Proposed Solution

Instead we ideally would have a link that would go straight to the solution branch, next to the GitHub link and Issue link

This should be an option (defaulting to being turned off) in the CLI so that Curriculum can decide for each lesson whether the solution should be easy to access

ihollander commented 3 years ago

I think this is a great suggestion - I'm not sure whether there was a formal decision when we moved off of Learn to not include the a link to the solution code in the Canvas UI, or if it just didn't happen, but I like the idea of building this option into the CLI.

For the SE side we are going to take some time to decide whether or not to include a solution link on assignments as a general practice, so I agree that the default behavior of the CLI should be to not generate the solution link. But if a flag is passed in like this, it would include the solution link in the HTML output (similar to the --forkable flag):

$ github-to-canvas -a -lr --forkable --solution

This change will also require updates to the CSS/JS running on each page in Canvas to style the link. @hoffm386 do you have any thoughts on what the solution link element should look like?