I am going to be teaching an Intro to Computer Programming class next year in High School. I am looking for examples of motivating problems to give the kids. It is easy to come up with something everyone hates, but there seems to be certain problems whose solutions are interesting enough to gain and keep attention, and whose solutions are hard enough (but not impossible) that there is real pride when the solution is found. I am looking for problems that require for their solution learning how to use various programming tools or ideas, from complete beginner (loops, if-then controls, variables, arrays) to beginning OOP.
Can you please tell me of computer problems you had to solve (lol - not bugs, not OS updates....) when learning to program that you really remember as being motivational? Please include which language (BASIC, Pascal, C, C++) or simply what type of language (Spaghetti, Procedural, Object-Oriented).
For example: my "become a geek" moment was in 7th grade when my math teacher challenged the class to figure out 2^64 - EXACTLY. Yes, we all grabbed our calculators (as he knew we would) and got an answer, but we then had a discussion on rounding errors, digits of accuracy, etc. This was back in 1980, so clearly what he was expecting was for us to do the multiplying by hand. Being stubborn and having just learned BASIC on an Apple I or Apple IIe (can't remember which one we had at that time), I was determined to figure it out with a program. It took over 4 hours - multiples of what it would have taken to do it by hand... - but I finally got it perfect so that it showed commas and leading zero's where it needed to. The very first thing I did when I downloaded Chipmunk Basic (Old-style BASIC compiler for Mac - in preparation for my class) was to replicate this program (this time in just 30 minutes, lol). It was amazing to me that, some 33 years later, I could still remember the approach, the problems encountered, and the solutions to those problems. As a teacher, I would call that problem a "significant learning moment" but just because it was significant for me doesn't mean it would be significant for anyone else. So.... I need to know what sort of problems created significant learning moments for all of you, so I can present multiple problems to my class.
Thank you in advance for your help!
James
Can you please tell me of computer problems you had to solve (lol - not bugs, not OS updates....) when learning to program that you really remember as being motivational? Please include which language (BASIC, Pascal, C, C++) or simply what type of language (Spaghetti, Procedural, Object-Oriented).
For example: my "become a geek" moment was in 7th grade when my math teacher challenged the class to figure out 2^64 - EXACTLY. Yes, we all grabbed our calculators (as he knew we would) and got an answer, but we then had a discussion on rounding errors, digits of accuracy, etc. This was back in 1980, so clearly what he was expecting was for us to do the multiplying by hand. Being stubborn and having just learned BASIC on an Apple I or Apple IIe (can't remember which one we had at that time), I was determined to figure it out with a program. It took over 4 hours - multiples of what it would have taken to do it by hand... - but I finally got it perfect so that it showed commas and leading zero's where it needed to. The very first thing I did when I downloaded Chipmunk Basic (Old-style BASIC compiler for Mac - in preparation for my class) was to replicate this program (this time in just 30 minutes, lol). It was amazing to me that, some 33 years later, I could still remember the approach, the problems encountered, and the solutions to those problems. As a teacher, I would call that problem a "significant learning moment" but just because it was significant for me doesn't mean it would be significant for anyone else. So.... I need to know what sort of problems created significant learning moments for all of you, so I can present multiple problems to my class.
Thank you in advance for your help!
James