Wolfram Language
Computational Thinking isn't much use without something to actually do the computations. You may be familiar with Wolfram Alpha. Its immense power of Natural Language Input ==> Computed, Detailed Output is powered by the Wolfram Language. The Wolfram Language is a Symbolic, High-Level, Interactive, Functional, Knowledge-Based Computer Language. Here's what that means:
Symbolic: Anything can be input or output. Feel free to try adding a string and an image! The worst thing that can happen is your code coming back unchanged.
High-Level: The Wolfram Language knows how to do a lot without you telling it. If it seems conceptually simple and a computer can do it, the Wolfram Language has a function for it.
Interactive: Autofill, automatic coloring of code, a suggestions bar, and integrated language documentation help you write your code. To run, simply press Shift-Enter. The result appears in an output cell. You can easily go back and modify your code and decompose or debug a program by running each component on its own. The interface is specially designed for writing documents with code.
Functional: The way you make stuff happen in the language is predominantly by applying functions, just like in math, except that the symbolic nature of the language allows the inputs and outputs to be anything. Never fear, though; the Wolfram Language has full support for procedural programming constructs as well.
Knowledge-Based: Not only does the Wolfram Language know how to do a lot of things, it has many of the best known algorithms (in some cases discovered by the developers) built in for accomplishing advanced tasks. Beyond this, the Wolfram Language links to the Wolfram Knowledgebase for data about almost anything conceivable.
And one more thing: The Wolfram Language makes use of Wolfram Alpha's natural language understanding to enable you to use Natural Language Input in any piece of code.
The Wolfram Language is for everyone, not just mathematicians or programmers!