Course Title: |
| Introduction to 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: Computer science is losing popularity as a chosen major in college. One reason offered to explain the declining popularity of computer science is that students do not have a chance to learn how to program before they are required to declare a major. 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 and animations. 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
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 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 and graduate students in computer science, and to see that computer scientists are not geeks, nerds, or dorks!
Expectations:
Students will come to class with a respectful, positive attitude. Programming assignments will be individually created during class hours; however, students are encouraged to collaborate about ideas and assist each other with troubleshooting. Class participation will be an integral part of this course, and students will present assignment solutions and the final project to the class.
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, and methods.
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 control structures. Near the end of the week, 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 and transitioning to other programming languages (Java/ C++). 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. |