CSCI 180:
Robot and Mind
Essentials
Objectives
Combining a traditional reading/writing format
with hands- on experience in building and programming robots, this
freshman seminar aims to give you a deep understanding of the
philosophical issues raised by the possibility of machines that think and act.
Readings and discussion from the
classic and contemporary robotics and cognitive science literature
will
be complemented by guest lectures from specialists in these areas. No
prior experience in robotics, engineering or computer science is
assumed, though students with such background will have ample
opportunity to challenge themselves with more advanced projects.
Responsibilities
Your primary responsibility in this class is to have fun. From my
perspective, having fun (as opposed to just goofing off) is what motivates
people to do good work and good science. If this class ever stops being
fun, you need to yell at me, either directly or through the
class blog.
More concretely, your responsibilities in the class will be:
- participation; i.e.,
showing up and talking and (to a lesser extent) posting to the blog
- writing two short (8-10 pages each, double-spaced) papers
- proposing, designing, and presenting a final robot project
One of the papers
will describe your research and thinking on an issue that interests you,
from a scientific/philosophical non-fiction perspective.
The other paper will describe how the fiction reading you chose engages with
that issue or another.
The project can be a
team or individual project; the main thing is for everyone to take some
issue in the readings that excites you and explore it with a robot.
Each of you will give a short (around 20 minutes) end-of-term presentation
on your project or on your contribution to the group project. I will invite
other faculty and perhaps students to this talk, so you will be motivated to
make your work accessible to a general audience.
Robots
Our main robot platform will be the
Lego Mindstorms NXT kits. Although
they are sold "for ages eight and up", these extremely popular kits have
been used for learning and research at all levels, elementary-school through
Ph.D. Non-programmers can use the simple graphical programming environment
that comes with the kits, based on the popular
LabView platform. Students with some
exposure to programming
(like CSCI 111 or a
high-school computer science course) can quickly move on to programming the
NXT in
Python,
Java,
C++,
and other popular languages.
We also have three
Khepera-II robots,
for more advanced projects where algorithms/programming (rather than construction) is the
is the focus. and two
grippers for them, allowing them to pick up and move small
objects. These robots come pre-programmed with some of the behaviors from
the Vehicles book that we will be reading, but the real fun is
to program in them yourself. One very worthwhile project this term
would be to get the
Pyro
(Python Robotics) software working with our Kheperas through
Bluetooth wireless.
The Quagents
(Quake Agents) software package provides a powerful,
virtual environment for exploring some of the issues central to this course.
Based on the Quake II videogame, Quagents allows you to program the enemy soldiers
as robots. As with any simulation, the advantage is that you can
explore a richer variety of environments and behaviors than would be practical,
safe, and affordable with real robots. By using a free software tool
like QuARK to develop virtual worlds,
and a simple Python
API for programming the 'bots, we can
explore some interesting issues like team behavior.
Readings
The following two books are required:
We will also read at least one research paper, such as
If there is enough interest in
a particular issue, we will read a paper on that topic.
You will also read a fiction book of your choice and write a paper relating it
to the topics we're studying. Here are some suggestions:
Blogs
I have set up a blog for the course,
which I encourage you to use as an alternative to email for the exchange of
information that can be shared with the class (as opposed to private issues,
which of course should be sent directly to me). My main motivation for this
is learning from past experience: people love to send me
links to robots in the news, which I then share with the class by email. This
kind of sharing is what blogs were made for: just post it yourself, with a good comment.
Maybe you'll see a cool new
sensor that you've just gotta have for your project. I'm more likely to
be persuaded to buy it for you if you can express your enthusiasm in a blog post.
If you already have a
GMail account, please
send it to me; otherwise, set one up and
send it to me. This will enable us all to post to the blog.
I also encourage you to read the following blogs daily:
- Slashdot. The original tech blog, and
still the best.
- BoingBoing. Gadgets, gizmos, geeks +
trends, art, and culture.
Attendance, Preparation, & Pop Quizzes
This class is all about showing up and participating. We only have 12
meetings. If you anticipate missing more than one of these for any reason,
do not take this class. If you are looking for an easy spring term with
light reading, do not take this class. You can expect to read around 30
pages per meeting. In the past, I have found that students will avoid doing
any reading whatsoever,
which rules out meaningful class participation and makes me do all
the talking, boring everyone to tears. To avoid this, I will give at
least one five- or ten-minute
pop quiz on the reading per week. There may be two quizzes in one week, but
you can be sure of at least one.
The other part of the class, building and programming robots, will likewise
require your full participation. Though I encourage you to work in teams, you
cannot rely on other team members to carry your water for you. To keep things
fair, I will ask each team member to estimate the fraction of his/her own
participation in each project, as well as the fractions for the other members.
Grading
Your grade will be determined as follows:
- Talking in class / posting to the blog: 35%
- Papers: 30% (15% each)
- Final presentation: 20%
- Pop quizzes (I will drop the lowest): 15%
The grading scale will be 93-100 A; 90-92 A-; 87-89 B+; 83-86 B; 80-82 B-; 77-79 C+; 73-76 C; 70-72 C-; 67-69
D+; 63-66 D; 60-62 D-; below 60 F.
Writing
Part of my goal
in this class is you help you become a better writer. In truth, the only
way to become even a decent writer is to read a whole lot. But in the brief
time we have I can offer you some pointers and lay down some rules. One
pointer is to read George Orwell's damning 1946
essay on bad writing (and realize that things have only got
worse since then).
Here are some rules:
- Use
Wikipedia,
Google, and other online portals as starting
points (as I do), but read and cite primary sources &ndash not someone's
blog or other website, but something they've published in a book, journal,
or conference proceedings, after other scientists have had the opportunity
to critique it.
- Do not submit to me something that hasn't been spell-checked. With automatic
spell-checking available in every text-processing program, there is no excuse
for this.
- Writing is revising: I will expect you to do at least one rough draft of
your paper (again, without spelling errors) before submitting the final version.
The good news is, robotics is a
new enough field that much high-quality published source material (including many books)
is available online. Most researchers are putting their
publications online (mainly in PDF), so you should have no trouble obtaining
both the document and citation information simultaneously. Anything you cite,
I expect you to have read, so just copying the citation from Wikipedia won't
cut it. To keep you from temptation, I'll require you to cite not just the
author, date, title, and venue (book/journal/proceedings), but also the page
number(s). A good rule of thumb for your papers is one citation per page of
text. so a ten-page paper should have around 10 citations. Rather than dictating
a citation format to you, I want you to base your format on the format you find
in the literature you use (again, making sure to cite page numbers as well).
Tentative Schedule