My girlfriend is currently in her final year in college, and is following a first-years programming course, learning C++. The class is graded partially from homework exercises. She is struggling with them, mostly at a point "I don't know where to start" or "I don't know how to approach this." So I try to help her with that, but I don't want to end up doing her work for her.
One recent example was the introduction of classes in C++. They were supposed to create a class that simulated game of life. After pointing her to representing the world as a boolean matrix (array of arrays), the thing she got stuck on was printing the world (or a part of it) in the console.
So there are a couple of questions she might have:
- How do I do X? How do I create an instance of a class? How do I define a member variable?
These are all questions that would be easy to look up. As such I am hestitant to rightout give the answer.
- How would I approach this? How do I print the world?
cout << world;
prints the pointer, so what should I do instead? How do I account for the edge of the world?
If I were to directly answer these questions, I would essentially be making the assignment myself. So this is not something I want to do.
So instead I try to ask pointed questions, questions that should put her somewhere closer to the solution.
How can we print things to the console? In which direction does the cursor move? So where do we want to start reading from
world
?
I find it hard however to ask these questions clear enough to not get a puzzled look, but also vague enough to not flat-out give the answer.
Afterwards, I feel like I have essentially dictated the entire assignment. Additionally, I feel that if I were to delete the entire assignment, she would struggle very much to reproduce all of it on her own.
Question
How can I improve my help in such a way that I don't end up doing the assignment for her?