My husband and I have teamed up to teach our daughter (11) how to program, and while it may put us in the "bad parent" category in some people's eyes, learning to program is not optional. Fortunately, she seems to be interested and enjoying herself.
There are a whole host of valuable skills that learning to program teaches you; critical thinking and analytical skills, problem solving and planning, organizational skills, collaborative skills, reading comprehension and writing skills (documentation).
These are all extremely important skills to have and they all seem to be severely lacking from her public school education, where the emphasis is on teaching to the test and following a less than ideal Common Core curriculum. Going to school isn't actually teaching her how to think to any serious degree.
It's teaching her how to intuit answers to standardized questions, certainly a useful skill to possess, but she also needs to be tackling problems too big to just "do" so that she can understand the thought processes and develop the methods to do complex thinking.
Actually being fluent in a programming language and writing a piece of software is something that I see as a sort of side effect; useful, certainly, but not the main goal.
Are there other ways to foster this sort of "big picture' thinking? Sure, but programming is what we know, so it's the vehicle we will use to teach her the skills we feel she needs to have, but isn't getting.
There are a whole host of valuable skills that learning to program teaches you; critical thinking and analytical skills, problem solving and planning, organizational skills, collaborative skills, reading comprehension and writing skills (documentation).
These are all extremely important skills to have and they all seem to be severely lacking from her public school education, where the emphasis is on teaching to the test and following a less than ideal Common Core curriculum. Going to school isn't actually teaching her how to think to any serious degree.
It's teaching her how to intuit answers to standardized questions, certainly a useful skill to possess, but she also needs to be tackling problems too big to just "do" so that she can understand the thought processes and develop the methods to do complex thinking.
Actually being fluent in a programming language and writing a piece of software is something that I see as a sort of side effect; useful, certainly, but not the main goal.
Are there other ways to foster this sort of "big picture' thinking? Sure, but programming is what we know, so it's the vehicle we will use to teach her the skills we feel she needs to have, but isn't getting.