Slide 1

Slide 1 text

Interested in becoming a better programmer?

Slide 2

Slide 2 text

Interested in becoming a better programmer? Practice!

Slide 3

Slide 3 text

Ruby + Programming Contests Tristan Hume

Slide 4

Slide 4 text

What are these "Programming Contests" of which you speak?

Slide 5

Slide 5 text

What are these "Programming Contests" of which you speak? A programming contest is a timed challenge where you are given a number of problems which you must write code to solve.

Slide 6

Slide 6 text

Secret: Programming contests are actually test driven development in disguise. (With a bit of math and algorithms thrown in)

Slide 7

Slide 7 text

(Very Easy) Example Problem

Slide 8

Slide 8 text

Ruby Solution 8 Lines

Slide 9

Slide 9 text

Programming ContestsMake you better. Make you faster. Make your code faster. Make your code less buggy. Make you smarter.

Slide 10

Slide 10 text

Ruby is a great language to write contests in.

Slide 11

Slide 11 text

Remember that 8 line Ruby solution?

Slide 12

Slide 12 text

Java Solution 34 Lines

Slide 13

Slide 13 text

Q.E.D

Slide 14

Slide 14 text

Ruby - Rails

Slide 15

Slide 15 text

Ruby = Goodies!

Slide 16

Slide 16 text

Ruby = Goodies!

Slide 17

Slide 17 text

My Favorite Methods IO.read Array#combination Array#rotate Enumerable#map Enumerable#inject Array#uniq! Array#flatten Array#sort String#to_i Integer#gcd

Slide 18

Slide 18 text

Other Handy Stuff: Bugless loops VS

Slide 19

Slide 19 text

Other Handy Stuff: Pretty Print

Slide 20

Slide 20 text

TL;DR: Ruby is awesome and you should try programming contests.

Slide 21

Slide 21 text

Some Online Contests You Should Try ● The Google Code Jam. (My personal favorite) ○ Write it in any language. Run it on your own computer. ○ Multiple rounds. Win stuff if you do well. ○ http://code.google.com/codejam/ ● TopCoder ○ Constant online contests with the best in the world. ○ Get ranked and see how your skills compare. ○ http://www.topcoder.com ● Project Euler ○ More practice than contest. Highly math focused. ○ http://projecteuler.net

Slide 22

Slide 22 text

Thank you. (Slides available at http://tinyurl.com/rubycontests)