Itching to code? These are the best games to learn programming skills

Itching to code? These are the best games to learn programming skills

Many of us would like to learn to program, but are daunted. It turns out programming is not really difficult at all once you’ve got the trick of it (really!). 

But, there’s a lot of knowledge to gain before you, the student, can be anything but utterly confused. It can be painful. If only there existed some gentler way to smuggle programming knowledge into your head.

Thankfully, there are some great games out there that can teach you how to code, while also being fun. Read on to find out our pick. Also, make sure you check out our guide on the best laptops for programming on for some great choices to help you code.

CodinGame screenshot

(Image credit: CodinGame)

1. CodinGame

CodinGame has a very special place in our hearts because not only is it free and ridiculously fun, it actually helps you to build up a profile and get hired in a relevant field. In this it’s similar to well-known sites like Leetcode and HackerRank, except a lot more effort has been put into presenting the education as a game.

Create your developer profile, which fills out the more you code and play. When you’re ready, you can open it up to companies of your choice and perhaps get hired doing what you love.

So, try out CodinGame, you won’t regret it.

Gladiabots screenshot

(Image credit: WhisperGames)

2. Gladiabots – AI Combat arena

Ah, strategy and programming; what more could you ask for? Developed by GFX47 and published by WhisperGames, Gladiabots is an award-winning robot combat strategy game.

In it, you fight robots with robots. Instead of controlling them directly, however, you program their AI and let them fight by themselves. Debug, improve and fix your AI ’till it’s able to outsmart your enemies in three unique game modes, Elimination, Domination and Collection.

There’s a single-player campaign, online multiplayer with ranked/unranked modes and an asynchronous multiplayer mode for offline play with friends. There’s also a sandbox mode, where you can control both teams.

Grab a copy on Steam for $14.99 (around £13, AU$20) or get 20% off the Optimized Edition, which includes the Optimization Pack for $23 (around £17, AU$31).

CheckiO screenshot

(Image credit: CheckiO)

3. CheckiO

Working with the Javascript and Python programming languages, CheckiO helps you to improve your coding skills through fun tasks, games and challenges.

A similar offering to CodinGame, CheckiO supports everyone from beginner to advanced-level programmers. You must make your way through a series of islands, beginning with “initiation” (very easy challenges). When you beat one, you unlock the next.

While CheckiO is mostly free, it offers a membership package called “Awesome Member”. You can pay monthly for $2.99 (around £2, AU$4) 6-monthly for $14.99 (around £11, AU$20), annually for $24.99 (around £18, AU$34).

Hop on to CheckiO now to learn or improve your coding skills.

Human Resource machine screenshot

(Image credit: Tomorrow Corporation)

4. Human Resource machine

Developed and published by Tomorrow Corporation, Human Resource Machine is a programming puzzle game.

In HRM you have to program

Read More

Programming languages: This sneaky trick could allow attackers to hide ‘invisible’ vulnerabilities in code

Programming languages: This sneaky trick could allow attackers to hide ‘invisible’ vulnerabilities in code

If you’re using the Rust programming language — or JavaScript, Java, Go or Python — in a project, you may want to check for potential differences between reviewed code versus the compiled code that’s been output. 

The Rust Security Response working group (WG) has flagged a strange security vulnerability that is being tracked as CVE-2021-42574 and is urging developers to upgrade to Rust version 1.56.1. 

News of the obscure bug was disseminated in a mailing list today. The Rust project has also flagged the Unicode “bidirectional override” issue in a blogpost. But it’s a general bug that doesn’t affect just Rust but all code that’s written in popular languages that use Unicode.

SEE: Cloud security in 2021: A business guide to essential tools and best practices

Since it is Unicode, this bug affects not just Rust but other top languages, such as Java, JavaScript, Python, C-based languages and code written in other modern languages, according to security researcher Ross Anderson.

