## Garfield Programming Club

For 4/2: from Grant:

Here are some interesting problems to think:

1. Imagine a series of interconnected pipes. Each pipe has a maximum flow rate it can support based on its diameter. Now imagine you plug a water source in at some point and open up an exit at another point. What is the maximum flow rate of water that can be pumped into the system? This is pretty easy in the case of a very simple system, but becomes super complicated in a very interconnected system. Draw some examples in MS Paint for the real Grant experience. Once you’ve thought about it for a while, check out these pages:
https://en.m.wikipedia.org/wiki/Maximum_flow_problem
https://en.m.wikipedia.org/wiki/Max-flow_min-cut_theorem

2. Imagine a series of slot machines. Each machine you put in 1 coin, and with some constant probability p it dispenses 2 coins. You have a row of slot machines in front of you that all have different p-values. You have N coins and are allowed N tries at the row of machines. So if you won every time, you’d wind up with 2N coins, and if you lost every time, you’d wind up with 0 coins. N is much larger than the number of machines. What strategy can you adopt to maximize your winnings? For example, you could put an initial 10 coins into each machine to estimate its payout rate, and then just play the one with the best payout rate for your remaining tries. But what if 10 isn’t a high enough sample size and you accidentally overlooked a machine that would be better in the long run? If you have time, try writing a simulation of this and running different strategies against it to see which strategy is best on average, then read:

https://en.m.wikipedia.org/wiki/Multi-armed_bandit

Now meeting Monday’s after school till about 5pm with Grant, our Amazon.com volunteer who leads students through interesting

Programming Club is a center for computer enthusiasts, programmers and people who aspire to be either of the two. This fantastic club is always accepting new members regardless of programming/computer background. We are avid supporters of Linux, Gnome, and Open Source software in general.

Meeting Activities: At regular meetings we program a variety of different thing in various languages including Python, Java, C, Lisp (and dialects). Furthermore, we are open to and interested in learning new languages to meet the needs of new projects.

Time of meeting: Our official meeting dates are Mondays after school, but students frequently meet in the 115a during lunch as needed.

Upcoming Events & Opportunities:
Are posted on the GarfieldCS.com homepage. If you know any new events please send them to Mr. Bergquist at embergquist@seattleschools.org .  Thanks.

Regular Events each year: