First Time Coders : A Definitive Guide to Coding for Children (eBook)
200 Seiten
Lioncrest Publishing (Verlag)
978-1-5445-0494-0 (ISBN)
Computer programming may well be tomorrow's "e;new literacy."e; Coding offers children a creative avenue to express themselves through technology and opens the door to unlimited opportunities in the digital era. First Time Coders, written by an MIT Master Trainer for coding education and award-winning founder of a STEM and coding education institute, is the essential handbook for parents whose kids are starting their coding journey, or are already coding and eager to learn more. You will find: Advice and solutions to common challenges about youth tech usage. Essential principles when learning to code. Introduction of 15+ age-appropriate coding languages and tools for children aged 4 to 18. 20+ step-by-step hands-on coding projects followed by challenges. Computer science concepts for each project. Tips for adults to discuss these concepts in-depth. Start your child's coding adventure with First Time Coders!
Chapter Two
What Is Coding?
Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.
—Stephen Hawking
People often wonder what exactly coding entails. Coding is simply the act of communicating with computers to tell them what to do. We tell computers what to do using various “programming languages.”
A piece of code is a set of statements, or commands, that directs the computer to perform a certain step. Computers follow these steps or commands in order and in a precise manner. A set of these coded instructions makes a program.
Because computers take these steps very precisely, one minor typo or missed semicolon could make a program crash. That error is called a bug.
Computers are actually not that smart; they just follow the code and do as it says. Attention to detail is therefore critical while writing code, and debugging is a necessary part of being a proficient coder.
What is a Programming Language?
A computer can only understand on and off, or binary code: 0 and 1. Through these 0s and 1s, a computer takes inputs, stores information, processes it, and produces output for the users—people like you and me.
A programming language is a special language that programmers use to develop software programs, scripts, or other sets of instructions for computers to execute. It translates human commands into binary code. For example, when you code a programming language to tell a computer to print “hello world,” that language is then translated into a series of 0s and 1s—ons and offs—that the computer can understand.
Programming languages allow us to write code that is easier to write, read, and understand than binary code. Reading and writing with 0s and 1s—like how computers operate—would be time-consuming and extremely prone to errors.
Syntax is the “grammar and punctuation” in computer programming languages. It represents the basic rules of writing code in a specific programming language. Each programming language’s syntax is different in terms of how the code is structured and written.
To a certain extent, the level of difficulty in learning a programming language depends on how difficult or complex the syntax is.
How Does Programming Work?
One way to think about programming is the analogy of a recipe. When baking a red velvet cake, for example, you are given the ingredients and step-by-step directions to follow. These instructions need to be followed closely and with precision for the best outcome.
Here is a sample recipe for red velvet cake via AllRecipes:
- Preheat oven to 350 degrees F (175 degrees C). Grease two 9-inch round pans.
- Beat shortening and 1 1/2 cups sugar until very light and fluffy. Add eggs and beat well.
- Make a paste of cocoa and red food coloring; add to creamed mixture. Mix salt, 1 teaspoon vanilla, and buttermilk together. Add the flour to the batter, alternating with the buttermilk mixture, mixing just until incorporated. Mix soda and vinegar and gently fold into cake batter. Don’t beat or stir the batter after this point.
- Pour batter into prepared pans. Bake in preheated oven until a tester inserted into the cake comes out clean, about 30 minutes. Cool cakes completely on wire rack.
- To Make Icing: Cook 5 tablespoons flour and milk over low heat till thick, stirring constantly. Let cool completely! While mixture is cooling, beat 1 cup sugar, butter, and 1 teaspoon vanilla until light and fluffy. Add cooled flour mixture and beat until frosting is a good spreading consistency. Frost cake layers when completely cool.
A computer program is like a recipe that tells the computer the exact steps necessary to create something. Programming language is a way to translate our thoughts from human language to computer-understood commands. Each step is detailed and needs to be followed sequentially in order to produce the desired result. Just like a recipe, the code is a series of steps to make the “cake,” which is the output of the program.
The Ins and Outs: How is a Program Written and Executed?
Accuracy of syntax is critical when writing a program. As mentioned above, syntax is like the grammar and punctuation of a programming language. Since computers are not very smart, they need us to be accurate as they will follow exactly what the code asks them to do.
The actual code where the set of written instructions are stored is called the source code. Just like text is edited on word editors like Google Docs or Microsoft Word, source code is compiled on plain-text editors like Sublime, Atom, or VIM.
Once the source code is finished, it is run or executed. Executing the code is when the computer deciphers the programming language into binary code, which is then output in the form of a program. When executing the code, you will be able to see the results of the code.
A Brief History of Programming
Since Ada Lovelace invented the first programming language in 1842, modern computer programming languages have blossomed, first with FORTRAN, then LISP, ALGOL, and COBOL. Most of today’s computer programming languages are derived from one of these languages. Languages like C++, Python, Java, all released in the 1980s or 90s, are now widely adopted across the tech industry. At the same time, new languages are being released every year with the advancement of new technology platforms and various use cases. For example, Scala, a language that is increasingly used in the data science field, was released in 2004. Golang, released in 2009 by Google, was ranked both the top five most loved and top five most wanted languages in Stack Overflow’s 2017 developer survey.17
All in all, with the pace at which computer programming languages are developing, we believe it is paramount to prioritize and grasp the fundamental computer science concepts early on in a child’s journey of learning to code. The language a coder learns today may not be as useful when they graduate, but concepts like variables, functions, data structure, recursion, sorting, and Big O Notation are fundamental across all languages.
Rather than going for the most “complex” languages (oftentimes the lower-level languages that we will explain in the next section), we recommend that a student starts with a language that is easier to pick up. These are typically higher-level languages where a child can focus on understanding the concepts and gain great fluency of one language which will then empower them to learn their second and third language in the future.
Low Level and High Level
Low level vs. high level is one of the most common paradigms as it defines how abstract the programming language is. Low-level programming languages are closer to the machine, or binary code, which consists of 0s and 1s. Because the syntax is more complicated, the code takes longer to write, which leads to a longer development cycle. However, since it is close to binary code, these low-level codes tend to be faster in executing.
High-level languages usually are much easier to read, have more flexible syntax, and are much easier for beginners to learn. Programs are faster to write; however, the software is slower in executing as it needs to be translated into lower-level codes to be processed by the computer.
Here’s a list of programming languages ranging from very low to very high level18:
- Machine code would be considered the lowest level.
- Assembly language tells the processor what to do and requires a conversion step towards machine code.
- C is one step above assembler, because you can use abstract terms to specify the instructions, but it is still very close to low-level code.
- C++ is above C and adds the capability to abstract things into classes.
- Java and C# are on a similar level to C++ but with capacities like garbage collection, which would need to be done manually in C++.
- Python and Ruby are at a higher level and allow you to be less detailed.
- SQL is declarative and an even higher level language. You provide a task and it works out the most efficient way to carry it out.
Why Are There So Many Different Programming Languages?
If it all comes down to 0s and 1s, why are there so many different languages? While they might do similar things, each programming language has different uses and tradeoffs in functionality and each programming language was created to solve a specific problem.
Ruby and JavaScript are good programming languages for building websites. Java and C++ are more powerful for handling data and might be used for algorithmic trading in the financial world. Python and R are the go-to tools for analyzing data.
These languages are just like vehicles—a tractor, a bicycle, and a Tesla are all methods of transportation that get us from one point to another, but we use them for different tasks and types of travel. We could use Ruby or JavaScript to analyze data, or we could build a financial trading platform on Python, but there are tradeoffs in convenience, safety, and speed, which makes certain programming languages better suited to some tasks than others.
A programmer’s language choice also comes...
Erscheint lt. Verlag | 17.9.2019 |
---|---|
Sprache | englisch |
Themenwelt | Sachbuch/Ratgeber ► Beruf / Finanzen / Recht / Wirtschaft ► Bewerbung / Karriere |
Sachbuch/Ratgeber ► Gesundheit / Leben / Psychologie ► Familie / Erziehung | |
ISBN-10 | 1-5445-0494-2 / 1544504942 |
ISBN-13 | 978-1-5445-0494-0 / 9781544504940 |
Haben Sie eine Frage zum Produkt? |
![EPUB](/img/icon_epub_big.jpg)
Größe: 65,6 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich