In episode 173, we get curious about coding for James of Houston, Texas, Tiger of Rochester, New York, and Leo and Felix of Shelburne, Vermont. We learn what coding is, the history of coding, and some of the basic concepts of coding. Olivia interviews software engineer Steve to find out what makes a good coder and so much more.
Visit the Curious Kid Podcast Website - http://www.curiouskidpodcast.com
Send Us An E-mail - curiouskidpodcast@gmail.com
Leave Us A Voicemail - 856-425-2324
Support Us On Patreon - https://www.patreon.com/Curiouskidpodcast
Shop Curious Kid Podcast Merchandise - http://tee.pub/lic/fqXchg3wUVU
Follow Us On Facebook - https://www.facebook.com/curiouskidpod/
Follow Us On Instagram - https://www.instagram.com/curiouskidpodcast/
Follow Us On Twitter - https://twitter.com/CuriousKidPod
PODCAST 173: CURIOUS ABOUT CODING
RELEASE DATE: JANUARY 23RD, 2022
D: HELLO, AND WELCOME BACK TO THE CURIOUS KID PODCAST. BEFORE LISTENING TO THIS EPISODE, WE RECOMMEND YOU GO BACK AND LISTEN TO EPISODE 116, CURIOUS ABOUT COMPUTERS, FIRST, IF YOU HAVEN’T LISTENED TO IT ALREADY. UNDERSTANDING SOME OF THE CONCEPTS WE DISCUSSED IN THAT EPISODE COULD HELP YOU BETTER UNDERSTAND THE SUPER INTERESTING TOPIC WE ARE GOING TO LEARN ABOUT THIS WEEK.
O: TRIPLE-MAILBAG!
D: WHAT? TRIPLE-MAILBAG!
“HI OLIVIA, MY NAME IS JAMES, I AM 7 YEARS OLD, AND I LIVE IN HOUSTON, TEXAS. I REALLY LIKE YOUR PODCASTS. THEY ARE VERY INTERESTING. I LOVE LEARNING WITH YOU. I STARTED LISTENING TO THEM A FEW DAYS AGO. I AM A HUGE FAN. I AM INTERESTED IN ANIMATION AND CODING. CAN YOU PLEASE PUT IT IN ONE OF YOUR PODCASTS? THANK YOU!
FROM JAMES”
“DEAR OLIVIA AND HER DAD, MY NAME IS TIGER AND I AM TEN YEARS OLD, AND YOUR PODCAST IS AWESOMENESS! I LIKE THIS PODCAST BECAUSE I AM ALWAYS CURIOUS ABOUT SOMETHING. MY FAVORITE EPISODES ARE CURIOUS ABOUT WATERFALLS, BIGFOOT, AND DRAGONS. I PICKED THIS PODCAST UP A FEW MONTHS AGO AND NOW CAN GET CURIOUS EVEN FASTER. IT WOULD BE GREAT IF YOU COULD DO AN EPISODE ABOUT CODING, CHEMISTRY, OR CHESS. THANK YOU FOR A PODCAST I CAN LISTEN TO WHENEVER I GET THE CHANCE.
FROM TIGER OF ROCHESTER, IN UPSTATE NEW YORK”
“HELLO! MY NAME IS LEO AND I AM 6 YEARS OLD. I HAVE A BROTHER NAMED FELIX WHO IS 4.5 YEARS OLD. I AM HOPING YOU CAN DO AN EPISODE ABOUT CODING. I AM PARTICULARLY CURIOUS ABOUT THIS QUESTION: WHAT WAS THE FIRST THING CODED IN THE WORLD? MY BROTHER AND I LOVE YOUR PODCAST!
THANK YOU, FROM LEO AND FELIX OF SHELBURNE, VERMONT”
O: WOWIE. WHAT A FANTASTIC TRIO OF AWESOME E-MAILS. WE ARE GETTING CURIOUS ABOUT CODING THIS WEEK FOR JAMES, TIGER, LEO, AND FELIX.
D: SOME OF YOU MAY BE WONDERING WHAT CODING IS.
O: CODING IS THE WAY THAT HUMANS COMMUNICATE WITH COMPUTERS.
D: IF YOU LISTENED TO THE EPISODE CURIOUS ABOUT COMPUTERS, YOU KNOW THAT COMPUTERS STORE INFORMATION IN SOMETHING CALLED BINARY CODE.
O: BINARY CODE IS A COLLECTION OF ZEROS AND ONES. IN BINARY CODE, THE FIRST LETTER OF MY NAME, OLIVIA, IS 01101111.
D: SO, THE OBVIOUS PROBLEM IS THAT HUMANS DON’T SPEAK IN BINARY CODE. CAN YOU IMAGINE HAVING TO COMMUNICATE WITH EACH OTHER USING JUST ZEROS AND ONES? THAT WOULD BE AWFUL. THANKFULLY, A LOT OF SMART AND INNOVATIVE PEOPLE CREATED LANGUAGES THAT BOTH HUMANS AND COMPUTERS CAN UNDERSTAND. THOSE ARE THE LANGUAGES THAT ARE USED TO DEVELOP PROGRAMS FOR COMPUTERS.
O: THE QUESTION OF THE WEEK IS, HOW MANY DIFFERENT PROGRAMMING LANGUAGES EXIST TODAY?
D: PROGRAMMING LANGUAGES ARE DIFFERENT THAN SPOKEN LANGUAGES. THE QUESTION OF THE WEEK IS HOW MANY DIFFERENT LANGUAGES EXIST THAT ALLOW HUMANS AND COMPUTERS TO COMMUNICATE? AS A FRAME OF REFERENCE, THERE ARE 7,139 SPOKEN LANGUAGES TODAY THAT ALLOW HUMANS TO COMMUNICATE WITH EACH OTHER. OF THEM, ONLY 23 LANGUAGES ARE USED BY MORE THAN HALF OF THE WORLD POPULATION. ALSO, ABOUT 40% OF THOSE LANGUAGES ARE ENDANGERED, AND HAVE ABOUT 1,000 OR LESS SPEAKERS WORLDWIDE. WHILE YOU’RE THINKING ABOUT THE ANSWER TO THE QUESTION OF THE WEEK, WE ARE GOING TO HOP INTO PART ONE OF THIS EPISODE. IN PART ONE, WE ARE GOING TO DISCUSS THE HISTORY OF CODING AND 2 AMAZING PIONEERS IN PARTICULAR. IN PART TWO, WE ARE GOING TO DISCUSS 5 BASIC CONCEPTS THAT ARE IMPORTANT IN CODING, AND IN PART THREE, OLIVIA IS GOING TO INTERVIEW OUR SPECIAL GUEST, STEVE, TO LEARN SO MUCH MORE ABOUT CODING.
O: THE FIRST COMPUTER PROGRAMMER WAS A WOMAN BY THE NAME OF ADA LOVELACE THAT LIVED 200 YEARS AGO. SHE HAD THE IDEA FOR COMPUTER PROGRAMS BEFORE COMPUTERS, AS WE KNOW THEM, EVEN EXISTED.
D: AS A TEEN, ADA BECAME INTERESTED IN SOMETHING CALLED THE DIFFERENCE ENGINE, WHICH WAS AN EARLY VERSION OF THE CALCULATOR. SHE MET THE CREATOR OF THE DIFFERENCE ENGINE, CHARLES BABBAGE, AT A PARTY, AND HE BECAME HER MENTOR AND ENCOURAGED HER CURIOSITY.
O: IN 1843, CHARLES BABBAGE STARTED WORKING ON A MORE ADVANCED VERSION OF HIS DIFFERENCE ENGINE. HE CALLED IT THE ANALYTICAL ENGINE.
D: ADA LOVELACE TOOK NOTES ON THE ANALYTICAL ENGINE AND COMPARED IT TO HOW WEAVING MACHINES WORKED. SHE NOTED THAT WEAVING MACHINES FOLLOW PATTERNS TO MAKE A MORE COMPLICATED AND COMPLETE DESIGN. SHE FIGURED THAT THE ANALYTICAL ENGINE COULD DO THE SAME THING.
O: SHE FIGURED THAT THE ANALYTICAL ENGINE COULD FOLLOW PATTERNS, OR CODES, AND THAT THOSE CODES WOULD ALLOW THE MACHINE TO NOT ONLY CALCULATE NUMBERS, BUT ALSO INTERPRET LETTERS AS WELL.
D: IN A SENSE, ADA LOVELACE’S OBSERVATION WAS A BASIC EXPLANATION OF COMPUTER PROGRAMMING, AND SHE MADE THOSE OBSERVATIONS IN 1843, LONG BEFORE WE HAD COMPUTERS. IN 1953, WHEN ADA’S NOTES WERE DISCOVERED, IT BECAME EVEN CLEARER THAT SHE WAS THE FIRST COMPUTER PROGRAMMER, BECAUSE HER NOTES INCLUDED AN ALGORITHM, OR DETAILED INSTRUCTIONS, THAT COULD BE USED TO CONTROL A COMPUTER. SHE STRONGLY BELIEVED THAT COMPUTERS WOULD BE CAPABLE OF MUCH MORE THAN CRUNCHING NUMBERS, AND WOULD EVENTUALLY BE CAPABLE OF DOING MORE COMPLICATED THINGS, LIKE CREATING ART AND MUSIC. IN 1979, THE UNITED STATES DEPARTMENT OF DEFENSE HONORED HER LEGACY BY NAMING A NEW COMPUTER LANGUAGE ADA.
O: A MORE RECENT PIONEER IN CODING WAS THE AMAZING GRACE HOPPER.
D: GRACE HOPPER WAS BORN IN 1906, 116 YEARS AGO, IN NEW YORK CITY. SHE WAS VERY CREATIVE AND CURIOUS AND WAS INTERESTED IN LEARNING HOW THINGS WORKED. AT THE AGE OF 7, SHE TOOK APART AN ALARM CLOCK TO SEE HOW IT WORKED. SHE COULDN’T MAKE SENSE OF ALL OF THE PARTS, BUT SHE DIDN’T GIVE UP. SHE STARTED TO TAKE APART ALL OF THE OTHER ALARM CLOCKS IN THE HOUSE AS WELL.
O: THIS MUST’VE DRIVEN HER PARENTS CRAZY.
D: HER PARENTS WERE VERY SUPPORTIVE. WE’RE ALSO SUPPORTIVE OF YOU, OLIVIA, BUT PLEASE DON’T GET ANY IDEAS AND START DISMANTLING THE CLOCKS IN OUR HOUSE.
O: GRACE HOPPER GRADUATED FROM YALE UNIVERSITY AND THEN JOINED THE UNITED STATES NAVY.
D: WHILE WITH THE NAVY, SHE WORKED WITH THE MASSIVE MARK 1 COMPUTER, WHICH REMINDED HER A BIT OF THE CLOCKS SHE TOOK APART AS A CHILD.
O: JUST AS SHE DID WITH HER ALARM CLOCKS, SHE STARTED TO TAKE THE MARK 1 COMPUTER APART TO TRY AND LEARN MORE ABOUT HOW IT WORKED. IN DOING SO, SHE LEARNED THAT THE WAY A COMPUTER WORKS IS SIMILAR TO A LIBRARY.
D: IF YOU’RE FAMILIAR WITH LIBRARIES, YOU KNOW THAT THE BOOKS ARE STORED IN A VERY SPECIFIC ORDER. THEY AREN’T JUST RANDOMLY LINED UP ON THE SHELVES. HAVING THE BOOKS IN SPECIFIC LOCATIONS MAKES THEM EASY TO FIND. CAN YOU IMAGINE TRYING TO FIND A BOOK YOU WERE LOOKING FOR IF THE THOUSANDS OF BOOKS IN THE LIBRARY WERE RANDOMLY PLACED ON THE SHELVES?
O: SHE CALLED THE DIFFERENT LOCATIONS THAT THE INFORMATION IN A COMPUTER IS STORED ON A CALL NUMBER. SHE GROUPED ALL THE CALL NUMBERS ON A RECORD.
D: SHE WAS ABLE TO USE A SET OF CALL NUMBERS TO PULL DATA FROM THE COMPUTER RECORD.
O: AND IT WAS THE FIRST TIME A HUMAN COMMUNICATED WITH A COMPUTER WITHOUT USING THE LESS CONVENIENT AND MORE ANNOYING BINARY CODE.
D: GRACE HOPPER WANTED TO SHARE HER DISCOVERY WITH OTHERS. IT TOOK HER 3 YEARS TO FIND SOMEONE WHO BELIEVED IN HER DISCOVERY AND GAVE HER THE SUPPORT NECESSARY TO DEVELOP COMPUTER PROGRAMS. WITH THAT SUPPORT, GRACE DESIGNED COBOL, WHICH IS AN ACRONYM THAT STANDS FOR COMMON BUSINESS-ORIENTED LANGUAGE. IT WAS DESIGNED TO HELP DO BUSINESS TRANSACTIONS MORE EFFICIENTLY. IT IS SUCH A GOOD PROGRAM, THAT TODAY, MORE THAN 60 YEARS AFTER IT WAS RELEASED, IT IS STILL USED TO PERFORM MORE THAN 80% OF BUSINESS TRANSACTIONS.
O: HERE’S A FUN FACT. GRACE HOPPER ALSO INVENTED THE IDEA OF A COMPUTER BUG. TODAY, WHEN SOMEONE HAS A PROBLEM WITH THEIR COMPUTER SOFTWARE, THEY OFTEN REFER TO THE PROBLEM AS A BUG. YOU’RE NOT GOING TO BELIEVE HOW GRACE CAME UP WITH THE IDEA TO CALL COMPUTER ERRORS BUGS. ONE DAY, SHE WAS WORKING ON HER COMPUTER, AND IT WASN’T WORKING RIGHT. SHE OPENED IT UP TO SEE WHAT WAS WRONG, AND THERE WAS A MOTH INSIDE, AN ACTUAL MOTH! THAT’S WHEN SHE STARTED TO REFER TO COMPUTER ERRORS AS BUGS.
D: THAT’S AN AWESOME STORY. ADA LOVELACE AND GRACE HOPPER WERE SO IMPORTANT IN LAYING THE GROUNDWORK FOR HOW HUMANS COMMUNICATE WITH COMPUTERS.
NOW THAT WE’VE LEARNED SOME OF THE FASCINATING HISTORY BEHIND CODING, LET’S LEARN 5 BASIC CODING CONCEPTS.
O: THE FIRST TWO CONCEPTS ARE ALGORITHMS AND SEQUENCES. ALGORITHMS ARE INSTRUCTIONS GIVEN TO A COMPUTER TO ACHIEVE A GOAL. IN ORDER TO WORK JUST RIGHT, THE ORDER OF THE STEPS IN THE INSTRUCTIONS, ALSO CALLED A SEQUENCE, IS VERY IMPORTANT.
D: THAT’S RIGHT. LET’S SAY YOU ARE GETTING DRESSED. THAT’S THE GOAL. IN ORDER TO GET TO THAT GOAL, YOU NEED TO PUT YOUR CLOTHES ON.
O: BUT IT’S ALSO IMPORTANT THAT I PUT MY CLOTES ON IN THE RIGHT ORDER. IF I PUT MY PANTS ON BEFORE MY UNDERWEAR, I’M NOT GETTING DRESSED CORRECTLY.
D: EXACTLY. FOR COMPUTERS, PROGRAMMERS WRITE ALGORITHMS TO LET THE COMPUTER KNOW HOW TO COMPLETE A TASK USING INSTRUCTIONS IN A VERY SPECIFIC ORDER, CALLED A SEQUENCE. IF THE ORDER IS INCORRECT, THE ALGORITHM DOESN’T WORK, JUST LIKE PUTTING YOU UNDERWEAR ON OVER YOUR PANTS WOULDN’T WORK.
O: THE THIRD CONCEPT IS LOOPS. THAT JUST MEANS REPEATING THE SAME THING OVER AND OVER.
D: IN CODING, YOU CAN ASK THE COMPUTER TO PERFORM A TASK OVER AND OVER AGAIN A CERTAIN NUMBER OF TIMES OR UNTIL IT ACHIEVES A GOAL.
O: IT REMINDS ME OF THE TIME WHEN WE DID THE DADDY-DAUGHTER BOTTLE FLIPPING CHALLENGE.
D: LAST YEAR, OLIVIA CHALLENGED HERSELF TO FLIP WATER BOTTLES TO SEE IF SHE CAN GET THEM TO LAND UPRIGHT. SHE WAS REALLY GOOD AT IT. WE CHALLENGED OURSELVES TO SEE IF WE CAN BOTH FLIP BOTTLES AT THE SAME TIME AND GET THEM TO BOTH LAND UPRIGHT AND THEN DO THAT 3 TIMES IN A ROW.
O: AFTER A FEW MINUTES, WE WERE ABLE TO ACCOMPLISH THE GOAL OF 3 CONSECUTIVE DADDY-DAUGHTER BOTTLE FLIPS, BUT WE HAD TO REPEAT THE LOOP DOZENS OF TIMES BEFORE WE GOT IT JUST RIGHT.
D: IT WAS FRUSTRATING WHEN WE GOT SO CLOSE A FEW TIMES, BUT IT WAS SO REWARDING WHEN WE REACHED OUR GOAL OF DOING IT 3 TIMES IN A ROW.
O: THE FOURTH CONCEPT IS DECOMPOSITION. THAT MEANS BREAKING SOMETHING COMPLICATED DOWN INTO SMALLER, AND EASIER STEPS.
D: WE USE DECOMPOSITION WHEN I TEACH YOU TO PLAY NEW SONGS ON THE PIANO.
O: FIRST YOU ASK ME TO PLAY A NEW SONG WITH MY RIGHT HAND ONLY. THEN YOU ASK ME TO PLAY WITH MY LEFT HAND ONLY. THEN YOU ASK ME TO PLAY IT WITH BOTH HANDS SLOWLY. FINALLY, YOU ASK ME TO PLAY IT AT NORMAL SPEED WITH BOTH HANDS. I KEEP ON TRYING TO PLAY THE SONG WITH BOTH HANDS OVER AND OVER UNTIL I LEARN HOW TO PLAY IT PERFECTLY.
D: AND ONCE YOU PLAY THE SONG PERFECTLY, YOU’VE COMPLETED THE TASK AND YOU MOVE ON TO ANOTHER ACTIVITY. PLAYING A NEW SONG PERFECTLY FOR THE FIRST TIME FEELS SO GOOD.
O: THE FIFTH AND LAST BASIC CONCEPT OF CODING IS CALLED BRANCHING. BRANCHING SIMPLY MEANS MAKING DECISIONS BASED ON WHAT HAPPENED EARLIER.
D: A GREAT EXAMPLE IS SOMETHING THAT OFTEN HAPPENS WHEN YOU MAKE PLANS. LET’S SAY WE ARE MAKING PLANS FOR THE WEEKEND. WE MAY WANT TO MAKE DECISIONS BASED ON THE WEATHER.
O: SO, WE CAN SAY WE REALLY WANT TO GO TO THE ZOO. WE LOVE GOING TO THE ZOO. BUT IF IT RAINS, WE ARE GOING TO GO TO THE AQUARIUM INSTEAD, AND THAT WILL BE LOTS OF FUN. AND, IF IT’S SUPER HOT OUTSIDE, WE CAN GO SWIMMING INSTEAD, AND THAT’S A GREAT HOT DAY ACTIVITY.
D: AND THAT’S A GREAT EXAMPLE OF HOW BRANCHING WORKS. CODING IS SO MUCH FUN BECAUSE IT ALLOWS YOU TO TALK TO COMPUTERS USING THE VERY BASIC CONCEPTS OF ALGORITHMS, SEQUENCES, LOOPS, DECOMPOSITION, AND BRANCHES. ARE YOU INTERESTED IN CODING? WELL, WE HAVE A SPECIAL GUEST WHO IS GOING TO TEACH US MORE ABOUT CODING. HIS NAME IS STEVE AND HE IS A SOFTWARE ENGINEER. HE WORKED WITH THE DEPARTMENT OF HEALTH OF NEW JERSEY AND HELPED BUILD A COMMUNICABLE DISEASE REPORTING SYSTEM WHICH TRACKED THE SPREAD OF COVID-19 IN NEW JERSEY. HE IS CURRENTLY WORKING WITH THE FEDERAL AVIATION ADMINISTRATION TO BUILD AND ENHANCE THE TRAFFIC FLOW MANAGEMENT SYSTEM WHICH TRACKS AND MANAGES AIR TRAFFIC BETWEEN THE 27 AIR TRAFFIC CONTROL CENTERS SPREAD ACROSS THE COUNTRY. HE’S DONE SO MUCH IMPORTANT WORK AND I CAN’T WAIT TO HEAR WHAT HE HAS TO SAY ABOUT CODING.
TAKE IT AWAY, OLIVIA.
O: STEVE, THANK YOU SO MUCH FOR BEING A GUEST ON CURIOUS KID PODCAST. HOW DID YOU DECIDE TO BECOME A SOFTWARE ENGINEER?
S: ———————————————————————————————.
O: IS THERE A DIFFERENCE BETWEEN CODING AND COMPUTER PROGRAMMING? IF SO, WHAT’S THE DIFFERENCE?
S: ———————————————————————————————.
O: ARE THERE ANY SKILLS, LIKE BEING GOOD AT MATH, THAT ARE HELPFUL IN CODING?
S: ———————————————————————————————.
O: THE QUESTION OF THE WEEK IS HOW MANY DIFFERENT CODING LANGUAGES EXIST?
S: ———————————————————————————————.
D: WOW, THAT WAS A FANTASTIC INTERVIEW. A BIG THANK YOU TO STEVE FOR SHARING HIS KNOWLEDGE OF CODING WITH US. WELL, THAT’S A WRAP FOR THIS WEEK’S EPISODE.
O: 173 - CODING.
D: GREAT JOB OLIVIA, AND GREAT JOB TO JAMES, TIGER, LEO, AND FELIX FOR PUTTING TOGETHER ALL OF THE NECESSARY ZEROS AND ONES TO REACH OUT TO US AND LET US KNOW WHAT TO GET CURIOUS ABOUT. NEXT WEEK WE WILL HAVE ANOTHER AWESOME AND SUPER-SMART GUEST ON THE SHOW. WE WILL CATCH YOU THEN WHEN WE GET CURIOUS ABOUT EARS FOR ASH OF BOULDER, COLORADO. AS ALWAYS, THANK YOU SO MUCH FOR LISTENING AND GETTING CURIOUS WITH US.