Answers.Body: <h2>I would advise against codewars to be used by the students on their own.</h2>
  <p>(A) Codewars is intended to be used to <em>improve</em> your skills, like in a sparring or training a kata. Meaning, the basics have to be taught prior to this.</p>
  <p>(B) Codewars makes use of higher-level concepts like writing tests. That is overwhelming for beginners to understand and keep track of.</p>
  <p>(C) Chosing a fitting exercise is not always easy, because quality of the katas vary. Some are even erroneous. A beginner is not able to discern those neceessarily. This can give the impression, that the students are &quot;unable/too dumb&quot; to understand the task, increasing frustration, not enthusiasm.</p>
  <p>Just check <a href="https://www.codewars.com/kata/53369039d7ab3ac506000467/discuss/javascript" rel="nofollow noreferrer">the discussion page on the first kata</a> you linked, to see what I mean. The students might return &quot;True&quot; but only &quot;true&quot; is acceptable. Such katas are not gauranteed to be transparent and encouraging. Mostly they are very specific and railroading, contains errors and make it necessary to do &quot;counter-intuitive&quot; things to &quot;solve&quot; the kata in order to get the points.</p>
  <p>(D) Codewars gives feedback in terms of  points, but this can also lead to frustration and feeling of being left behind, if some students solve more of them than others or the threshold for beginners is too high to begin solving things on their own.</p>
  <p>(E) Codewars also has functions that give feedback about style, formatting, clever solutions etc. This is like a social platform where the students are faced against people who scrutinize them (or their code). It is not always a healthy and helpful environment to get such feedback.</p>
  <p>(F) Consider the age of your students. Are they younger than 16 (18, I would recommend)? - Codewars legal terms state that the minimum age to be eligible to register is 16 years-old.</p>
  <p>What you can do in my opinion is of course let Codewars inspire <em>you</em> for planning exercises for your students. You might even put together a collection of those to use as additional exercise for the students. I mean in printed form though, or as pdf, downloadable from some site they have access to.</p>
  <p>Don't mention Codewars, don't give them a link to it.</p>
  <p>Don't give up the controlled environment of a classroom when teaching beginners. They need supervision and the possibility to ask questions and feel safe to try things and make mistakes.</p>
  <p>The pace of progress should be controlled by the teacher at the beginning and being tailored to the students.</p>
  <p>None of that is given if you send them to Codewars all on their own!</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-12T16:33:20.933Z
Answers.LastActivityDate: 2024-08-12T16:46:05.077Z
Answers.LastEditDate: 2024-08-12T16:46:05.077Z
Answers.UserDisplayName: Antares
Answers.Body: <p>i tried this already, and honestly, teaching using exercises is really a hit or miss. if the students like doing the questions, then the entire year will be fun, if they think of the questions like homework, then it's like your class is just homework and homework with nothing else to do. from my experience, it's best to use project based learning instead of question based. i like using <a href="https://youtu.be/rfscVS0vtbw?si=hEc9K7t4ju7Dy5-y" rel="nofollow noreferrer">this video</a> to explain the complicated stuff, and after they learn some amount of things, give them a fun project to work on. this is a bit safer than question based learning, but i only tried question based learning twice and never did it again, so it might work for you.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-10-28T02:28:13.830Z
Answers.LastActivityDate: 2023-10-28T02:28:13.830Z
Answers.UserDisplayName: ori raisfeld
Body: <p>I'm currently doing my teacher preparation in Germany and next year I have to teach programming in python to high school students. The students only have 90 min of computer science every week and the contents of these courses are variables, functions, input and output, for and while loops and conditionals.</p>
  <p>My idea is to use exercises on codewars for this course, because the students get a immediate feedback and are motivate to get some points.</p>
  <p>My idea is to start with using python as a calculator to compute something simple. Then write simple functions like <code>square</code> to extend the calculator. Then introduce other types like strings and booleans and write more simple functions.</p>
  <p>Then I will introduce conditionals to solve problems like this:
  <a href="https://www.codewars.com/kata/53369039d7ab3ac506000467" rel="nofollow noreferrer">https://www.codewars.com/kata/53369039d7ab3ac506000467</a></p>
  <p>One of my problem is that <code>else</code> and <code>elif</code> are not really necessary here.</p>
  <p>After this I will teach variables, <code>print</code> and <code>input</code> to make some interactive programs.
  For example I want to make an interactive program that uses the solution for this kata
  <a href="https://www.codewars.com/kata/5672a98bdbdd995fad00000f" rel="nofollow noreferrer">https://www.codewars.com/kata/5672a98bdbdd995fad00000f</a>
  to play &quot;Rock, Paper, Scissors&quot;. I think it is necessary to explain the difference between return and print here.</p>
  <p>After this I will introduce <code>for</code> loops and use it to print the numbers from o to 100 or something similar. Then I will teach the accumulator pattern to solve katas like this <a href="https://www.codewars.com/kata/57a049e253ba33ac5e000212" rel="nofollow noreferrer">https://www.codewars.com/kata/57a049e253ba33ac5e000212</a></p>
  <p>In the end I will introduce <code>while</code> loops, because it is the most difficult concept.
  The students can solve katas like this with while loops: <a href="https://www.codewars.com/kata/563b662a59afc2b5120000c6" rel="nofollow noreferrer">https://www.codewars.com/kata/563b662a59afc2b5120000c6</a> and
  <a href="https://www.codewars.com/kata/5286b2e162056fd0cb000c20" rel="nofollow noreferrer">https://www.codewars.com/kata/5286b2e162056fd0cb000c20</a></p>
  <p>What do you think about that. I already found a lot of good exercises on codewars but I'm not sure if this is a good approach.</p>
  <p>Can you please give me feedback about this idea?</p>
  
