Programming Fundamentals in a Virtual World with Alice, CMP969
Course Description:

Use "Alice" software to build fun, user-friendly "virtual" and "dynamic" worlds with graphics and sound. Learn the concepts of modern programming using graphics, objects, and building "virtual worlds" using Alice, Carnegie Mellon's graphics-rich teaching environment. Call upon Alice, the Cheshire Cat, White Rabbit, penguins, and other graphics to learn event-driven programming, sequencing, looping, logic structures, recursion (structure and object repetition) variables, arrays, and incorporating text and sound.
The textbook includes a CD with graphics and a copy of the Alice programming software which can be installed at home. This course is for beginning programmers and web designers, and students taking their first programming course.
This course satisfies the prerequisite for the Modeling and Simulation Track, Programming.NET I, C++ I, Java Level I. It provides the foundation for scripting and web languages such as JavaScript, Flash Action Script, PHP, Cold Fusion, and other courses and sequences.
This course is for beginning programmers and web designers and developers, people interested in 2-D and 3-D modeling and simulation careers, students who have never taken a programming course, and students who may have learned other languages and are interested in learning about modern object-based programming languages.
Prerequisites: Computer Basics and Working with Windows XP or Working with Vista or equivalent experience with File Management
Textbook: Purchase at the Rockville Campus Bookstore and bring to first class along with a USB Flash Drive/memory stick (at least 512 MB).
Classroom hours: 18
Course Objectives:
- Create beginning object-oriented computer programs to solve problems
- Understand event and object-driven programs
- Apply and understand algorithm and logical programming concepts including logical structure, selection and branching sequences, loops, counters, "while" statements, Boolean logic, and recursion
- Apply and develop programming lists and arrays
- Use and apply text and sound in software programs
Course Outline
- Day 1
- Introduction to Object-Oriented Programming and Alice
- Developing Methods in Alice
- Day 2
- Events in Three Dimensional Space
- Event-Driven Programming
- Day 3
- Algorithms and Logical Structure
- Flowcharts
- Linear Sequences
- Selection Sequences - Branching, Binary, and Multiple Branching
- Repetition Sequences - Looping
- Alice Tutorials, assign as homework or labs
- Day 4
- Boolean Logic in Programming
- Day 5
- Text and Sound in Alice Worlds
- Recursion, Recursive Algorithms
- Day 6
- Lists and Arrays