Open-source projects such as operating systems often rely on human review of all new code to detect any potentially malicious contributions by volunteers. But the security researchers at Cambridge University said they have discovered ways of manipulating the encoding of source code files so that human viewers and compilers see different logic. 

“We have discovered ways of manipulating the encoding of source code files so that human viewers and compilers see different logic. One particularly pernicious method uses Unicode directionality to override characters to display code as an anagram of its true logic. We’ve verified that this attack works against C, C++, C#, JavaScript, Java, Rust, Go, and Python, and suspect that it will work against most other modern languages,” writes Anderson, detailing this bug and a similar “homoglyph” issue tracked as CVE-2021-42694.

“The trick is to use Unicode control characters to reorder tokens in source code at the encoding level. These visually reordered tokens can be used to display logic that, while semantically correct, diverges from the logic presented by the logical ordering of source code tokens. Compilers and interpreters adhere to the logical ordering of source code, not the visual order,” the researchers said. The attack is to use control characters embedded in comments and strings to reorder source code characters in a way that changes its logic.

Software development is international and Unicode — a foundation for text and emoji — supports left-to-right languages, such as English, and right-to-left languages, such as Persian. It does this through “bidirectional override”, an invisible feature called a codepoint that enables embedding left-to-right words inside a right-to-left sentence and vice versa. 

While they’re normally used to embed a word inside a sentence constructed in the reverse direction, Anderson and Microsoft security researcher Nicholas Boucher discovered that they could be used to change how source code is displayed in certain editors and code-review tools. 

It means that reviewed code can be different than the compiled code and shows how organizations could be hacked through tampered open-source code. 

Read More

A.I. Can Now Write Its Own Computer Code. That’s Good News for Humans.

A.I. Can Now Write Its Own Computer Code. That’s Good News for Humans.

As soon as Tom Smith got his hands on Codex — a new artificial intelligence technology that writes its own computer programs — he gave it a job interview.

He asked if it could tackle the “coding challenges” that programmers often face when interviewing for big-money jobs at Silicon Valley companies like Google and Facebook. Could it write a program that replaces all the spaces in a sentence with dashes? Even better, could it write one that identifies invalid ZIP codes?

It did both instantly, before completing several other tasks. “These are problems that would be tough for a lot of humans to solve, myself included, and it would type out the response in two seconds,” said Mr. Smith, a seasoned programmer who oversees an A.I. start-up called Gado Images. “It was spooky to watch.”

Codex seemed like a technology that would soon replace human workers. As Mr. Smith continued testing the system, he realized that its skills extended well beyond a knack for answering canned interview questions. It could even translate from one programming language to another.

Yet after several weeks working with this new technology, Mr. Smith believes it poses no threat to professional coders. In fact, like many other experts, he sees it as a tool that will end up boosting human productivity. It may even help a whole new generation of people learn the art of computers, by showing them how to write simple pieces of code, almost like a personal tutor.

“This is a tool that can make a coder’s life a lot easier,” Mr. Smith said.

About four years ago, researchers at labs like OpenAI started designing neural networks that analyzed enormous amounts of prose, including thousands of digital books, Wikipedia articles and all sorts of other text posted to the internet.

By pinpointing patterns in all that text, the networks learned to predict the next word in a sequence. When someone typed a few words into these “universal language models,” they could complete the thought with entire paragraphs. In this way, one system — an OpenAI creation called GPT-3 — could write its own Twitter posts, speeches, poetry and news articles.

Much to the surprise of even the researchers who built the system, it could even write its own computer programs, though they were short and simple. Apparently, it had learned from an untold number of programs posted to the internet. So OpenAI went a step further, training a new system — Codex — on an enormous array of both prose and code.

The result is a system that understands both prose and code — to a point. You can ask, in plain English, for snow falling on a black background, and it will give you code that creates a virtual snowstorm. If you ask for a blue bouncing ball, it will give you that, too.

“You can tell it to do something, and it will do it,” said Ania Kubow, another programmer who has used the technology.

Codex can generate programs in

Read More