Eduporium Weekly | 5 Programming Languages to Learn During CS Ed Week and Beyond
Everywhere teachers turn these days, it seems somebody is telling them about the importance of teaching their students coding. We won’t lie, either -- a lot of the time, that’s us. It’s true that coding is an incredibly important skill for today’s students to possess, but it is also one that they can begin developing very early on in their lives. Not all coding is complex coding. In fact, there are some languages that are designed specifically to serve as introductions to coding for students as young as five or six years old. There are many different kinds of coding with complexity ranging from hardly any at all to the ones that serve even the most experienced programmers with plenty of challenges. Here are some of the types you should know about as you enter into Computer Science Education Week and Hour of Code activities.
Blockly is a library of visual cues that represent different movements, actions, and expressions. It can be used on the web as well as with various Android apps to control the movement of robots like the Ozobot, Edison Robot, and mBot as well as welcome students as young as 8 years old into the programming world. Blockly is also very graphical as it uses interlocking blocks to represent different coding concepts, like variables, logic, loops, and more in a way that’s extremely easy for a child to understand. Another reason it’s great for those who are just starting out is because it allows users to still get programming experience without any of the highly advanced complexities of different forms of coding. There’s no need to consider syntax or stare down the open-endedness of a blinking cursor on a blank line, for example.
For users, Blockly provides a lot of benefits, not the least of which is the fact that it is extremely intuitive. It’s constantly growing both in scope and in the number of people who use it. Some of its other features and benefits include the fact that the code kids create is exportable, everything about Blockly is open source, and it’s customizable, allowing students to use it in the way that works best for them. And, despite its regular use in coding toys and child devices, Blockly is a lot more powerful than it’s often given credit for. It empowers those using it to implement complex programming albeit in a simpler way. Plus, Blockly has risen to international fame with availability now stretching to over 40 languages and dialects. It’s a fantastic way to get kids started whether it’s in the classroom or after school!
Yes, the name of the next programming language that we’re going to talk about is simply ‘C.’ It’s that simple - just the letter ‘C.’ This language is described as a general-purpose programming language that provides constructs that efficiently map machine instructions among other things. This has led to it finding a consistent home in various operating systems (OS’s) and application software on various computer platforms. C has actually been around for quite sometime with its original conception dating all the way back to the late 60s. Since then, it has grown into one of the most widely used programming languages ever, though many would argue that does not remain the case today. Some of its basic functions include enabling low-level access to memory, providing language constructs, and eliminating the need for constant technical support.
As for the text used in the C language, it includes both the lowercase and uppercase letters from A-Z, the digits 0-9, and some special characters, including most of the standard ones, like exclamation points, the plus sign, parentheses, and so on. There are also 32 keywords in the C language, which are known as reserved words. When typing code, these words cannot be used for any other purpose other than those that they are predefined to represent. Some of the words are break, continue, do, default, return, void, switch, float, and goto, among others. The language recognizes these words as actions to execute and uses the other characters in a line of code to carry out the programmed request. Though it seems complex, the C language is something that’s relatively easy to pick up with practice and it could open the door to the ability to learn other programming languages in the future!
Another language that’s used a good amount in education is Python. In fact, if you’ve ever used or researched a Raspberry Pi computer, you’ve probably at least heard of this language. The two work pretty well together and learning Python is a great way to break into the programming world. Actually, Python is a pretty high-level language that’s used for general-purpose programming. It was first released back in 1991 and emphasizes code readability more than anything else. Its syntax allows programmers to express concepts by writing fewer lines of code than would normally be required, according to those more familiar with it than us. Essentially, this means it’s a bit more efficient than languages like Java and even C++. Using Python permits coders to create programming on either a small or very large scale.
Among Python's features are a dynamic tape system and automatic memory management. It also has a larger than normal standard library, which is a library that’s made available across implementations of a programming language. Whether students are looking to learn more about object-oriented programming, structured programming, aspect-oriented programming, or functional programming, they can do so with Python. The interesting thing about Python is that not all of its abilities are built into it. It’s actually designed to be very adaptable and modular. This has led to it becoming especially popular when it comes to adding interfaces to already-existing applications. It also tends to reject more complicated syntax and focus more on clear and concise typed code, which makes things a bit simpler for the user.
Everything about Python is meant to be easily read. Even the format of the typed code is very neat and intentionally uncluttered. Some of its unique attributes are the absence of curly brackets to delimit blocks and the fact that including semicolons after statements is optional. To delimit blocks, Python uses whitespace indentation. It also has its own sets of statements, which include if, for, while, and import statements among others. ‘If’ statements, for example, conditionally execute a block of code while ‘for’ statements iterate over an iterable object and capture any variables that may be present. This may sound a bit complicated, but some of the things you can do with Python are pretty amazing. Especially since it can be used with a Raspberry Pi, it’s fairly easy for students to get started! Give it a try and let us know what you think!
The final programming language we’re going to get into is C++. Yes, it is twice as good as C, but it is also a very powerful language and one that is pretty widely used. C++ is also used for general-purpose programming and highlights imperative, object-oriented, and generic programming features but can also provide coders with low-level memory manipulation. Originally, C++ was designed for more of a use in programming within large systems and, for that reason, its flexibility, efficiency, and performance are each pretty advanced. Aside from these, C++ is a useful language to know for people who build software infrastructure, desktop applications, servers, and even tools like space probes. For devices that require high performance, C++ is a smart place to turn.
In terms of makeup, C++ is a compiled language, resulting in implementations being available on many different platforms. It’s been standardized by the International Organization for Standardization and has undergone many updates, with the latest version being finalized back in 2014 after initially becoming standardized in 1998. Before that, C++ was conceived in 1979 by a Danish computer scientist named Bjarne Stroustrup. He needed a language that worked faster and provided more practical use and decided to start working on something that would increase the efficiency of the C language, thus resulting in the creation of C++. Some of the new functions available when C++ first became available included a number of virtual functions, name and operator overloading, references, constants, improved memory allocation, and improved type checking.
The first version of C++ was released in 1985 and quickly became the version that was used as reference. By later that year, it was already being used in commercial spaces. Every update to C++ has followed a set of specific guidelines that help keep consistency and efficiency. All updates must be driven by actual problems, for example, and its features should be immediately usable in the real world. These features also need to be implementable so that computer scientists can gauge the tangible outcomes of the code they create. C++ allows programmers to choose their own programming style as well, something that should not be understated and a feature that continues to keep C++ relevant. All in all, it takes a great deal of commitment and patience to learn programming, but thanks to simpler technologies, kids can start learning the basics right now.
We hope that everyone has a fantastic Computer Science Education Week and that all students get to take part in some fun Hour of Code activities! For the latest EdTech, STEM and 21st century education news, follow Eduporium on Twitter and Instagram, like us on Facebook or sign up for our newsletter for announcements on the best EdTech deals around! Have an idea for the next Eduporium Weekly theme? Send us a message on any of our social media accounts!
Image: © TechWorm