SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
CODE KATAS
THE ZEN OF CODING
by /Paul Gower @paulmgower
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
OVERVIEW
What is a Code Kata?
Why Code Kata?
How to get involved in the community.
Let's Code Kata!
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)
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
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
CENTRAL ARKANSAS
CODE KATA
HTTP://CODEKATA.CO
MULTIPLE PHASES
PHASE 1
SUNDAY, AUGUST 25, 2013
Bi-weekly Code Kata posted on Sunday afternoon to the
website
Post your answer following the instructions that will be
listed in the post.
codekata.co
PHASE 2
IN THE FUTURE
Community will rank the best solution
Sponsorship to give the highest voted answer a prize
A regular meetup to Pair-Program Code Katas
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"
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
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
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
THE END
Paul Gower
@paulmgower
paul.gower@gmail.com
http://paulgower.me

Weitere ähnliche Inhalte

Ähnlich wie Code Kata

Bavpwjs1113
Bavpwjs1113Bavpwjs1113
Bavpwjs1113Thinkful
 
Introduction to Java programming - Java tutorial for beginners to teach Java ...
Introduction to Java programming - Java tutorial for beginners to teach Java ...Introduction to Java programming - Java tutorial for beginners to teach Java ...
Introduction to Java programming - Java tutorial for beginners to teach Java ...Duckademy IT courses
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1Ruth Marvin
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basicSara Samol
 
10 aplicaciones - Anais Ortiz
10 aplicaciones - Anais Ortiz10 aplicaciones - Anais Ortiz
10 aplicaciones - Anais OrtizAnaisOrtiz
 
Hasktut
HasktutHasktut
Hasktutkv33
 
A Grand Unified Theory of Software
A Grand Unified Theory of SoftwareA Grand Unified Theory of Software
A Grand Unified Theory of Softwarevinod_dinakaran
 
Spring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good partsSpring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good partsJarek Ratajski
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?Colin Riley
 
Learn Programming with Livecoding.tv http://goo.gl/tIgO1I
Learn Programming with Livecoding.tv http://goo.gl/tIgO1ILearn Programming with Livecoding.tv http://goo.gl/tIgO1I
Learn Programming with Livecoding.tv http://goo.gl/tIgO1Ilivecoding.tv
 
Application development with Python - Desktop application
Application development with Python - Desktop applicationApplication development with Python - Desktop application
Application development with Python - Desktop applicationBao Long Nguyen Dang
 
Dear compiler please don't be my nanny v2
Dear compiler  please don't be my nanny v2Dear compiler  please don't be my nanny v2
Dear compiler please don't be my nanny v2Dino Dini
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?Syed Hassan Raza
 
1. Introduction Original - To Print
1. Introduction Original - To Print1. Introduction Original - To Print
1. Introduction Original - To PrintChinthaka Fernando
 
IS L04 Programming Language
IS L04 Programming LanguageIS L04 Programming Language
IS L04 Programming LanguageJan Wong
 

Ähnlich wie Code Kata (20)

Bavpwjs1113
Bavpwjs1113Bavpwjs1113
Bavpwjs1113
 
Introduction to Java programming - Java tutorial for beginners to teach Java ...
Introduction to Java programming - Java tutorial for beginners to teach Java ...Introduction to Java programming - Java tutorial for beginners to teach Java ...
Introduction to Java programming - Java tutorial for beginners to teach Java ...
 
Programming
ProgrammingProgramming
Programming
 
python.pdf
python.pdfpython.pdf
python.pdf
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
 
Java
JavaJava
Java
 
10 aplicaciones - Anais Ortiz
10 aplicaciones - Anais Ortiz10 aplicaciones - Anais Ortiz
10 aplicaciones - Anais Ortiz
 
Hasktut
HasktutHasktut
Hasktut
 
Introducing Small Basic.pdf
Introducing Small Basic.pdfIntroducing Small Basic.pdf
Introducing Small Basic.pdf
 
A Grand Unified Theory of Software
A Grand Unified Theory of SoftwareA Grand Unified Theory of Software
A Grand Unified Theory of Software
 
Spring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good partsSpring, CDI, Jakarta EE good parts
Spring, CDI, Jakarta EE good parts
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
Learn Programming with Livecoding.tv http://goo.gl/tIgO1I
Learn Programming with Livecoding.tv http://goo.gl/tIgO1ILearn Programming with Livecoding.tv http://goo.gl/tIgO1I
Learn Programming with Livecoding.tv http://goo.gl/tIgO1I
 
Application development with Python - Desktop application
Application development with Python - Desktop applicationApplication development with Python - Desktop application
Application development with Python - Desktop application
 
Dear compiler please don't be my nanny v2
Dear compiler  please don't be my nanny v2Dear compiler  please don't be my nanny v2
Dear compiler please don't be my nanny v2
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?
 
