When a student is not in the learning zone, what do you do to get them back in there?
First, I’m going to cover what I look for in an extra assignment or resource to give someone outside of their learning zone. Then I’m going to show a few resources I’ve used previously as a software engineering instructor. I hope these are useful for you and if you have other favorite resources, feel free to email them to me: email@example.com.
What Makes A Great Additional Assignment
The goal of an additional assignment is to move a student from either the comfort/panic zone and into the learning zone. Here's a free guide and template you can use to gauge students' learning zone. Before assigning the student anything, be sure to talk to them about what they are worried about. Many times I’ve talked to students and all they needed was a confidence boost. So, I assigned them a handful of additional problems all within their abilities. The answer is not always material that pushes a student further along. In general, this is what I look for in a great additional assignment or resource:
Confidence Booster. Make sure the first couple of problems you assign are within the student’s current level of understanding. Learning is hard, boost a student’s confidence before challenging them.
Self-Guided. Adding in customized materials for students makes it hard to manage that student in addition to the rest of the class. Make your life easier by finding resources that are as self-guided as possible. This doesn’t mean assigning easy assignments, just make sure they are well written and preferably have a built-in mechanism to provide additional support.
Well Defined. All teachers are crazy busy. It can be tempting to assign some broad, ill-defined assignment that didn’t take much effort to create to get a student moving forward. Sadly, this doesn’t work. Beginners in any field often lack the experience to make educated guesses on what to do when the directions aren’t specific enough. The extra effort put into finding a great assignment for the student will pay dividends in reduced questions down the road.
Manage Student Workload. You just gave a student more work, how are they supposed to get it done? Provide guidance if there are any assignments you could have them skip. I find advising students to skip a day-long group project a great way to manage workload.
Balance passive work with active work. Too often when a student is struggling, I see teachers assign additional reading or videos to watch. While this may be a first step in assisting students, it’s not the final step. To develop lasting change for a student, they need to both learn more, and put that knowledge into practice. Reading additional materials can feel good and temporarily move a student back into the learning zone, but demonstrated practice validates that the student knows what they say they know. Without that validation, students often just return to the panic zone because they never actually learned the material.
Resources for Software Engineering Instructors
Here are some of my favorite libraries of resources to assign students.
If a student just needs more coding practice these are amazing. They are very simple, don’t require a CS background, and as the author mentions, get progressively harder. One of my favorites is List,Strings number 19.
There are a lot of great assignments here. Make sure that you specifically tell the student which assignments to do as this list can be a bit overwhelming.
https://github.com/florinpop17/app-ideas. Stay away from any of the Cipher ones. Those require too much explaining for the student to understand what to do. Also, you’ll have to explain what a user story is to some students
https://github.com/karan/Projects. This one is nice because it also has solutions. Be a bit careful as some of these projects are way too complicated for beginners.
I hope this post was helpful for you and if you have any that you’d like to share please email me!