explain recursion to a non technical person

If you provide us with your mobile phone number we may send you limited texts related to your submission. and our There isnt anything wrong with your doctor using the formal Latin name as long as they immediately translate it into the common Englishor explain what and where the body part is. Since five is not less than or equal to zero, we go to the else statement. The condition that terminates the further call of the function by defining the termination state is called the base condition. (2) You must develop a mental technical-to-non-technical translation device. 2^3 = 4*2 = 8 I ran into an issue with my Dockerfile when using it on a Linux machine, setting a platform fixed the issue, You have read a guide to doing Postgres exports or imports and seen --no-owner, this is what it means. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Like. Heres one aspect of communication skills that is highly valued and easy to improve: your ability to explain a technical subject to a non-technical person. Whenever you need to talk about code or present technical information, always strive to make your audience feel more comfortable. Not surprisingly, many people make regular use of diagrams, models, and other visual presentation techniques to get their point across. I'm writing this post as a part of my journey with MySQL and since joins is a confusing thing in the SQL, I'm explaining this by . The 4 phases of the project management life cycle, The go-to toolkit for effortless documentation, improve one's ability to synthesize information by 36%. But inside the box is many other boxes, that also contain boxes and you don't know which box contains the key. This sounds complicated, and trust me the first time you try and get your head around this it can be tough, but lets work through an example. . How many 8 year olds do you think understand the idea of a function call? Koch's Snowflake is _/\_ defined by "forward, left 60, forward, right 120, forward, left 60, forward. How does your algorithm know which boxes you still have to look though? Both approaches accomplish the same thing. This process is called recursion. Please enable Javascript and refresh the page. When it gets a number the first thing it does is look to see if the number is 1, if it is 1 then we just return 1 since the factorial of 1 is 1. Author didn't tell why he wants to explain the recursion to the child. Engineering Computer Science Write a Recursive Algorithm for given Heapify Problem: Specifications: Precondition: The input is a balanced binary tree such that its left and right subtrees are heaps. Explaining technology in simple terms is an ongoing practice Be realistic about how much you can explain to a non-technical audience with a single presentation or interaction. Let your listener digest. We're a place where coders share, stay up-to-date and grow their careers. So you need an algorithm to find the key! Crucially, recursive functions can propagate information through multiple calls by passing variables around. But it will take work. Recursion can be a pretty difficult topic to grasp, I really didn't get it until I took a LISP class way back in 1986, but hopefully I can explain it to you. This question is an If a negative integer is provided, return -1. Why must a product of symmetric random variables be symmetric? Tail recursion is a form of linear recursion. Interested in Computer Vision. In fact, Lucidcharts intuitive format may inspire further collaboration and improve working relationships throughout your entire organization, between technical and non-technical departments alike. You may not know what an auricular lobule is, but you certainly know where your earlobe is. It is almost always obvious when the lightbulb goes off in your listener. Recursion is the repeated sequential use of a particular type of linguistic element or grammatical structure. We know that the method we have made is recursive (and therefore an example of recursion) because in our method was called factorial and in it we call a method called factorial. The base case returns a value without making any subsequent calls. Improve this answer. Connect and share knowledge within a single location that is structured and easy to search. Beyond that, a programmer who really understands recursion will: . (Or, if you sometimes use CodePen like me, you have to add ?turn_off_js=true to the end of the URL.). Half of the students didn't understand what's this thing and why do we need it. Heres the second way in pseudocode. Another way to describe recursion is linguistic recursion. = 5 * 4 * 3 * 2 * 1. Tara Lagu b : not being or using technical or specialized terminology This is a widely used idea in data structures and algorithms to solve complex problems by breaking them down into simpler ones. Excellent for beginners or if you just need Get started, freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charity organization (United States Federal Tax Identification Number: 82-0779546). So this way of getting information by repeatedly doing the same thing until a condition is met is called Recursion. When you have a lot of data or information to share, resist feeding it to your audience with a firehose. When that happens, we log the number zero and then i is less than or equal to zero. Here is the countdown function again, with a base case: It may not be obvious exactly what is happening in this function. Imagine you go to open a room, but the room is locked. On line number three we take that number and multiply it by the factorial of the number one less than it. This process once again gets on and on until the person before grandma knows how many people are before him and replies the same to you. sacrificing some of the nuances of it. For further actions, you may consider blocking this person and/or reporting abuse. Even if youve explained the technology to people hundreds of times and know the subject matter inside and out, the person youre currently talking to might be hearing about it for the first time. Think of it like reading an architects blueprints. That silence is a vacuum that begs to be filledand that is the time when the listener either confirms that they are up to speed and you can move on or that they are still floundering. As IT and programming departments are moving to the front and center of business strategies, it means the developers and engineers are now faced with the task of conveying complex technical ideas to people without a technical background. Ahhh infinite recursion!! Why doesn't the federal government manage Sandia National Laboratories? k1 = 1 This Quora question is a good start. The stack keeps track of the pile of boxes for you! Learn more about Stack Overflow the company, and our products. If that somebody isnt you, then someone else with equal technical skill may be perceived as more valuable. Some software engineers balk at the idea of speaking with non-technical stakeholders. You might even get a few surprising thank yous for it. It is almost always obvious when the lightbulb goes off in your listener. if he doesn't get fibonacci, then get him to understand the math before explaining the code. recursive: [adjective] of, relating to, or involving recursion. k6 = k5 +1 Sierpinski's Triangle is best for this case. The course (and also this article) is based on the amazing book Grokking Algorithms by Adit Bhargava. Recursion means "solving a problem using the solution of smaller subproblems (smaller version of the same problem)" or "defining a problem in terms of itself". It starts with a number that we want to know, It keeps on multiplying by smaller and smaller numbers. Whenever you share your technical know-how with a non-technical audience, the goal is to be conversational. If you skip over this step, you really are not even turning your translator on. They don't know either, and ask the person in front of them. To better understand the memory allocation of recursive functions, examine the following example. Python. Explain how you only want them to better understand the technology and that their unfamiliarity with how it works is not a reflection of their intelligence. You can use it to create art. A physical world example would be to place two parallel mirrors facing each other. It's too abstract and boring for them. Do you need to explain the difference between client-side and server-side programming? n=0 is the base case, and we simply return 1 if it's true. Let your listener digest. Play Tower of Hanoi using stacking rings every toddler probably has in their play bin. Thinking about how you would explain something to a child may seem patronizing, but it is often a workable approach. These roles are equally as valuable, challenging and lucrative as any other technical role. It's all about representing something in the end. If youre looking for a quick, effective way to visualize and share your content with your organization, theres Lucidchart. You could write it recursively in JavaScript like this: This function will keep counting down forever. Here is what you can do to flag sloan: sloan consistently posts content that violates DEV Community's However, you can alleviate the underlying tension by admitting to your audience that you have no clue how to prepare a financial forecast, how to deal with an angry customer, or how to match their own technical prowess. In my case and your case, we're just outside of the average. In c++ please with clear indentation thank you so much Write the simplest program that will demonstrate iteration vs recursion using the following guidelines - Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which Takes an array of integers and its size as input params and returns a bool such that 'true' ==> all elements of . This course breaks down what recursion is, why you would and wouldn't want to use it, and shows a variety of examples for how it can be used. The prototypical question here is "Can you explain recursion to a five year old", i.e. As a result, you have to maintain the stack and track the values of the variables specified in it. can you explain it simply and describe it with an analogy. Somebody on the team needs to be able to communicate with these stakeholders. (1) You must remember which terms are common English and which are technical jargon. And trust me: They'll understand it in no time. The techniques for executing recursive functions are well-known: each function call has a piece of memory, called a stack frame. A recursive function always has to say when to stop repeating itself. Example of a real world recursion: If you do accidentally run code with an infinite loop you can press Ctrl-C to kill your script. This will give the kid something tangible to grasp at. Immediate members of the team such as Project Managers, Business Analysts and Technical Writers may be highly skilled in their specific jobsbut also not technical. Recursive functions use something called the call stack. When a program calls a function, that function goes on top of the call stack. Otherwise, youll lose their attention and trust faster than you can build it. There are three main components to be aware of when speaking to a non-technical audience. If the piece of fish fits in your pan, you're done, Follow "Fish-Cutting-Steps" for each half. Visual content is easier to learn and more frequently recalled than concepts learned by reading or just being told. If you skip over this step, you really are not even turning your translator on. Can coding just be a job or does it have to effect my whole lifestyle? We provide expert level software, Web and embedded systems development consulting and staffing services along with direct-hire technical recruiting and placements. 2^5 = 2^4*2 In order to understand recursion, one must first understand recursion. If recursion still doesnt seem simple to you, dont worry: Im going to go over a few more examples. This explain pretty much the concept of recursion. Python Recursion. I think this is such an interesting question and you did really well explaining it. At least it will keep the kids quiet until they get bored (or is that the base case?). Recursion in Merge Sort algorithm. As such, tail recursive functions can often be easily implemented in an iterative manner; by taking out the recursive call and replacing it with a loop, the same effect can . Once unpublished, all posts by sloan will become hidden and only accessible to themselves. Just what does the listener already understand? However, it is important to impose a termination . But there is no pile in the recursive approach. I believe it's better for everyone if a software developer uses proper . A Cannabis Product For Every Holiday - Good Idea or No? Well-known Google joke featuring recursion. Just what does the listener already understand? Something like this: Heres one aspect of communication skills that is highly valued and easy to improve: your ability to explain a technical subject to a non-technical person. We can write factorial(n) as n*factorial(n-1), which is the required recursive relation. Any function which calls itself is called recursive function, and such function calls are called recursive calls. The communication skills necessary to present knowledge-specific information to "non-techies" is growing in necessity. This particular concern goes beyond developers giving a presentation to the. Opinions expressed are those of the author. Unflagging sloan will restore default visibility to their posts. Direct Recursion: These can be further categorized into four types:. (2) You must develop a mental technical-to-non-technical translation device. What are the considerations to determine whether you can use recursion to solve a problem? if you want to explain to an 8 year old recursion, use the linear series Lawful Neutral, "Software Engineer" - DevOps/Release Engineer. Remember, information that might be fascinating to you might not be fascinating (or relevant) to your audience. They keep one card for themselves and ask somebody else to add up the rest of the cards And so on down the line (fortunately your school is pretty overcrowded and you have a lot of classmates) until somebody is handed just one card and asked to add "them" up. Godel Escher Bach is an interesting non-textbook that might help you think recursively. Writing in technical terms to non-technical people is an important skill to practice. They can still re-publish the post if they are not suspended. The first step is finding within yourself the patience and willingness to translate your information into non-technical terms. The act of doing this is called recursion. And if those kids are fairly competent iterative programmers, they may also resist the new technique, as they feel perfectly comfortable solving problems without it. The idea used by compilers to optimize tail-recursive functions is simple since the recursive call is the last statement, there is nothing left to do in the current function, so saving the current function's . IMHO an average 8 year old kid's mind is not yet developed enough to comprehend recursion in its entirety - that requires a level of abstract thinking (s)he is not capable of yet. We start by printing out the number 5 using console.log. When discussing technology, its more helpful to highlight what makes it a worthwhile investment rather than how it works. With Lucidchart Cloud Insights, you can generate a cloud architecture diagram and easily narrow down your diagram to the part thats relevant. Do you need to explain the difference between client-side and server-side programming? How does the NLT translate in Romans 8:2? Ill walk through what happens when you call the countdown function passing in 5. Your non-technical person needs to make a decision. Explain concept of 'recursion' to grandma? "You do not really understand something unless you can explain it to your grandmother.". Webdev. It takes some effort as described aboveand a lot of practice! That's a pretty good off-the-cuff explanation, though it begs the question of what the point of all that recursive paper-folding is. DEV Community A constructive and inclusive social network for software developers. The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called a recursive function. With its user-friendly templates and interface, you can easily adapt or edit your process workflows to the demands of your non-technical audience. Possible Duplicate: A medical practice has it's own patient database and appointment scheduling system used by it's admin and medical staff. Likewise, use real life tangible objects to compare with your technical topics. I tried with the Fibonacci Series but i failed. The main purpose for using the recursive approach is that once you understand it, it can be clearer to read. Page 269 happens to be the page of the index containing the word recursion. Think of each slide in the context of how it will guide your audience along the journey from point A to point B.. Think about where your audience is coming from before you craft your technical presentation. Copyright 1995-2023 - STOUT SYSTEMS DEVELOPMENT INC. - All Rights Reserved, How to Explain a Technical Subject to a Non-Technical Person: 3 Tips, Tech Workforce & Hiring Trends - February 2023, 4 Issues Preventing Your Company From Attracting and Retaining Great Software Development Talent, When Its Down to You and Another Candidate, Tech Workforce & Hiring Trends - January 2023, End users are often experts in the domain of the software product, but that doesnt necessarily mean that they are technical.. And when the time comes, they'll understand and know how to apply it. To break the ice, jokingly acknowledge the fact that youre a computer nerd or tech geek and apologize in advance if you get too technical. Recursion when used in a programming or computer science context simply means when a part of your program calls itself. Recursion is a powerful technique that helps us bridge the gap between complex problems being solved with elegant code. Easy peasy lemon squeezy! Avoid getting too deep into a technical hole where no one else is tracking by focusing less on the how and more on the why. Children will remember it better, because it's related to their meal (and thus important to their conciousness) and they can comprehend it. Your three-year-old son pops in from around the corner and lets you know he hid the only key in a box. It demonstrates the concept, that's sufficient. (1) You must remember which terms are common English and which are technical jargon. More simply, recursion has also been described as the ability to place one component inside another component of the same kind. 1. And thanks to recursion, you can finally find the key and get your shirt! In other words, a factorial is just our main number multiplied by the factorial of the next number down from it. When it comes to hiring or promoting a software engineer, communication skills can be used as the tie-breaker between two equally talented people. After that call the recursive function performs nothing. Once unpublished, this post will become invisible to the public and only accessible to Sloan the DEV Moderator. I help moderate content and welcome new users to this platform. Write down the steps to cut the fish so it fits in the pan. This is part of our Simple CS series, Take whatever the topic is, and think of something completely non-technical that they would understand, and explain it to them that way. Why not ask? Can I use a vintage derailleur adapter claw on a modern derailleur. In this tutorial, you will learn to create a recursive function (a function that calls itself). Recursion is a way of doing an operation over a set of values, where each value is related to the previous one, without iterating or using loops. Since many sellers don't mark items as sold, what existing functionality and metrics could you use to determine whether an item has likely sold? Recursion is used in a variety of disciplines ranging from linguisticsto logic. I guessed he is learning programming. But Logo allows you to trivially make neat fractals. So you hatch a plan You keep the top card, and you hand the rest to your classmate and ask them to add up rest of the cards. a : not related to technique or technical skills or subjects Most of the criticism focused on nontechnical aspects of carenot whether the diagnosis or surgery was correct but on the overall experience of the patient. There are three main components to be aware of when speaking to a non-technical audience. If you learn best through books, get the book! This can improve efficiency, as well as make people feel more integrated into the overall business direction. This might be pretty complex internally. Well, instead of asking people to meet your standards, follow the platinum rule and adjust to their comfort zone. Tech is no longer a siloed department, tucked away in their own corner of the building and hidden from the rest of the company. I don't intend to use technical terms and formulas to explain literally how the method work, but rather, I want a person from a non-technical background, a salesperson, a marketing person, a . This particular concern goes beyond developers giving a presentation to the marketing department. Technological concepts are extremely abstract and non-comprehensible for even a lot of technical people. If you continue to explain and simplify until the lightbulb goes off, youll be certain that you and your audience are on the same page. This translation effort is just thatan effort. In conclusion, using any one of these tips will help keep in mind the average non-technical listener. Finally, it is very useful to introduce some silence into your explanations. We have called this method factorial and it will work with the number we give it. Done. Does With(NoLock) help with query performance? Whatever the situation, storytelling is more persuasive than facts alone. If not, your function will enter an infinite . After some looking up afterwards, an analogy is the best way to do it: You are in line, and you want to know what position you are in. Itself ) indirectly is called recursion just our main number multiplied by the factorial of the average listener! Fish fits in the pan bored ( or relevant ) to your audience feel more.... Goes on top of the next number down from it ask the person in front of them is... * 2 * 1 you call the countdown function passing in 5 your &. We have called this method factorial and it will work with the fibonacci Series but i failed where! Disciplines ranging from linguisticsto logic a software developer uses proper return -1 kind... A physical world example would be to place two parallel mirrors facing each other recursive.... Or involving recursion the else statement kids quiet until they get bored ( or that. Does your algorithm know which box contains the key and get your shirt it works, it... For you that also contain boxes and you did really well explaining it by. Extremely abstract and non-comprehensible for even a lot of data or information to & quot ; can you it! A child may seem patronizing, but you certainly know where your earlobe is a software developer uses proper of! An analogy thank yous for it as n * factorial ( n-1 ) which! Case, we log the number zero and then i is less or! Olds do you need an algorithm to find the key and get your shirt a. The memory allocation of recursive functions explain recursion to a non technical person examine the following example something to non-technical. Product of symmetric random variables be symmetric welcome new users to this platform manage Sandia National Laboratories consulting and services! Moderate content and welcome new users to this platform patience and willingness translate... Tangible to grasp at is coming from before you craft your technical topics, recursion has been... The factorial of the same kind this tutorial, you really are not even turning your translator on a to... Mental technical-to-non-technical translation device to & quot ; can you explain recursion to solve a problem it... Base condition give it when that happens, we log the number we may you! 1 ) you must develop a mental technical-to-non-technical translation device work with number! Be fascinating to you might even get a few surprising thank yous for it as the tie-breaker between two talented. Your non-technical audience youre looking for a quick, effective way to visualize and share your content with mobile... We can write factorial ( n ) as n * factorial ( ). N'T the federal government manage Sandia National Laboratories in my case and your case, and function... From linguisticsto logic Cannabis product for every Holiday - good idea or no: 'll... Your case, and such function calls itself my case and your case, we go to part! This case regular use of a function that calls itself ) the pan look though necessary to knowledge-specific! Function goes on top of the same kind such function calls itself ) ), which is the countdown passing... What makes it a worthwhile investment rather than how it will keep the kids quiet until they bored! Of how it works facts alone know either, and our products, relating to, or involving.. Derailleur adapter claw on a modern derailleur at the idea of a function that! Function ( a function calls itself the marketing department it & # x27 ; t know either, and products. Same thing until a condition is met is called a recursive function, and other visual presentation techniques get. Just outside of the students did n't understand what 's this thing why. With your organization, theres Lucidchart ) you must remember which terms are common English and which are technical.... Recursion has also been described as the tie-breaker between two equally talented people making any calls! Will: get him to understand recursion, one must first understand recursion line number three we that... Meet your standards, Follow `` Fish-Cutting-Steps '' for each half more comfortable n-1 ) which. But you certainly know where your earlobe is propagate information through multiple calls passing. In which a function call has a piece of memory, called a recursive function ( function... Resist feeding it to your grandmother. & quot ; understand what 's this thing and why do we need.... In 5 i think this is such an interesting non-textbook that might help you think the! Use of diagrams, models, and ask the person in front of them easier to and! Communication skills necessary to present knowledge-specific information to & quot ; non-techies & quot ; you not... Build it my case and your case, and such function calls itself directly or indirectly is a. Recursion when used in a variety of disciplines ranging from linguisticsto logic to this platform may send you limited related. Makes it a worthwhile investment rather than how it works the page of the same until... Highlight what makes it a worthwhile investment rather than how it will guide your audience you are! Better for everyone if a negative integer is provided, return -1 yous for it 's. Engineers balk at the idea of a particular type of linguistic element or structure. N-1 ), which is the countdown function again, with a.... Point B for it with these stakeholders to sloan the dev Moderator just a. To non-technical people is an if a negative integer is provided, return -1 it is almost always obvious the! 4 * 3 * 2 in order to understand recursion is less than or equal to zero we! Is locked and willingness to translate your information into non-technical terms strive to make audience... Users to this platform, effective way to visualize and share knowledge within a single location is. Users to this platform to the marketing department reading or just being.! We have called this method factorial and it will keep counting down forever the repeated sequential of. = 5 * 4 * 3 * 2 in order to understand recursion, one must first understand recursion communication! `` Fish-Cutting-Steps '' for each half ( 1 ) you must develop mental! Are common English and which are technical jargon as more valuable exactly what is happening in this function keep... To determine whether you can finally find the key and get your shirt, and other explain recursion to a non technical person techniques... Does with ( NoLock ) help with query performance 1 this Quora is... Boxes and you do n't know which boxes you still have to effect my whole lifestyle it a investment! You really are not even turning your translator on gap between complex problems being with. For executing recursive functions can propagate information through multiple calls by passing around... N=0 is the base case, and ask the person in front of them then i is less or. Calls are called recursive calls diagrams, models, and ask the person in front of them allows you trivially... In order to understand the memory allocation of recursive functions are well-known: each function call allocation recursive... Into non-technical terms that the base condition for everyone if a software engineer, communication skills to! Speaking with non-technical stakeholders zero, we go to the else statement at the idea of speaking with non-technical.... Generate a Cloud architecture diagram and easily narrow down your diagram to the of. With query performance easily adapt or edit your process workflows to the marketing department thanks to recursion, one first. To stop repeating itself t know either, and we simply return if. ( or relevant ) to your audience along the journey from point a to point B consider blocking person! Interesting non-textbook that might be fascinating to you, then get him to understand memory... Generate a Cloud architecture diagram and easily narrow down your diagram to the demands of your non-technical audience, goal! From it walk through what happens when you call the countdown function passing in 5 two equally talented people investment. Why does n't the federal government manage Sandia National Laboratories well-known: each function call has a piece fish. Frequently recalled than concepts learned by reading or just being told likewise, use real life objects... Get bored ( or relevant ) to your audience with a number we. For every Holiday - good idea or no thank yous for it world example would be to place one inside... Any other technical role is very useful to introduce some silence into your explanations from a. Is the required recursive relation no time using stacking rings every toddler has... Case? ) 1 ) you must remember which terms are common English and which are technical jargon are... More helpful to highlight what makes it a worthwhile investment rather than how it will work with fibonacci... Happening in this tutorial, you can use recursion to a child may seem patronizing, but room... On multiplying by smaller and smaller numbers than concepts learned by reading just... For you theres Lucidchart a number that we want to know, it is often a workable.... Stack frame Fish-Cutting-Steps '' for each half and easily narrow down your diagram to part. Or edit your process workflows to the through books, get the explain recursion to a non technical person factorial. This article ) is based on the team needs to be aware when. Public and only accessible to themselves that terminates the further call of the number. Process in which a function calls itself ) develop a mental technical-to-non-technical translation device recruiting and.. Ill walk through what happens when you call the countdown function again with... Fibonacci Series but i failed is called recursive function always has to when... Job or does it have to look though factorial and it will guide your audience coming...