Introduction to Alice 2.0 Programming
Alice
was designed to teach object-oriented principles to novice programmers, all
while helping them to create exciting, three-dimensional worlds for animations
and games.
This course will show you how to create programs that use basic programming
concepts like variables, decisions, events, loops, and arrays. The best part is
that you'll be able to learn and practice these techniques while creating
programs in a three-dimensional world. This makes programming more fun and
easier to learn.
By the end of the course, you'll be able to make interesting three-dimensional
worlds that your audience can view like movies or play like interactive video
games. You'll also be able to take the concepts you've learned here and apply
them to other object-oriented languages like Java, C++, C#, or Visual Basic.
To enroll in this course, click the Enroll Now button below:
Requirements:
Alice v2.0 is a free download at www.alice.org. There are Alice 2.0 versions for Microsoft Windows (ME, NT, 2000, XP, and Vista). Additionally, there are Alice 2.0 releases for Mac OSX and Linux. You will also need Internet access; e-mail; and the Netscape, Firefox, or Internet Explorer Web browser.
Syllabus:
All Ed2go courses run for six weeks, with a two-week grace period at the end.
Two lessons are released each week for the six-week duration of the course. You
do not have to be present when the lesson is released, but you must complete
each lesson within two weeks of its release.
A new section of each course starts on the second or third Wednesday of each
month. If enrolling in a series of two or more courses, please be sure to space
the start date for each course at least two months apart.
| Week One |
| Wednesday - Lesson 01 |
| What would you say if I told you that after only a
single lesson in Alice, you'll be able to write an animated,
three-dimensional movie? Well, that's exactly what you'll do in this
first lesson. You'll start off by learning how to get Alice onto your
computer, and then we'll take a tour through the different areas of the
Alice interface. You'll finish by writing the classic "Hello World!"
program, only this time as an animated three-dimensional Alice world! |
| Friday - Lesson 02 |
| Now that you've gotten to know Alice, I'll show you
how to design and develop your three-dimensional world. We'll talk about
moving, turning, and rotating objects in three-dimensional space. You'll
also learn a little bit about the Alice object's built-in methods that
allow the objects to move, turn, rotate, and many other things while the
world plays. |
| Week Two |
| Wednesday - Lesson 03 |
| It's now time to let your imagination run wild with
Alice. In this lesson, you'll get a chance to write some instructions
for your objects to help them move and interact with one another.
Specifically, I'll show you how to get a couple of Eskimos to go for a
walk around their igloo. Does this sound challenging? Well, after you
work through this lesson, you'll see just how easy Alice makes it. |
| Friday - Lesson 04 |
| So far, all of our worlds have executed our program
statements, one after another. That's fine, but to make things more
interesting, there are times when you'll prefer for one set of
statements to run under one condition, while another set runs under a
different condition. In programming terms, this is the decision
structure, and that's what Lesson 4 is all about. We'll also talk about
how to get user input, which will help you make your worlds interactive
and create a more personal experience for your users. |
| Week Three |
| Wednesday - Lesson 05 |
| Programming structures like the If statement are
great. But Alice is all about having fun. In this lesson, we'll take a
break from structures and work on precisely placing three-dimensional
objects. We'll also look at some interesting object properties that can
make your programming life so much easier. Finally, we'll explore how to
make certain parts of the objects move to add a little more realism to
your worlds. |
| Friday - Lesson 06 |
| Now we'll turn back to programming structures and
talk about the repetition structure. This is a powerful tool because
now, instead of writing the same instructions over and over, we can just
place a looping structure in our code to get the same results. We'll
also explore one of the really fun parts of programming—the generation
of random numbers. You can use this to make your objects move at random,
or you could even create three-dimensional games of chance. |
| Week Four |
| Wednesday - Lesson 07 |
| In this lesson, we'll do a little space exploration
while learning about keyboard events. We'll start with the space
template and some out-of-this-world objects, and then use the keyboard
events to maneuver a spacecraft around the lunar surface while trying to
discover some alien life forms. You'll also learn a little about
user-defined methods and write one of your own. This will help you to
organize the code in your program and make it easier to write at the
same time! |
| Friday - Lesson 08 |
| Now that you've learned how to write your own
methods, it's time to learn about writing your own functions. What's the
difference? Well, our functions will return some value. That means that
in this lesson, you'll not only learn how to write code to perform
numeric calculations, but you'll also learn how to write code to answer
some questions about your objects. Again, this is going to help to make
your world code better organized and easier to read. |
| Week Five |
| Wednesday - Lesson 09 |
| At this point, we've gone into a lot of programming
structure, so we'll take a break in Lesson 9 and put these concepts into
action with a flight simulator. It may be a little daunting to think
about writing a whole three-dimensional flight simulator in a single
lesson, but it's true. And with Alice, it isn't too hard. After all,
what is a flight simulator? We'll just need a loop to move the plane
forward while giving the user the ability to turn the plane in a
different direction. Add in a three-dimensional hedge maze, and we're
ready to do some flying! |
| Friday - Lesson 10 |
| Alice will give you access to a lot of different
three-dimensional objects, but what about images that you've made? While
creating three-dimensional objects is way beyond the scope of this
course, it's really easy to add two-dimensional images, or even to use
these images as the texture of your objects. In this lesson, you'll not
only learn how to work with two-dimensional image files, but also how to
import and use sound files. Here's your chance to add a soundtrack to
your three-dimensional world! |
| Week Six |
| Wednesday - Lesson 11 |
| So far, we've only worked with single objects. This
is interesting enough, but what if you want a group of objects to work
together? What if you want the Rockettes to do a little dance? Or maybe
you want to create a synchronized swimming routine? This could mean a
lot of coding if you're using single objects. But fortunately, Alice
allows you to use the List structure to help animate groups of objects
with far less trouble. By the end of this lesson, you'll be able to give
your users a nicely synchronized dance routine with only a minimal
amount of effort. |
| Friday - Lesson 12 |
| You've learned an awful lot about animation in this course. But really, Alice was created to teach you programming. So I want to use our last lesson together to show you how easy it is to animate a common sorting programming subroutine—the Bubble Sort. Students often have difficulty visualizing this sorting algorithm. But visualization is Alice's specialty. So in our final lesson, you'll learn a little bit about array structures and use your knowledge of methods to animate the Bubble Sort so that you can watch the algorithm as it takes place. This will be especially helpful if you decide to move on to programming in a language like Visual Basic, Java, or C#. |
To enroll in this course, click the Enroll Now button below:
Students who enrolled in Alice 2.0 Programming, Introduction to were also interested in the following courses:
Introduction to C++ ProgrammingIntroduction to C Sharp Programming
Introduction to Python 2.5 Programming
Introduction to Java Programming
Intermediate PHP & MySQL
Introduction to Visual Basic 2005

