2
$\begingroup$

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?

$\endgroup$

2 Answers 2

1
$\begingroup$

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 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!

$\endgroup$
0
$\begingroup$

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 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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.