UC San Diego Academic Connections
About Us Our Program FAQ's Apply Now Contact Us Home Search
Courses Courses
Course Title:
Introduction to Object-Oriented Programming with Alice
Department: Electrical Computer Engineering

Instructor: Tasha Vanesian
Instructor Email:
tcvanesi@ucsd.edu
Prerequisites: A desire to have fun while learning to program!

Course Description: This course is intended to give students a fun, hands-on introduction to object-oriented programming concepts using the Alice programming language (www.alice.org).  College students at Ithaca College and St. Joseph’s University who were introduced to computer science with Alice not only had a better grade in CS1, but they were almost twice as likely to continue in the computer science major.  Alice provides an easy transition to other programming languages such as Java and C++.

In this class, students will learn how to program by creating their own storyboards, animations, and games.  Open-ended mini-projects will reinforce concepts discussed in class.  Students will design and implement a final project to showcase the programming skills they have learned.  The website for this class is located here: http://ieng9.ucsd.edu/~tcvanesi/AliceCourse/index.html.  You can find examples of student projects from last year here: http://ieng9.ucsd.edu/~tcvanesi/AliceCourse/StudentProjects.  Last year’s students agreed the best part of the course was the unlimited creativity allowed with the projects.

Course Objectives:

By the end of the course, students will be familiar with algorithmic thinking and object oriented programming concepts.  They will demonstrate these skills in a creative final project, which will be a storytelling animation or a game.  More importantly, students will be exposed to the world of computer science, and will be able to make an informed decision about pursuing computer science as a major in college.  There will also be opportunities for students to meet faculty, graduate students, and industry workers in computer science.

Expectations:

Students will come to class with a respectful, positive attitude.  Programming assignments will, for the most part, be individually created during class hours; however, students are encouraged to collaborate about ideas and assist each other with troubleshooting.  At least one of the weekly projects will give students the option to work in teams.  Class participation will be an integral part of this course, and students will present their weekly projects to the class.  Students are also expected to keep up with the reading for the course.

Course Outline:

Week 1: The first week will be an introduction to the Alice programming environment and the use of storyboards as an algorithmic program design technique.  Students will begin programming immediately, and will be introduced to the concepts of classes, objects, methods, and simple control structures.

Week 2:  The second week will reinforce the ideas of object-oriented programming through open-ended mini-projects.  Students will additionally learn about event handling and more about control structures.  Near the end of the week, recursion will be introduced, and students will start the planning stage for their final projects.

Week 3:  The final week will be mainly devoted to designing and implementing a final project animation.  Additionally, there will be discussions of more advanced topics such as lists, variables and inheritance, arrays, and debugging.  The last class meeting will be a showcase of final projects, with students voting for their favorites in such categories as most original, funniest, and most popular.  Storyboards and computer demonstrations of the final project will be on display at the Academic Connections closing ceremony.