Hey - David from Fullstack Academy. Our students this semester decided to build something awesome around learning to code and March Madness and codersbracket.com is the result.<p>It's March Madness brackets but instead of picking teams, people can write code that will automatically generate their bracket for them. Our students have raised some money and are donating it all to code-learning organizations (CodeNow, Code.org, GirlsWhoCode).
Could you add the last couple years' brackets and stats as an algorithm tester?<p>Would be cool to run your algorithm against previous years to see how it would have done so you can refine it before submitting.<p>I'm imagining coloring the final bracket green/red for correctly/incorrectly predicted games in the simulation.
This is awesome! I went to UConn, so I'll obviously hard-code a UConn win there. But I heard on NPR today that, historically, a 12 seed has a 50% chance of upsetting a 5 seed in the first round. If I'm biasing towards the higher seeds everywhere else, that means my code looks like this:<p>function (game, team1, team2) {<p><pre><code> var winner_team = "Connecticut";
if (team1.name == winner_team) {
team1.winsGame();
} else if (team2.name == winner_team) {
team2.winsGame();
} else if (team1.seed > team2.seed) {
team2.winsGame();
} else if (team2.seed == "12") {
team2.winsGame();
} else {
team1.winsGame();
}
}</code></pre>
Awesome idea... one quick feature suggestion -- on the bracket, itself, it'd might be nice to highlight any upsets (e.g. in bold and/or red or something like that).<p>Typically, variance in brackets is based on the upsets picked... so by making those more visible, it would make it easier for a human to more quickly digest the content.<p>Just a thought. But regardless, <i>awesome</i> idea. Well done!
This is <i>really</i> cool and it got even better when I found the documentation. I was hoping there would be a way to access rounds and seeds to try and put some more coding effort into a No.12 vs No.5 first round game.
For the Data Scientists out there:
<a href="http://fivethirtyeight.com/interactives/march-madness-predictions/" rel="nofollow">http://fivethirtyeight.com/interactives/march-madness-predic...</a>
> Coder's Bracket is the product of an internal open-source project at Fullstack Academy.<p>so, is there source available?<p>Regardless, very cool concept and execution.
This is a super neat idea. Thanks so much for making it!<p>Some small comments:<p>I found the tutorial video painfully slow, but maybe you're targeting beginning programmers. All I was looking for was-- what's the language, what's the api.<p>The determining function could easily be a pure function. I.e., it could designate the winner by returning true, or false, or an enum/constant.<p>Actually, I think I would prefer this API:<p>function (team)
{
return team.off_reb * team.win_pct;
}<p>And then play the teams by calculating the scores for each team and comparing them. But then of course, you can't have different scores depending on the opponent. I wouldn't use that information, but perhaps others would.
This is awesome. Where are the data sources coming from for this? For free throw percentage, etc. I'm assuming this wasn't manually gathered as the teams were just announced yesterday and it'd be a hassle to do it so quickly.
I had this idea for multiple years and never finished the project. I started it in Python, then 2 years later re-wrote it in Ruby. Since someone else finally implemented it, you should name it after my project: March Nerdness :)
Would also be cool to be able to include more detailed data. There's some useful data points exposed at <a href="http://madness.io" rel="nofollow">http://madness.io</a> including Tempo-free stats and (not advertised) json endpoints, <a href="http://madness.io/teams/uaa.json" rel="nofollow">http://madness.io/teams/uaa.json</a><p>Full disclosure: I released this site a few weeks ago, mostly as a side project. I submitted to Show HN but it didn't get much traction. Might be of use though.
Hey Guys!<p>I just saw this today and got pretty interested. I was interested in implementing a 'weighted' scoring function, but needed a way to save state somehow. I ended up finding a pretty fun solution using the console. It's really fun to play with the weights and see how the bracket changes!<p><a href="https://github.com/hstove/Coderbracket-Weighted-Scorer" rel="nofollow">https://github.com/hstove/Coderbracket-Weighted-Scorer</a>
This is really great!<p>I'd be very interested in the data and the code behind the generator function. I'd love to integrate it with my bracket-generator module (which is very basic and only does lower seed, higher seed, and random currently).<p><a href="https://github.com/tweetyourbracket/bracket-generator" rel="nofollow">https://github.com/tweetyourbracket/bracket-generator</a>
I'm not sure if the 'turnovers'/'turnovers_per_game' is a POSITIVE or a NEGATIVE. Is it that they turn it over that many times? Or they take it away?<p>I'm assuming it's a negative and it really means that turnovers is how many times they actually turn the ball over.
Just as naive but fun to look at:<p>function(game, team1, team2){<p><pre><code> if (team1.rpi > team2.rpi) {
team2.winsGame();
} else {
team1.winsGame();
}
</code></pre>
}<p>I want to custom build from a known index via ESPN but don't if the team objects hold all the stats necessary.
Very nice. I've run a marginally similar site for a few years that I had just decided to sunset (<a href="http://randombracket.com" rel="nofollow">http://randombracket.com</a>). Too much work for about four days of usage :)<p>I'm glad I have your site to use now.