{"@attributes":{"version":"2.0"},"channel":{"title":"Katas","link":"https:\/\/www.codurance.com\/katas","description":"Strengthen your coding skills, improve your ability to solve coding problems and learn from kata solutions shared by Codurance craftspeople.","language":"en","pubDate":"Thu, 10 Jul 2025 09:33:51 GMT","item":[{"title":"Palindrome Radar","link":"https:\/\/www.codurance.com\/katas\/palindrome-radar","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/palindrome-radar\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst%20(KATAS)\/Thumbnails\/Katas_Palindrome_Radar.png\" alt=\"Palindrome Radar\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<h2><span style=\"font-size: 23px;\">Summary<\/span><\/h2> \n<p><span>NASA\u2019s latest radar technology captures shape signatures of flying objects as strings of characters. As everyone knows, UFO\u2019s are shaped like saucers and are therefore symmetrical. If a radar signal string is a Palindrome then it is symmetrical and represents a UFO. A palindrome is a word, phrase, number, or sequence of characters that reads the same forwards and backwards.<\/span><\/p>","category":["Classicist TDD","Beginner"],"pubDate":"Thu, 10 Jul 2025 09:29:49 GMT","guid":"https:\/\/www.codurance.com\/katas\/palindrome-radar"},{"title":"Morning Routine","link":"https:\/\/www.codurance.com\/katas\/morning-routine-kata","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/morning-routine-kata\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail%20%E2%80%93%20Stack.jpg\" alt=\"morning-routine-kata\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>As a forgetful person, I need to remember my morning routine. Because of this, I have created a program that, depending on the time of day, will tell me what I should be doing:<br><br><code>From 06:00 to 06:59 - Do exercise<\/code><br><code>From 07:00 to 07:59 - Read and study<\/code><br><code>From 08:00 to 08:59 - Have breakfast<\/code><\/p>","category":["refactoring","Mocking","katas"],"pubDate":"Tue, 05 Mar 2024 12:05:53 GMT","guid":"https:\/\/www.codurance.com\/katas\/morning-routine-kata"},{"title":"Songbird","link":"https:\/\/www.codurance.com\/katas\/songbird-kata","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/songbird-kata\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Kata%20assets\/Kata_Songbird.jpg\" alt=\"Songbird\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>Inspired by the creative works of Gawain Hewitt: <a href=\"https:\/\/gawainhewitt.co.uk\/\"><span>https:\/\/gawainhewitt.co.uk\/<\/span><\/a>&nbsp;<\/p>","category":["TDD","katas","Test Driven Development"],"pubDate":"Thu, 25 Jan 2024 10:21:11 GMT","guid":"https:\/\/www.codurance.com\/katas\/songbird-kata"},{"title":"Shopping cart","link":"https:\/\/www.codurance.com\/katas\/shopping-cart-kata","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/shopping-cart-kata\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_Shopping%20cart%20%E2%80%93%203.jpg\" alt=\"Shopping cart\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<h2>What do we want to build?<\/h2> \n<p>We are building a shopping cart for an online grocery shop.&nbsp; The idea of this kata is to build the product in an iterative way.<\/p>","category":["Mocking","Test Driven Development","Outside-In TDD","Object Oriented Design"],"pubDate":"Sat, 28 Jan 2023 09:00:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/shopping-cart-kata"},{"title":"ATM machine","link":"https:\/\/www.codurance.com\/katas\/atm-machine","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/atm-machine\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_ATM%20Machine%20%E2%80%93%204.jpg\" alt=\"ATM machine\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<h2>Iteration 1<\/h2> \n<h2>Business rules<\/h2> \n<p>We want to build an ATM machine and the first thing we need to do, is to create the software that will breakdown which bills (notes) and coins to give you when you are trying to make a withdrawal.<\/p>","category":["Mocking","Test Driven Development","Object Oriented Design","Beginner"],"pubDate":"Sat, 21 Jan 2023 09:00:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/atm-machine"},{"title":"Stack","link":"https:\/\/www.codurance.com\/katas\/stack","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/stack\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail%20%E2%80%93%20Stack.jpg\" alt=\"Stack\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>In computer science, a stack is a famous abstract data type that provides certain operations on a collection of elements. Stacks have a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Stack_(abstract_data_type)#History\">long history<\/a>, dating back to the very first computer programs and were first documented in 1946.<\/p>","category":["Data Structures","Algorithm Design","Beginner"],"pubDate":"Sat, 14 Jan 2023 09:00:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/stack"},{"title":"Santa's Allotment","link":"https:\/\/www.codurance.com\/katas\/santas-allotment","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/santas-allotment\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_Santa%E2%80%99s%20allotment.jpg\" alt=\"Santa's Allotment\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>Santa wants to increase the number of Christmas trees that he has in his allotment.&nbsp;&nbsp;<\/p>","category":["Test Driven Development","Competent"],"pubDate":"Sat, 17 Dec 2022 09:30:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/santas-allotment"},{"title":"Let's build a Christmas tree","link":"https:\/\/www.codurance.com\/katas\/build-a-christmas-tree","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/build-a-christmas-tree\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_Let%E2%80%99s%20build%20a%20Christmas%20tree.jpg\" alt=\"Let's build a Christmas tree\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>There is a shortage of Christmas trees this year, however, you can help! In the absence of real trees, Santa is going to teach the children of the world the magic of the console.<\/p>","category":["Test Driven Development","Beginner"],"pubDate":"Sat, 10 Dec 2022 09:30:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/build-a-christmas-tree"},{"title":"12 Days of Christmas","link":"https:\/\/www.codurance.com\/katas\/12-days-of-christmas","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/12-days-of-christmas\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_12%20days%20of%20Christmas.jpg\" alt=\"12 Days of Christmas\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<p>The goal of this Christmas themed kata is to print the lyrics to the 'Twelve Days of Christmas' song, with the smallest amount of lines possible.<\/p>","category":["Test Driven Development","Beginner"],"pubDate":"Sat, 03 Dec 2022 09:00:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/12-days-of-christmas"},{"title":"Guess the random number","link":"https:\/\/www.codurance.com\/katas\/random-number-kata","description":"<div class=\"hs-featured-image-wrapper\"> \n <a href=\"https:\/\/www.codurance.com\/katas\/random-number-kata\" title=\"\" class=\"hs-featured-image-link\"> <img src=\"https:\/\/www.codurance.com\/hubfs\/Katalyst\/Thumbnails\/Katalyst_Thumbnail_Guess%20the%20random%20Number%20%E2%80%93%202.jpg\" alt=\"Guess the random number\" class=\"hs-featured-image\" style=\"width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;\"> <\/a> \n<\/div> \n<h2>What do we want to build?<\/h2> \n<p>We want to create a small game. The game consists of a player trying to guess a random number. The player will have three attempts to guess the number. If the number is correctly guessed, then the player wins, if not, the player loses.<\/p> \n<p>If the player fails to guess the number, the game must notify the user if the number it's higher or lower.<\/p> \n<h2><\/h2>","category":["Mocking","Test Driven Development","Object Oriented Design","Beginner"],"pubDate":"Sat, 24 Sep 2022 07:00:00 GMT","guid":"https:\/\/www.codurance.com\/katas\/random-number-kata"}]}}