Coding With Processing, Part 2

I’m continuing to work through Daniel Shiffman’s book, Learning Processing, and I have just finished the chapter on conditionals. I wrote a program that animates a rectangle and ellipse, and depending on their positions in the window their colors and shapes change. You can click here to see it run in openprocessing.org.

Here’s a gif of 3 seconds of it in action:

 

 

Advertisements

The Future of Coding? Check out Wolfram Language

Earlier this year, I taught a mini-course in computer coding, and it rekindled my interest in that science. I just came across a video where Stephen Wolfram (of Mathematica fame) previews a new language he’s been developing for 30 years. Here’s the official description:

Designed for the new generation of programmers, the Wolfram Language has a vast depth of built-in algorithms and knowledge, all automatically accessible through its elegant unified symbolic language. Scalable for programs from tiny to huge, with immediate deployment locally and in the cloud, the Wolfram Language builds on clear principles—and 25+ years of development—to create what promises to be the world’s most productive programming language.

It looks to be relatively easy to use, while incredibly powerful. In fact, I’ve never seen anything like it. From what I can tell, in many cases the coder can simply type what he or she would like to see, and Wolfram Language converts the text into code:

Wolfram1

 

It links to the cloud, and data from WolframAlpha or any other site can be incorporated into it.

The video is 13 minutes long, but well worth your time if you’re interested at all in the future of coding:

Here is a link to the reference guide to Wolfram Language.

Teaching Coding, Part 7

Yesterday, we wrapped up our study of Python by working through a rather complicated program of Hangman. You can see the source code here. It has several defined functions, lots of else-if statements, for loops, and lists. I think the girls were a little overwhelmed; by the time we got to the end of the program, their eyes were glazed over!

So, for a fun change of pace, we began working with MIT’s AppInventor. This is a website that allows the user to create Android apps. It’s very similar to Scratch, which we worked with in the beginning of this coding minicourse. You can login with a Google account, and it automatically saves your projects as you build them. There are some excellent tutorial screencasts that walk the beginner through the basics. After about 45 minutes, you will have created your own working  smartphone app! The first one we built had a picture of a cat meow when you tap the phone’s screen.

Here’s a screenshot of the designer page, where the components of the app are put together:

designer

The left pane contains the various components and layout options. The middle pane simulates the phone’s screen. The third and fourth panes let you modify each component’s properties.

The Blocks page is where you actually program the components of the app. As you can see below, it works just like Scratch, with drag and drop blocks of code:

blocks

Today, we will build a painting app that lets the user take a picture and paint on top of it.

Teaching Coding, Part 6

We spent most of yesterday’s class sharing each others’ games. The girls came up with some very entertaining ones. For example, this one made use of Robert Frost’s famous poem, The Road Not Taken:

Roads

In this game, a tardy student has to avoid getting caught by the principal!

School

Another one reads like an interactive novel, with the user deciding if the protagonist is male or female, if a character has a key to a mysterious trunk, etc. Her code fills eleven pages when it’s pasted into Word!

In the next class, we are going to analyze our final Python program, Hangman. This program introduces ASCII art, lists, for loops, and else-if statements.