Programming Homework
Homework is a way to reinforce material learned in class, and it allows parents to engage in a two-sided discussion about programming with their child.
Small programming exercises are assigned after each class and are due before the next class. Each week, before leaving the class, the teacher and the child discuss what programs the child would like to do for homework and the teacher sends a message to the student listing his or her suggested homework for the week. It is ideal if the child spends 60 minutes weekly on homework in the beginner level and 90 minutes weekly in the higher levels.
Homework is based on concepts learned in class and example programs that we write, run, modify and explore in class. The child can take a look at the Notes in each folder or the example programs to get started with the homework. If needing more help with a particular concept or homework exercise, the child can email Mrs. Dash following these steps. Verbalizing the question the child has about a concept or the error from a program’s output in a message and communicating back and forth with the teacher to arrive at the program solution is key to reinforcing the concepts.
It can be tempting or instinctive for the parent to help the child with a program that is not running correctly, get it to work and submit a perfect program. The drawback with this approach is that the child loses out on the learning that is achieved by writing a message about the program’s error, and modifying the program based on input from the teacher. Teachers are trained to slowly nudge the child towards the solution rather than provide the answer right away. What would be invaluable from the parent is asking the child open-ended questions about the concept, example programs, and the homework:
- What does this program do?
- What does the user input?
- Which is the trickiest part of the program?
- How can this concept be used in real life or at school? Or, what are examples of this concept from real life?
- If you could write a program of your own, what would you make it do?
Learning to code is like learning any other skill such as Math Olympiad, gymnastics, or basketball. After the initial exposure and gratification of seeing a program’s output instantaneously, beginner coders need some structure to continue it. Regular time spent on programming homework and communicating with the teacher during the week ensures that students do not get overwhelmed and that they continue to remain engaged in learning how to code.