In both of my CS classes, my students are working on final projects. In both, the students choose what to work on. In CS I, the students do a game project just before the final one, and the last two years, many have chosen to extend their game projects by adding graphics or sound and more functionality. In CS II, the students are working on projects submitted by faculty. I love the idea of this, and the students were (are?) excited by it, but in many cases, the work involves concepts or specific contexts that I haven’t taught them at all. And it would be outside the scope of the class to do so.
I’ve tried to provide some scaffolding for them to help them complete the projects, by posting resources on my web site, even giving them some code to work from. What I had envisioned they might do is spend some time finding those resources themselves. What I’m finding is that for some or for some aspects of the projects, the students just don’t even know where to start. Asking a student to figure out how to connect Python, HTML, and a database is a professional level project. There are other similar projects. I like the idea in that these projects are “real”, but I also think I need to do more, provide more “stuff” to help them through.
I’m not entirely sure what that stuff is. It could be videos, handouts, explanations. And how much is too much? Part of the process should be for them to figure out how to start finding what they need and to not rely on me to give it to them, but if they’re in the weeds, then I should help them out, yes?
When they’re struggling, it sometimes makes me feel like I didn’t teach them enough. And then I step back and realize that I can’t teach them everything and it’s okay for them to struggle a bit. There’s no easy solution, and each student is different. Some need more scaffolding than others. Some need the scaffolding pulled away. Figuring out who needs what is my biggest challenge.