SYLLABUS
GEEN 1400, SECTION 050/051: LEGO ROBOTS
SPRING 2007
Instructor: Kevin Bauer
Email: kevin.bauer@colorado.edu
Office hours: Monday 1-3pm and by appointment in ITLL 2B10
TA: Trevor Mugele
Email: trevor.mugele@colorado.edu
Office hours: Wednesday 5-7pm in ITLL 2B10
TA: Albert Wu
Email: wua@colorado.edu
Office hours: Tuesday 5-8pm in ITLL 2B10
Web Site: http://csel.cs.colorado.edu/~bauerk/legorobots
Calendar: http://csel.cs.colorado.edu/~bauerk/legorobots/calendarS07.htm
Moodle: http://moodle.cs.colorado.edu
Meeting Times:
Lecture: 12:00pm - 12:50pm Monday in ITLL 160
Laboratory: 12:00pm - 1:50pm Tuesday and Thursday in ITLL 2B10
Course Description
GEEN 1400, Section 50 (LegoRobots) is a hands-on, learn-by-doing
class in which participants design and build a robot that will play in
a competition at the end of the class. From the student's perspective,
the goal of the class is to design a robotic machine that will be able
to navigate its way around the playing surface and successfully
interact with game objects, including the opposing machine. The
machines built by students of LegoRobots are real robots. They are
fully autonomous entities, operating under their own battery power
with a microprocessor in control. LegoRobots robots operate without
human intervention. The design of a LegoRobots robot is a complex
task, because the robot must be designed intelligently with respect to
mechanical, electronic, and control factors.
The real goal of LegoRobots is to teach students about engineering and
design by giving them the hardware, software, and information they
need to design and build an operational robot. We hope that LegoRobots
students will, by actively engaging in the process themselves, come to
appreciate engineering design as an essentially creative process.
LegoRobots includes concepts and applications that are related to
various CU engineering classes; however, there are no formal
prerequisites for the course. We believe that people can learn
everything they need to know by working with each other, being
introduced to some material in class, and mostly, by working on their
robots.
Textbook
The reference material for this course, including the textbook in html
format, is accessible online from the course web site at
http://csel.cs.colorado.edu/~bauerk/legorobots.
Laboratory Costs
Your LegoRobots kit is valued at over $750. The LegoRobots kit
includes everything you need to build a functional robot, including a
complete set of electronic hand tools, such as a soldering iron,
diagonal cutters, long nose pliers, wire strippers, multi-meter, and
several other useful implements. You will be required to pay the full
replacement cost of any non-consumable item in the LegoRobots
electronics, LEGO, or tool kit that is not returned in good condition
at the end of the semester.
Although this course is supported in part by the university, some of
the budget comes from a laboratory fee of $40 per student. This fee
will be used to partially defray the cost of materials that can only
be used once. If this fee represents a hardship, contact the
instructor.
If you have any questions about this policy, contact the instructor.
Team Organization
In many ways, the quality of the interactions of the members of your
team will profoundly affect the quality of your overall experience in
LegoRobots. There are important questions to be answered when thinking
about the organization of your design team:
Will each participant be responsible for one portion of the
design? Conversely, will all participants take part in all activities?
How will major design decisions, like the overall machine
strategy or physical configuration, be made? Will there need to be a
consensus amongst all of the team members before these types of
decisions will be made?
How will disputes be resolved?
These are tough questions that rarely have simple answers. We
recommend that questions like these be taken seriously, and that each
team spend time discussing these issues at the start of the
course. Each team should come up with a solution that works best for
them.
Credit and Grading Guidelines
LegoRobots is offered for three hours of credit. Your grade will be
based on the following:
- Class/Lab Attendance and Participation (20%) -
Students in LegoRobots are not required to take
exams, but they are required to attend class. Much of the material
presented in class is complementary to the material learned in lab,
and for that reason, we require class attendance. You may miss up to
two classes for any reason without penalty. After that, missed classes
will result in a grade penalty of one third of a letter grade per
missed class. Those with extraordinary circumstances such as serious
illness should contact the instructor.
- Lab Reports (15%) -
For each milestone completed, each team must complete
a lab report providing a detailed account of their design and construction
process. This document is to be completed as a team. A lab report will be due
exactly one week after your team completes a milestone, not necessarily one
week after the milestone is due. Specific requirements for these lab reports
will be described in class.
- Intermediate Milestones and Mini-Programming Assignments (35%) -
You must meet a series of
intermediate deadlines during the course of the semester. These
deadlines are intended to encourage you to make regular progress on
your robot. The robot(s) that you use to meet these intermediate
milestones will not necessarily represent your final design; they
probably will be small simple robots built to test a few construction
ideas. This is a good way to approach the course. Plan on iterating
your robot design many times. When you accomplish one of these
milestones, be sure to let a lab assistant or the instructor know so
that we can celebrate with you and verify the results. Also, record
your success in your team lab reports. The milestones are
the following:
- Mobile Robot: Your robot should be able to cross the game board
under its own power by February 1.
- Robot Has a Meaningful Encounter With a Wall: Your robot should be
able to move forward until it finds a wall and then back up.
Deadline: February 8.
- Robot Follows a Line: Your robot should be able to track a black
line on a white background and a white line on a black background by
March 1.
- "Beat the Brick:" Your robot should be able to score at least one
point against an inert placebo by March 15.
- Score a Goal: Your robot should be able to score at least one goal
by April 12.
- Repeat "Beat the Brick":
Your robot should be able to "beat the brick" on two
consecutive attempts by April 26.
The milestones are graded only on whether they are completed on time.
If the instructor or a TA verifies that you have completed a milestone
any time before the end of the lab period during which it is due, you
will receive an "A" for that milestone. After the deadline, you will
lose one letter grade per lab period until the milestone is completed.
Remember, milestones must be verified by the instructor or a TA in
order to count for a grade. Don't fall behind!
The Mini-Programming assignments consist of several short assignments designed
to evaluate your understanding of the fundamental programming concepts covered
in class. During this course, your will become familiar with the C programming
language. A
working knowledge of the C programming language is essential in order to
construct a successful robot. These assignments must be completed in C using the
course's programming environment. More details about these assignments will be
given in class.
- Final Report (20%) - Each team will produce a written report about
their robot, due on Monday, May 7 by 11:55pm
(this report takes the place of the final exam). Specific requirements for the final report will be described
in class.
- Completed Robot - Your team must "show" a robot both days of the
contest (i.e., all team members must be present and you must have a
finished robot with you; it need not work). Your robot's functionality
(or lack thereof) has no effect on your receiving credit for the work
that you have done; the design reports will be the main indicator of
your participation.
- Peer Evaluation (10%) - All members of each team will evaluate each
other's performance.
These course requirements are meant to be useful both to you, the
course participant, and to the instructor, who will be assigning a
grade for the course. If you have any questions about your standing in
the course at any time, feel free to ask the instructor for feedback.
All written assignments are to be submitted electronically using the
Moodle unless otherwise specified.
Schedule
The schedule of activities between the start of the semester and the
final competition is very tight. You will have to work steadily and
with determination to produce a working machine by the end of the
course. Consult the course calendar
or the Moodle for a complete
list of events.
The course will have several meeting formats:
- General Lecture - The function of the general lecture is to
discuss the basic material required to design and construct a working
robot, as well as discuss engineering principles. Attendance is mandatory.
- Scheduled Laboratory Time - This is supervised time for building
your robot. Attendance is mandatory.
- Extra Laboratory Time (optional) - This is extra time for building
your robot. The instructor or a TA will be available at extra lab
sessions. You may also have milestones verified (for a grade) during
the extra lab times. Times are Monday 1-3pm (Kevin),
Wednesday 5-7pm (Trevor), and Tuesday 5-8pm (Albert).
You must show up at the beginning of the optional lab
period, or make other arrangements in advance, in order to guarantee
that the instructor or a TA will be there.
- Open Laboratory Time (optional) - You may work in lab at any time
outside of the scheduled lab times any time that the ITLL is open. No
supervision or assistance will be available.
Final Tournament
The course will conclude with a robo-basketball tournament in which
each robot will participate. Your attendance is MANDATORY at BOTH
rounds of the tournament. See the course Web Site for a description of this year's contest:
http://csel.cs.colorado.edu/~bauerk/legorobots
Qualification Round
Your robot must qualify during the first round, which will be held
on Thursday, May 3 (12-2pm). All members of the group must be present. At some point
during the day, your robot must successfully score one point against
an inert opponent.
Tournament Round
The tournament will begin at 5pm on Friday, May 4. All members of the group must be
present.
Robot Disassembly and Parts Return
Prior to receiving credit or a grade for the course, you must
disassemble your robot, return all parts, tools, etc. to the
appropriate containers. Disassembly will follow immediately after the
tournament.
Other course policies
Disabilities
If you qualify for accommodations because of a disability, please give
the instructor a letter from Disability Services so that your needs
can be taken care of.
Religious observances
If there is a conflict between a religious holiday and the class
schedule, please let the instructor know far enough in advance to make
alternate arrangements.
Other university policies
Please acquaint yourself with the following pages:
University of Colorado Academic Honor Code
www.colorado.edu/policies/classbehavior.html
www.colorado.edu/policies/discrimination.html