Code is found here.
TOM: Three guys go out fishing. They decide in advance that whatever they catch, they’re going to divvy it up equally.
So, they finish fishing for the day. They pull back into port, and they’re going to sleep on the boat overnight. They’re going to get up in the morning, divvy up the fish, and go home. In the middle of the night, however, one of the guys has a severe hemorrhoidal flare-up, and he’s got to get to the drugstore right away to buy some stuff.
TOM: So, he goes to take his third of the fish, and he notices that the number that they caught is not divisible by three, unless he throws one of the fish overboard. So, he throws one of the fish overboard, takes his third and leaves. A few hours later, in the middle of the night, another guy wakes up with horrible stomach pains. He’s gotta have the Kaopectate. So he goes to take his third of the fish, and he notices, interestingly, the same thing — he can’t take a third unless he throws one fish overboard. He throws one fish overboard, takes his third, and goes home.
Third guy gets up in the morning and figures the other guys are still sleeping. So he figures, “I’ll just take my third, and I’ll go. When they wake up, they can take their third.” However, he realizes that he can’t take a third. It’s not divisible by three.
RAY: Sonja Henie’s…! What are the chances of that?
TOM: He throws one fish overboard, takes his third, and leaves. Question: What is the smallest number of fish by which this little scenario could have taken place?
Can this happen with 4 people? 5? 6? n?
Learning to code is like learning a natural language: it’s quite hard and slow at first but if you hold on just a little then suddenly you start seeing all the beauty of it and you’re amazed about how you suddenly understand what’s going on and how you can create stuff (designs or sentences) on your own!
Start with something that you understand and then, VERY IMPORTANT, play with it! What I often do is that I simply add a new instruction, maybe one from a previous tutorial or sketch, to see how that will look. Or I wonder: what will the animation look like if I use very big ellipses? or very small ones? only 10 of them? or a 1000? What if I make this rectangles rotate a bit? A lot? What if I apply this to only some of them?
So it’s not just about staring at the screen. It’s also about sketching stuff on paper and about letting yourself be inspired by everything you see in the world around you! Look at all the patterns that you can see in the natural world, day in and day out: in buildings, on the sidewalks, in the behaviour of cars or birds. Try to recreate those patterns. Start with the easy ones, obviously 😉 Look at Muslim art, lots of patterns to be found there. Or the art of Sol Levitt. And go to art museums, they can be very inspiring anyway!
RAY: There are a lot of our little children who listen to Car Talk who are studying Algebra, so I thought I would ask them to simplify the following polynomial.
TOM: Let me just write this down. OK.
RAY: X plus A in parentheses times X minus B in parentheses times X plus C in parentheses, dot, dot, dot, times X minus Z.
Here’s how it looks: (X+A)(X-B)(X+C) … (X-Z)
TOM: So you want —
RAY: I want the product of all those terms.
RAY: This puzzler is from a fellow named Jerry Olsen. Ed and his two sons, Biff and Skip, have been hired to paint the floor of a merry-go-round. They want to make sure they measure the floor area exactly, because they don’t want to buy any extra paint. The carousel, of course, is a circle. Here’s the catch: In the middle of the carousel is a smaller circle, which contains all the machinery for the carousel.
TOM: An annulus, in other words.
RAY: Exactly. It’s a ring we’re dealing with. Ed tells Biff, “We need to know the area of the carousel, including the area of the big outer circle that we’re going to paint and the area of the inner circle where there’s nothing but the machinery. “Once we have the areas of both circles we can subtract the inner circle from the other circle and we’ll know how much paint we need.”
Biff goes to the carousel and says to himself, “I can’t do this. All the machinery is in the middle. I can’t get to the center to measure the diameter.” He thinks, “I’ll cheat. The old man will never know!” Biff measures a straight line from one edge of the carousel to the other edge, not going through the center.
TOM: In other words he’s going to make what’s called a chord of the big circle.
RAY: Right. Any line that goes from one edge of the circle to the other that isn’t a diameter is a chord. As luck would have it, the tape measure touches the inner circle, or in geometric terms, is tangent to the inner circle at one point.
Biff returns to his dad and says, “I couldn’t do what you wanted me to do. I got this measurement and it’s 70 feet.” The old man administers a swift dope slap. He says, “How the heck are we going to figure this out. We don’t know either diameter.”
The other brother Skip says “I think I can figure it out. ”
Can he or can’t he?
(This is a crosspost from my weekly photo site.)
The Introduction to Computer Programming Class had a Skype Q and A with Jason from Dark Sky (Dark Sky is an iOS weather app, check it out, it’s fantastic. They also make the great weather site forecast.io.) Super nice guy, I just emailed and asked, and it was scheduled a day later. Great experience for these kids.
Here’s some student responses to the prompt: “What blew your socks off? What’d advice/stories/information was surprising?”
- When how he told that if you really want to learn something. you need to be able to do it on your own time
- I think it is motivational that someone who is successful had a hard time and still does sometimes and still does what he wants to do.
- I thought it was really interesting when he talked about “reverse engineering” video games, and that was how he learned trigonometry. But now that I think about it, it isn’t surprising that it was easier for him to learn something difficult while immersing in something he was passionate about.
- The most surprising fact was that he wrote 45,000 lines of code to make the app originally, and then he modified it to do more, but only required 8,000 lines of code. I also really liked how he encouraged people to go on their own and explore other programs by themselves.
- What I guess what surprised me the most was how he compared computer programming to dance or singing or art. Going into this class I perceived computer programming as a very technical and systematic subject…that everything is by the book. While this may be true… talking to the developer brought to my attention that computer programming can be largely reliant on self discovery and self error.
- I was shocked when Jay told us how long it took to create his app and how many lines of code it required (45,000).