Do you ever feel like you are just spinning your wheels at work doing the same thing? Maybe you are solving problems but never really increasing your knowledge? The tech industry is constantly changing and evolving and to keep up with the latest technologies can be difficult. Code Kata is a technique that can help sharpen your skills and stay up with new technologies. Whether you are an experienced software developer or fresh out of college, come join us to learn more about how code kata can help you sharpen your skills as a software developer. If you have a laptop bring it! We plan to pair-program through some actual code katas. It will be a fun night of learning and as always a great time to get to know more people in the Central Arkansas Tech Community.
2. ABOUT ME
Computer Science Degree
Alltel Client/Server University -
Developing Enterprise Software for over 12 years
Worked at Big, Small, and now a Consulting Company
Dr. Dobbs Article
3. OVERVIEW
What is a Code Kata?
Why Code Kata?
How to get involved in the community.
Let's Code Kata!
4. WHAT IS A CODE KATA?
( wikipedia)
Code Kata is a term coined by Dave
Thomas, co-author of the book The
Pragmatic Programmer, in a bow to the
Japanese concept of kata in the martial
arts. A code kata is an exercise in
programming which helps a programmer
hone their skills through practice and
repetition.
Kata (programming)
5. WHY CODE KATA?
( Steve Yegge blog)
Contrary to what you might believe, merely
doing your job every day doesn't qualify as
real practice.
practicing programming
( Scientific American article)
Ericsson argues that what matters is not
experience per se but "effortful study,"
which entails continually tackling
challenges that lie just beyond one's
competence.
The Expert Mind
6. EFFORTFUL STUDY
( Jeff Atwood blog)
...tackling problems at the very edge of
your ability. Stuff you may have a high
probability of failing at.
The Ultimate Code Kata
10. LET'S CODE KATA
STRING REVERSE
Imagine a time when you didn't have a framework method that would take a string as input and return the reverse
of it.
TASK
Create a method that takes a string as an input and returns the reverse of the string. Use whatever programming
language you prefer to solve this problem.
INPUT
Use the following items as example inputs:
"Hello World"
"Here we go."
"Code Kata is fun!"
OUTPUT
These are the outputs you should expect from the above inputs:
"dlroW olleH"
".og ew ereH"
"!nuf si ataK edoC"
11. FIZZBUZZ
FizzBuzz is an old school kata that has been floating around the internet for a while. If you have solved this
problem before then we encourage you to use a different language.
TASK
Your task is to write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead
of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five
print "FizzBuzz". Use whatever programming language you prefer to solve this problem.
INPUT
None.
OUTPUT
Output either i, "Fizz", "Buzz" or "FizzBuzz" depending on if the i is divisible by three or five.
REFERENCE
Thanks to for this .Jeff Atwood's blog Kata
12. REVERSED BINARY NUMBERS
Yi has moved to Sweden and now goes to school here. The first years of schooling she got in China, and the
curricula do not match completely in the two countries. Yi likes mathematics, but now... The teacher explains the
algorithm for subtraction on the board, and Yi is bored. Maybe it is possible to perform the same calculations on
the numbers corresponding to the reversed binary representations of the numbers on the board? Yi dreams away
and starts constructing a program that reverses the binary representation, in her mind. As soon as the lecture
ends, she will go home and write it on her computer.
TASK
Your task will be to write a program for reversing numbers in binary. For instance, the binary representation of 13
is 1101, and reversing it gives 1011, which corresponds to number 11. Use whatever programming language you
prefer to solve this problem.
INPUT
The input contains a single line with an integer N, 1 ≤ N ≤ 1000000000.
OUTPUT
Output one line with one integer, the number we get by reversing the binary representation of N.
REFERENCE
Thanks to for this . They have some great puzzles on their site and I'm sure we'll use some
of them as we continue to code kata.
spotify's job site Kata
13. RESOURCES
- our new website to do code katas! (Big thanks goes
to for setting this up!)
- a good website with information about Code
Katas (older but still informative)
by
by
by
- Steve McConnell's website is a great
resources to learn more about how to be a better software developer.
http://codekata.co
@_davidhudson
http://www.codekata.com
The Ultimate Code Kata
Jeff Atwood
Practicing Programming
Steve Yegge
Given I like reading Source Code by the fire with my smoking jacket and
brandy snifer, a list of books
Scott Hanselman
http://www.stevemcconnell.com