6
$\begingroup$

The idea of teaching programming to beginners in pretty simple. But it's the simplest ideas that are most heavily abused. In that spirit, I think we need to monitor the most used tag on the site: . Let's get it cleaned up!

Here is a list of candidates for retagging/tag removal. Anything that has been on this list for a week without objection can and will be retagged. Please only do this retagging if you have the editing privilege so as not to clog up the suggested edits queue. Also, space out edits to keep the home page (relatively) normal.

Feel free to answer this question with objections to this retag effort or to specific questions being retagged. I'd like for a mod to make this post community wiki so that anyone can edit this list, and so it can remain updated and useful. Until then, edit the normal way.

This list should be in the format of:

"[DISPUTED]" Should be put before the question link if there is anyone who disputes the question being retagged. That should also link to an answer to this question disputing the retag.


Update

### Please DO NOT apply the edits until this notice is removed.

The affected questions, and proposed/applied changes, are being tracked in this Google Sheets spreadsheet.

$\endgroup$
3
$\begingroup$

This concept was discussed in chat, and the conclusion that we came to is that must die!

We said that introductory programming must die because based on the name, it isn't clear what the tag is referring to. We agreed that the meaning of the tag should be for lessons introducing new concepts, and so the tag should be rather than . This could also help with people typing "programming" into the tag field and selecting the first option. As it was most elequently phrased:

So instead of what we have now for the questions about introducing something in a specific lesson? - Itamar Green

Source

What is the procedure we suggest to fix it?

We'd have to wait until we have moderators to actually implement this fix, but we should have moderators relatively soon.

We should manually go through the questions, a few a day, and handle those as needed. This would also have the benefit of bumping a few questions to the front every day, which should help to improve quality across the site as more people will take a look at these older questions.

$\endgroup$
  • $\begingroup$ I like it except that I don't think "most of the questions that currently have introductory-programming should get introductory-lesson." Going through them, I only see a small handful that focus on that kind of introduction to a subject. $\endgroup$ – Peter Jun 21 '17 at 16:51
3
$\begingroup$

As of this posting there are 34 questions on list. Having read them, and considered what can be done with them, I've compiled my thoughts for all of them. The main premise being that will die, and therefore, be removed from all of them. I've also identified the few, in my view, that might fit in the proposed tag. They are listed in oldest-first order, in view of the proposal to process them that way. A few also are covered by other tag edit proposals, and are so noted.

