The NCSS challenge is in full swing now with so many students having a go! Teachers have been asking for advice on how to encourage their students to try for a level higher than the one they are very confident in… like maybe having a shot at the tournament?
This post is about the kinds of attitudes we see and how to be the cheerleader to encourage your students to reach for the next stage in their learning and develop that “can-do” culture.
“I’m not good enough”
The tournament is a competition, so often students who are ready to take on a challenge find this aspect quite daunting. It’s important to know that it is impossible to write a bot that will win every game. We’re all just learning and some of us are further along the learning pathway than others, so students shouldn’t judge their bot against the very best bots but rather to judge their bot against the other ones they submit to the tournament. Tell students to “try and beat your own previous bot”. It’s a much less daunting task than trying to be on the top of the leaderboard! It’s important that students know that only their first name and state is viewable in the bot tournament so they can feel free to experiment without being identified.
Some students may decide not to compete in the tournament altogether that’s fine. However, encourage them to submit their bots once because they will earn 25% of the marks for just submitting a bot. It’s perfectly reasonable to work their way through the activities and not care about the bot’s performance in the tournament, they might miss out on some of the experience but they’ll get very good at writing tests for their own bots.
“I did functions in Intermediate but not like this”
Yes. Once students have done Intermediate they should have handled functions before but they will look quite different. The reason they have been given such a huge function is that the Grok team have written the game engine for playing the game. This is great for students! It means that all they have to do is handle the cards they have and the ones they want to play — it would be incredibly hard to write the whole game in the timeframe. It does mean that things are going to look a bit different but there is a lot of information explaining this to you and your students. Additionally, during the competition, helpful tutors will answer any questions students have to help them get started. It seems huge at the beginning but they can break it up into doable pieces and chip away at the smaller things first — that’s called decomposition, it’s an awesome skill. Encourage them to start making the first function and when it works they’ll be hooked — and they can use their own function later when they are building their bot.
“Why are there so many things in my code window already?”
The code window for the tournament is quite different to the other challenges. Grok give students a function that exists already and they need to write helper functions that make it work. There is a lot of text to read here but most of it is really helpful. The green text tells you all about the parameters (variables that are particular to that function), what kinds of data to expect and how that data is useful. Encourage students to read the text and work out how it’s helpful to them. Always remind them of the tutors, they are there, there are no bad questions and if students don’t understand what they’re looking at they can definitely ask.
“I don’t know how to win the game myself, how can I make a bot to do it?”
That’s a great question. We recommend students play the game, firstly as a one-card only game and then making it more complex. Playing is a really great way to see what works and what doesn’t and try to come up with a strategy that you could teach a computer. Remember, no bot wins every game so students shouldn’t expect to come up with a perfect algorithm, just try out things that might work. The videos will help with this too. Tell the students not to focus on winning if they are struggling to understand; focus on playing. See how many rounds they can go making legal moves with their friends, list what moves they can make each time it’s their turn. They’ll start to see patterns and it will make them more confident to try things with the bot.
“I haven’t started yet and it’s week 3, that means I’ve missed too much.”
Grok Learning have worked really hard to make the Challenges less time critical. The challenges are still run over 5 weeks but no week is “closed” until the end. Students can jump in at any time and just do as much as they can do before the deadline at the end of the Challenge. Your students can definitely make a 1 card bot in the time, and possibly a 2 card bot. What a great start! Even though the tournament doesn’t continue after the challenge students can still work through the questions and mark them and get automated feedback. If students want help catching up, tutors are available throughout the whole 5 weeks, ready and willing to help with literally any question.
“OMG week 1 is HUGE”
We agree. It’s tricky to give students all the rules for the game Big Two. However all the information about how functions work and the data that they will need is here in Week 1. Also, at the end of the week, there are a whole lot of helpful slides covering functions in Python that we think will be useful to the students. If you break it down this way then not all of the slides are necessary and it’s not so overwhelming. Don’t let your students freak out and run away.
“Debugging is hard, I don’t know what to do”
The tournament is very different to the other NCSS Challenges; instead of all the tests being written for students they have to come up with their own. That’s not an easy step. Students should work through the kinds of things that are good to put into the tests, show them the information available in the tournament to show how their bot is performing and use that to design their own tests. There is an excellent slide on writing doctests in the end section of week 2’s notes. Encourage your students in the tournament to read the details of the bots matches to get an insight into what went right or wrong.
Learning hard stuff can be an uncomfortable experience, but it’s super fun when you start to master new and hard material and students should be encouraged to try to move to the next level. There is no requirement to be excellent straight away, we just hope that every student can be incrementally better than the last time they attempted a challenge.
Encourage students to take the mindset of solving a problem rather than winning a comp. They can break the moves into problems that need solving as a way to get them started. Once they have a bot that works, even in the most basic sense, and they submit it and have it play some rounds that is when the competitive nature should kick in. They can make changes and see how that effects rather than try and make the best bot first time and rage quit when it sucks.
Make a working, basic bot. They are capable enough! They can do it! Start simple. Then upgrade it to be awesome.