1. Introduction Original - To Print
1. Introduction Original - To Print1. Introduction Original - To Print
1. Introduction Original - To Print
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
IS L04 Programming Language
IS L04 Programming LanguageIS L04 Programming Language
IS L04 Programming Language
 

Mehr von Paul Gower

Be a Better Remote Agile Team Member
Be a Better Remote Agile Team MemberBe a Better Remote Agile Team Member
Be a Better Remote Agile Team MemberPaul Gower
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityPaul Gower
 
Codestock 2019 - Build a successful remote agile team in three easy steps!
Codestock 2019 - Build a successful remote agile team in three easy steps!Codestock 2019 - Build a successful remote agile team in three easy steps!
Codestock 2019 - Build a successful remote agile team in three easy steps!Paul Gower
 
WeRockIT 2019 - Build a successful remote agile team in three easy steps!
WeRockIT 2019 - Build a successful remote agile team in three easy steps!WeRockIT 2019 - Build a successful remote agile team in three easy steps!
WeRockIT 2019 - Build a successful remote agile team in three easy steps!Paul Gower
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityPaul Gower
 
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018Paul Gower
 
Unit Testing in Umbraco
Unit Testing in UmbracoUnit Testing in Umbraco
Unit Testing in UmbracoPaul Gower
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
Code Review: How And When
Code Review: How And WhenCode Review: How And When
Code Review: How And WhenPaul Gower
 
Code Review: How and When - Tulsa TechFest 2016
Code Review: How and When - Tulsa TechFest 2016Code Review: How and When - Tulsa TechFest 2016
Code Review: How and When - Tulsa TechFest 2016Paul Gower
 
Write Code For The Future You - Tulsa TechFest 2016
Write Code For The Future You - Tulsa TechFest 2016Write Code For The Future You - Tulsa TechFest 2016
Write Code For The Future You - Tulsa TechFest 2016Paul Gower
 
How and When To Code Review
How and When To Code ReviewHow and When To Code Review
How and When To Code ReviewPaul Gower
 
Write Code For The Future You - LR Tech Fest
Write Code For The Future You - LR Tech FestWrite Code For The Future You - LR Tech Fest
Write Code For The Future You - LR Tech FestPaul Gower
 
Windows 8 and Phone App Development
Windows 8 and Phone App DevelopmentWindows 8 and Phone App Development
Windows 8 and Phone App DevelopmentPaul Gower
 

Mehr von Paul Gower (15)

Be a Better Remote Agile Team Member
Be a Better Remote Agile Team MemberBe a Better Remote Agile Team Member
Be a Better Remote Agile Team Member
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase Productivity
 
Codestock 2019 - Build a successful remote agile team in three easy steps!
Codestock 2019 - Build a successful remote agile team in three easy steps!Codestock 2019 - Build a successful remote agile team in three easy steps!
Codestock 2019 - Build a successful remote agile team in three easy steps!
 
WeRockIT 2019 - Build a successful remote agile team in three easy steps!
WeRockIT 2019 - Build a successful remote agile team in three easy steps!WeRockIT 2019 - Build a successful remote agile team in three easy steps!
WeRockIT 2019 - Build a successful remote agile team in three easy steps!
 
Overcoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase ProductivityOvercoming Delay: How The Best Developers Increase Productivity
Overcoming Delay: How The Best Developers Increase Productivity
 
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018
Rub Some DevOps on your NodeJS app in Azure - ScenicCitySummit 2018
 
Unit Testing in Umbraco
Unit Testing in UmbracoUnit Testing in Umbraco
Unit Testing in Umbraco
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Code Review: How And When
Code Review: How And WhenCode Review: How And When
Code Review: How And When
 
Code Review: How and When - Tulsa TechFest 2016
Code Review: How and When - Tulsa TechFest 2016Code Review: How and When - Tulsa TechFest 2016
Code Review: How and When - Tulsa TechFest 2016
 
Write Code For The Future You - Tulsa TechFest 2016
Write Code For The Future You - Tulsa TechFest 2016Write Code For The Future You - Tulsa TechFest 2016
Write Code For The Future You - Tulsa TechFest 2016
 
How and When To Code Review
How and When To Code ReviewHow and When To Code Review
How and When To Code Review
 
Write Code For The Future You - LR Tech Fest
Write Code For The Future You - LR Tech FestWrite Code For The Future You - LR Tech Fest
Write Code For The Future You - LR Tech Fest
 
Windows 8 and Phone App Development
Windows 8 and Phone App DevelopmentWindows 8 and Phone App Development
Windows 8 and Phone App Development
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Code Kata

  • 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
  • 8. PHASE 1 SUNDAY, AUGUST 25, 2013 Bi-weekly Code Kata posted on Sunday afternoon to the website Post your answer following the instructions that will be listed in the post. codekata.co
  • 9. PHASE 2 IN THE FUTURE Community will rank the best solution Sponsorship to give the highest voted answer a prize A regular meetup to Pair-Program Code Katas
  • 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