Let the games begin.

  1. Using Processing as an entry point in an Introductory Course:

    Answers: 4.

    Suggestion: OP is gathering data to develop a new curriculum. The needed tag is . Not entirely sure that belongs either, it's one possibility for the new courses, but not the only. I think the Processing component of the question is part of an X-Y issue. Answers should be driven by how to evaluate any language for the classroom and course objectives, not just one. Otherwise we end up with the same OP asking the same question with a different language until he finds the one that fits. With generic evaluation guidelines, the answer allows OP to evaluate Processing now, and other languages later, until one does meet his needs.

  2. Should assembly language be taught in an introductory course (or soon after)?:

    Answers: 11.

    Suggestion: This one just needs the dropped.

  3. How can I convey the idea of a programming language vs. a markup language?:

    Answers: 8.

    Suggestion: This one might need but the .

  4. When teaching Web Development, should server or client side come first?:

    Answers: 4.

    Suggestion: For this one programming doesn't even apply to the question. It's about a choice of where to start in presenting the entire web stack. The other tags belong, the is a positive drop..

  5. Recommended IDE for teaching web development to beginners

    Answers: 9.

    Suggestion: Add .

  6. Using microcontrollers in an Introductory course

    Answers: 2.

    Suggestion: Possibly add

  7. Do automatic style hints help students to understand the language they're learning?

    Answers: 1.

    Suggestion: Maybe add , or create . Don't think is appropriate, and even is questionable. Not sure what's in best practices for CS classrooms, but that might apply. is tangential and might be appropriate here as well.

  8. Should I have written tests on basic programming skills?

    Answers: 6.

    Suggestion: Another good place to add the tag, and seems like it could use as well.

  9. How can I teach introduce modern web development in an introductory programming course

    Answers: 1.

    Suggestion: Also drop as not in the question at all. Probably retag with

  10. Explaining basic html structure

    Answers: 8.

    Suggestion: might apply to. This is one of the few candidates for the proposed tag

  11. Database theory (normalization) for beginners (adult education, MS Access)

    Answers: 1.

    Suggestion: Drop and run

  12. Programming languages specifically designed for beginners

    Answers: 11.

    Suggestion: This one almost justifies the tag. Can't think of anything better to add though. Language choice is the real subject of the questions anyway.

  13. How can I maintain interest in front end?

    Answers: 4.

    Suggestion: This one really is , as it already has.

  14. Programming curriculum for senior students (over 50 years)

    Answers: 6.

    Suggestion: This situation is not much different from some undergrad choosing to switch from a fine arts major to a CS major; using the computer is understood, understanding the computer, or programming it is a whole different story

  15. Effectiveness of Parsons Problems

    Answers: 3.

    Suggestion: is enough for this one.

  16. What makes imperative programming easier or harder to learn?

    Answers: 2.

    Suggestion: Seems that would be a possible fit here as well.

  17. Assignments for Introductory Level Processing

    Answers: 3.

    Suggestion: Could add to this.

  18. What program follows “hello, world”?

    Answers: 8.

    Suggestion: Maybe could add to this. Though the OP mentions scaffolding it seems this might be a candidate for the proposed tag.

  19. Excel macro recorder exercises

    Answers: 1.

    Suggestion: Drop as well and add and it seems this might be a candidate for the proposed tag as well.

  20. Assessing programming skills of students under 18 years

    Answers: 2.

    Suggestion: Add (create) or or .

  21. Significant algorithm from CS for DrRacket that emphasize cons, car, and cdr

    Answers: 1.

    Suggestion: is out of place here anyway. Introducing new concepts, yes, but not introducing programming. Could add now that we have that available. It seems this would be a good candidate for the proposed tag.

  22. How can I show the value of best practices?

    Answers: 6.

    Suggestion: Need to also drop now that it's been established that on CSE is about the educational concepts related to classroom management, etc. called best practices by educators, and not coding best practices. Note: This is also in the proposed merge from to

  23. Demographics in Programming Teams in Early CS Courses

    Answers: 2.

    Suggestion: Possible use for as well. Note: This is also in the proposed switch from to

  24. How to respond when students ask “is recursion good practice”?

    Answers: 9.

    Suggestion: and/or seems proper here, probably as well. It seems this might be a candidate for the proposed tag.

  25. How can I incorporate agile development into CS1/CS2 courses?

    Answers: 1.

    Suggestion: Drop and run

  26. How to teach students not to use jump statements

    Answers: 6.

    Suggestion: For better minds than mine to debate, but maybe applies here, as in educational goals served by "forgetting about jump statements altogether." Otherwise it's a good candidate for . Note: This is also in the proposed merge from to

  27. Teaching identifier naming conventions

    Answers: 3.

    Suggestion: Good candidate for adding as well.

  28. The importance of writing understandable code Duplicate

    Answers: 4.

    Suggestion: Drop and run, except that Note: This is also in the proposed merge from to

  29. Justification for an objects-early approach to introductory programming

    Answers: 4.

    Suggestion: Drop and run

  30. Thoughts on copying and pasting code?

    Answers: 5.

    Suggestion: Never was "introductory" as it applies from day one to graduation. Does fit in however, I think. Or, maybe , but that might be a stretch.

  31. What would be a good first choice to teach game programming to beginners?

    Answers: 4.

    Suggestion: applies here.

  32. How is your teaching affected by how you learned?

    Answers: 1.

    Suggestion: I don't see for this one, nor do I see being applicable to the question. It applies to OP, but not the question. might be a better fit. As a side note, the title seems to be at odds with the bulk of the question's text, which seems to be mostly about finding student motivation. OP even admits that while he's self-taught his co-instructor seems not to be. The final two sentences (questions?) do match the title. Frankly, this one might benefit from a little more TLC.

  33. Do you see the “Bimodal Distribution” too?

    Answers: 2.

    Suggestion: In spite of the title applies, and maybe as well. Better minds than mine can address whether or not belongs here, though I suspect it does.

  34. Should unit testing be taught in introductory programming classes? 4 close votes

    Answers: 3.

    Suggestion: I'd add to this one. As an extra warning: This one won't be easy to change. It has had the tag removed once already, and the OP recovered it 2017-06-21 21:52:12Z noting "Added intro-programming tag" for revision #4.

$\endgroup$
2
$\begingroup$

Do we actually have a consensus on why should be used on a question? It seems to be just used as a catch-all, when users can't think of a real tag to use on their question. If there's no real, consistent usage of the tag, it becomes meaningless (like the code-golf tag on PPCG, which is used on around 80% of questions; so the tag means little on its own).

My other conjecture is that it might just be used as people look for a 'programming' tag, since it's the closest match that is reasonable. The tag taxonomy proposed here doesn't seem to be working as intended — isn't even a tag ( is used on one question, but it's less clear whether that's an experience-level tag or just saying 'this is more difficult').

If the experience level tagging isn't going to be used properly, it may as well be removed completely, and just stick with target group tags. Alternatively, the tag could be changed to to see if there's any difference in the amount of (mis)use.

$\endgroup$
0
$\begingroup$

I don't think this is tag clean-up so much as tag removal: should be deleted.

Here is my reasoning (rephrasing what I said in an earlier answer here):

Reading through questions with that tag, I don't see any that were made better or were categorized more clearly because of it. I had one in particular (Raspberry Pi course development) that used it, and looking back, I can see that it added nothing other than useless metadata. I got to the point and summarized it well with and . Plus, introduction to what? To whom? At what level? Can one person's introductory (say at a university level) be another person's advanced (say at a high school)?

If we receive K-8 questions (or even 6-8), this will further muddy the waters. Introductory questions about Scratch for a middle schooler and a CS101 course for CS majors are two radically different "introductions." The tag almost by definition wants for more information. As a result it does less good than harm. It doesn't add to the accuracy of the categorization, and it is incredibly subjective.

Plus, if someone said they had an intro level question and that was the only tag supplied, we'd ask for much more context. The same goes for tags: that tag along would not suffice. Intro has to be supplemented by more specific categories. As a result it cannot stand alone. If it cannot stand alone, as Jeff Atwood's meta-tag post argues, it's not a worthwhile tag.

The tag should go.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .