I tried to find some guidelines in the forum about how to help students who are asking for help with their homework.
It may be useful to have this information in a very visible place on the site?
In the past week have noticed a couple of instances of students asking for help with homework assignments BUT without showing any code or attempt at the code. I’m not sure how helpful it is for experienced coders to solve a student’s coding problem in its entirety without explanation. Nor is it ethically responsible.
Its generally agreed that we should not be helping people with homework here, and often its easy to spot especially when they make no attempt at coding anything. Handing out free code in any case only hurts them in the long run, copying a piece of code is not the same as researching an algorithm, testing out variations and coming up with the most appropriate solution. But I’m sure they’ll learn that in the real world.
My suggestion is to add a tab at the top of the site titled “For Students” which would direct them to a page with a checklist of things they need to consider when approaching how to solve their coding homework. This is just a rough idea, but it might go something like this:
What is the main point of this assignment?
What algorithm(s) has my teacher recently gone over in class that may be relevant to solving this project?
Can I draw out on a piece of paper what the final visual solution might look like?
Is it a static sketch, or one with animation?
Set up the basic document and include the basic shapes that will appear in the project.
Now return to the forum with your question and the code you set up in the previous step.
(There are likely additional items that could be added to the list to optimize its guidance potential.)
When a student (without accompaying code) asks for help on the forum they can be directed by any forum member to this “For Students” page.
I recognize that a version of this appears on the site on the Tips and Guideline pages.
But I think a more structured (ie “how-to” checklist) student-centric page may be a way to help students use the forum properly. And for potential helpers to refer to before providing assistance.
As I said above, this is a rough idea. And am curious what other forum members think.
Thanks for this discussion – lots of really great ideas.
Project Guidance is a subcategory – homework posts could appear in Processing, Processing.py, p5.js, Android, etc., and we probably don’t want to pool them all together or create a Homework subcategory for every single one.
Most students do not read the FAQ or browse top-level links/tabs. They arrive to a post via a Google search, use the search bar and browse past answers, then create a new post directly.
I like the idea of adding things to the FAQ. I could also imagine us adding something to new
For example, top level FAQ entries (these is an outline / sketch, not the proposed final language):
Is it homework?
Explains basic policies:
homework questions should be identified as homework
no asking for or offering complete solutions if this is against the assignment.
posts that receive help will not be taken down, and answers belong to the community – no deleting / hiding help as a form of cheating
if you want general advice without code, please say so explicitly
Do you have the right to post this code, or does it belong to your company / team? Posts that receive help will not be taken down, and answers belong to the community – so if you don’t want the code to be public, don’t make it public.
We could add new post template text that contains a warning. That could be something as simple as:
<!-- For homework questions, please see site FAQ -->
I’m not sure if a comprehensive attempt at pedagogy (e.g. thinking about algorithms, paper prototyping, etc.) belongs on the forum menu. We can make posts with guides of all kinds, but I think the top level should focus on policies and point towards existing resources (of which there are many). If there are Guidelines on how to do Processing homework, we could link them from the FAQ – I love the idea of such a guide.
At the same time I don’t want to assume that our ideas about pedagogy are true for every student. Some teachers / classes may disagree with us and we don’t want to presume or present information in an authoritative way that will confuse their students.
A few thoughts in response (please note bulk of new content is nearer end of post:
Also a good point. I didn’t know what the common navigation path into the forum is. So as you note it wouldn’t have much effect to create another top-level tab.
This is great idea! IMHO
Warning template is great. I like this too, IMHO
I see your reasoning and agree.
Regarding pedagogy, I definitely understand concerns of its potential to work to cross purposes. To mitigate, I wonder if:
At the head of such a guide, it might state something to the effect (note this para below is very rough):
There are often several ways to solve a coding problem. The following guide is a list of general tips to help students define and break down their homework question into more manageable parts. View these tips as a supplement to the information your teacher has taught in class. It is not meant to replace the guidance of your teacher.
Guideline list of tips would begin following the disclaimer…
Or, if you want to completely stay away from a tips list. Perhaps a page that only includes:
A comprehensive list of resources which would have a descriptive sentence or two of what the resource is and then a link to the source. (I am more inclined to click on links when I know beforehand where the link is going to lead. Also faster to decide which link to pursue first.)
Could a “Homework” tag be implemented so that moderators could tag a question as such, that would then give people a heads up before they post answers?
This tag could (no idea if this is feasible) also cause all answers that contain code require a moderator to approve first, thus stopping them getting free solutions after others had warned them that they needed to attempt it themselves.
Currently I believe (?) that the forum doesn’t have a tag system, only categories.
Even if there was a special tag we could use (an interesting idea!) there is also bit of a chicken and egg problem. We don’t have a number of moderators / admins doing a quick first pass on all posts – so we don’t have people who can flag everything in a first pass. Instead, we need to trust that regulars who give answers build consensus around best practices whenever they happen to get to a question, which is sometimes in 5 minutes and sometimes in 7+ days… and flag things that are soliciting / cheating on homework.
A single topic such as “Processing Forum Guidelines and Frequently Asked Questions (FAQ)” that could be pinned at the top of each category. Pinning all three is a bit too much for members and a single post that references important links would be more compact, welcoming and not too intrusive.
It should be a requirement to read the FAQ before using the forum. You also get a badge for it.
Consistency amongst members on how we advise the community (especially new members) about the FAQ and guidelines.
My preference is to direct them to the existing guidelines and continue to work on those to meet the needs of the community.
Yes!! I agree!
Coincidentally I’ve been thinking about this too – visibility / find-ability of how to best use the site. I didn’t know about the guidelines pages until you posted them in your links above. And have referred to them since.
In terms of site navigation, it’s a bit of a hassle to have to find this thread and then scroll down to the links, and finally click through to the guideline pages. It really should be a one-click process to find this kind of – HOW TO USE THIS SITE – information. IMHO.
Following up on some of these suggestions after looking into site settings:
It looks like there is an option “Pin topic globally: forever” that could be applied to the FAQ.
There is also a “Banner Topic” type, which creates a really splashy ask for someone to read the site orientation. This could be something pointing at the FAQ and other resources, or it could be the FAQ itself – it looks like this:
My reservations about placement in the FAQ, there will be that extra step to navigate to find. And still not obvious to new users that they should click through to find it.
If you have something that says START HERE, the language has a stronger directive quality thus making for a better click through – directing users to an obvious, central location with all of the how-to-use info in a single click.
So a bit of backtracking, I just read completely through your links about the banner topic pop up…
That’s a great idea!!
I think it’s better than the START HERE page I floated in a previous post.
Glad to see some more serious discussions about this topic. I come here on a regular basis and only use this place for help when I am drastically stuck and even then sometimes I feel bad because I’m not just looking for code. But the nature of programming also means that you don’t know what you don’t know, and therefore when a problem arises sometimes you are left with only intuition to solve a problem, which at the start will not be of much use.
However we then have people who come here posting questions expecting code for homework assignments.
The issue is that it may cause people who are not necessarily familiar with the forum to avoid it, as genuine questions may be considered homework help!
We should really be encouraging people to post questions and for others to reply with code as that ultimately I feel is what the coding community should be about.
But is it really possible to know if a questions is homework, unless a lecturer or teacher chimes in, and says hey don’t answer that, thats my homework assignment!
I am not sure that the 3 dots glyph (above, right) is easy to understand; this glyph is usually (see android material design) for settings…
FAQ is not exactly what we are talking about; better could be RULES
Sub category for « RULES» is « ASKING », another one (among others!) « ANSWERING »
Students or not students have to respect these rules
We ll never know why somebody is asking and why
We have to explain to everybody, students or not students that:
a) he has to verify wether this question was already posted (searching the forum)= as for me i am tired out to answer ten times to the same question…
b) he has to verify that the question is not solved by the p5 examples: dont ask for « how to put video » or « what is setup() »
c) he has to be as precise as possible for the hardware context or OS
d) he has to avoid too general questions or tag them « general discussion », or « project guidance »: in these cases he has to know that he will only get general answers
e) If he wants more precise answers he has to show what he has already tried and put his code; if he gets some error he has to put the error code. In any cases he has to provide only the code snippet which generates the error: simplify!!!
When answering the reverse is true
a) dont put complete code if not any code was present in the question
b) dont try to replace some teacher, except for general things (cut your problem in littles pieces and so on) - This community is not designed to replace university!
c) if you put code, add comments.
and this general question: what exactly are we wanting to avoid for students?