Tags: <programming><curriculum-review><lesson-order>
Title: Use codewars in class
ThreadText: # Use codewars in class
  
  (Asked by: username_0 on 2023-06-10)
  
  I'm currently doing my teacher preparation in Germany and next year I have to teach programming in python to high school students. The students only have 90 min of computer science every week and the contents of these courses are variables, functions, input and output, for and while loops and conditionals.
  
  My idea is to use exercises on codewars for this course, because the students get a immediate feedback and are motivate to get some points.
  
  My idea is to start with using python as a calculator to compute something simple. Then write simple functions like `square` to extend the calculator. Then introduce other types like strings and booleans and write more simple functions.
  
  Then I will introduce conditionals to solve problems like this:
  <https://www.codewars.com/kata/53369039d7ab3ac506000467>
  
  One of my problem is that `else` and `elif` are not really necessary here.
  
  After this I will teach variables, `print` and `input` to make some interactive programs.
  For example I want to make an interactive program that uses the solution for this kata
  <https://www.codewars.com/kata/5672a98bdbdd995fad00000f>
  to play "Rock, Paper, Scissors". I think it is necessary to explain the difference between return and print here.
  
  After this I will introduce `for` loops and use it to print the numbers from o to 100 or something similar. Then I will teach the accumulator pattern to solve katas like this <https://www.codewars.com/kata/57a049e253ba33ac5e000212>
  
  In the end I will introduce `while` loops, because it is the most difficult concept.
  The students can solve katas like this with while loops: <https://www.codewars.com/kata/563b662a59afc2b5120000c6> and
  <https://www.codewars.com/kata/5286b2e162056fd0cb000c20>
  
  What do you think about that. I already found a lot of good exercises on codewars but I'm not sure if this is a good approach.
  
  Can you please give me feedback about this idea?
  
  **Tags:** programming, curriculum-review, lesson-order
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2024-08-12. Score: 1
  
  ## I would advise against codewars to be used by the students on their own.
  
  (A) Codewars is intended to be used to *improve* your skills, like in a sparring or training a kata. Meaning, the basics have to be taught prior to this.
  
  (B) Codewars makes use of higher-level concepts like writing tests. That is overwhelming for beginners to understand and keep track of.
  
  (C) Chosing a fitting exercise is not always easy, because quality of the katas vary. Some are even erroneous. A beginner is not able to discern those neceessarily. This can give the impression, that the students are "unable/too dumb" to understand the task, increasing frustration, not enthusiasm.
  
  Just check [the discussion page on the first kata](https://www.codewars.com/kata/53369039d7ab3ac506000467/discuss/javascript) you linked, to see what I mean. The students might return "True" but only "true" is acceptable. Such katas are not gauranteed to be transparent and encouraging. Mostly they are very specific and railroading, contains errors and make it necessary to do "counter-intuitive" things to "solve" the kata in order to get the points.
  
  (D) Codewars gives feedback in terms of points, but this can also lead to frustration and feeling of being left behind, if some students solve more of them than others or the threshold for beginners is too high to begin solving things on their own.
  
  (E) Codewars also has functions that give feedback about style, formatting, clever solutions etc. This is like a social platform where the students are faced against people who scrutinize them (or their code). It is not always a healthy and helpful environment to get such feedback.
  
  (F) Consider the age of your students. Are they younger than 16 (18, I would recommend)? - Codewars legal terms state that the minimum age to be eligible to register is 16 years-old.
  
  What you can do in my opinion is of course let Codewars inspire *you* for planning exercises for your students. You might even put together a collection of those to use as additional exercise for the students. I mean in printed form though, or as pdf, downloadable from some site they have access to.
  
  Don't mention Codewars, don't give them a link to it.
  
  Don't give up the controlled environment of a classroom when teaching beginners. They need supervision and the possibility to ask questions and feel safe to try things and make mistakes.
  
  The pace of progress should be controlled by the teacher at the beginning and being tailored to the students.
  
  None of that is given if you send them to Codewars all on their own!
  
  
  ---
  
  ### Answer by username_2 on 2023-10-28. Score: 0
  
  i tried this already, and honestly, teaching using exercises is really a hit or miss. if the students like doing the questions, then the entire year will be fun, if they think of the questions like homework, then it's like your class is just homework and homework with nothing else to do. from my experience, it's best to use project based learning instead of question based. i like using [this video](https://youtu.be/rfscVS0vtbw?si=hEc9K7t4ju7Dy5-y) to explain the complicated stuff, and after they learn some amount of things, give them a fun project to work on. this is a bit safer than question based learning, but i only tried question based learning twice and never did it again, so it might work for you.
  
  
  ---
  
  