I was talking to a group of students yesterday. All of them took a programming test and some of them did well.
My chat with them (individually) was to find out their conceptual understanding. I asked a few of these questions (and some variations):
- Why do we need functions in C?
- Given a choice between using C, Java and Python, why would you use one or the other?
- What are some of the differences between C and Java?
For software practitioners, these questions are really easy. But for students, they are not. To answer them, they need to have a better understanding or programming and some practice in solving a few non-trivial problems.
On the positive side, most of these students were willing to think and give these questions a try. So I started a Whatsapp group for them on Thinking Programming. I plan to post a couple of questions each day to kindle their thinking.