We've covered quite a lot so far. You've learned about different forms of
primitive data like numbers and strings and images.
You've learned about expressions like if and con, how to define functions and
constants, the rules for evaluating DSL code.
You've also learned the how to design functions recipe, the how to design data
recipe, and how to use the data-driven template rules.
You really learned quite a lot. But you had to be a certain kind of
patient. Because the programs we've written so far
have been kind of boring. A function that consumes a seat number
and tells you whether it's on the aisle might be useful as part of a big system.
But the function itself isn't very exciting.
That's going to change this week. This week we're going to start to get
into interactive programs. So I mean things like animations, and
games, and the kind of desktop applications that you might use every
day. Now, I want to stress something about the
way our programs are going to look. Here for example, is a fireworks program
we might design. And what I'm doing is I'm shooting off a
bunch of fireworks and they rise into the sky and explode beautifully like that.
Now, that graphic quality there isn't fantastic.
It's not Harry Potter Deathly Hallows fantastic.
That's the way our programs are going to look this week.
Because graphic quality is something that requires a great deal of mass
sophistication, and a great deal of programming power.
So we're going to have simple graphics. But the basic structure of our programs,
the basic structure of our animations and games, and desktop applications.
Is really going to be like the same structure of the more sophisticated
versions. So by the end of this week you'll be able
to design interactive programs. And I'll think you'll also have a better
understanding of how some of the programs that you use every day work.
In fact, project one, which you'll start at the end of this week.
Is to complete the design of a simple one line text editor, kind of like the text
editor you use on your phone when you want to send a text message.