CS 1150 PEEE   Programming Robots

Overview

You have experienced programming in two environments—a graphical/blocks-oriented language and a text-based language. This next activity provides an additional environment, robots. Typically robots are less precise than sprites and turtles on the screen. Also, the external environment affects how the robot works. But, robots are fun for kids (and many adults, for a while at least) and offer a new way for them to exercise power over their environment, apply/develop problem solving skills, and exercise their ingenuity and creativity.

The goal of this activity is to familiarize you with robot programming. Hopefully, it will provide an experience that allows you to decide whether to use robots with your students and some guidance when doing so.

Most of the rest of the course will be spent working on two activities simultaneously—your project programs and exploring robot programming (this activity). The beginning part of class time will be used to address any project questions that arise. The remaining portion of class time will be devoted to groups working on the programming of their robots.

Assignment Expectations

The end result of this activity is to be a report about the experience. The report should result from your group discussing the items below. We will use one class period to share these ideas so that all students can gain some insight into the various robot experiences in the class.

Robot Tasks

Your first task will be to familiarize yourself with your robot and prepare to start programming it. You may need to download and install some software. Then, you will want to familiarize yourself with the programming environment, perhaps trying to give your robot some commands. Finally, you should produce code that directs your robots to do the following tasks. Most of the tasks are meant to add to your knowledge of the robot's capabilities and the programming style/mindset needed by asking you to solve relatively simple tasks. Note that the last task allows you to do something of your own choosing. Try to make it fun, interesting, and challenging.

When coding these tasks, if it is possible, create new instructions for doing so, to allow you to refer to the new instruction/block rather than duplicating or reproducing the code.

Report Submission

When your group is done with its report, it should be submitted to me. That message should:

Please do not use the submission message to ask questions. I will likely not see them until I start grading the submissions.

Grading

Grading will examine your report and consider contributions during class sharing. During sharing we will address each of the questions for each set of group (groups will not make individual presentations).

Responding (in the report) to each of the questions in a reasonable manner should yield at least a grade of B. More complete, thoughtful responses that indicate reflection (more so than mere reaction) should result in a better score/grade. Having a full group discussion of (rather than just listing things for) each of the questions should produce better results.

Groups will take turns responding to the questions during class discussion. Each question will start with a different group. The quantity and quality of those contributions will affect the group's score/grade (to a lesser extent than the report).

Since nearly all this work is done in class attendance is critical. If you are absent you need to notify me and your group and make arrangements with your group to "catch up" and/or make up for the the missing contribution. Absences can affect an individual score on this assignment, perhaps significantly!