CSCI 180: Freshman Seminar: Robot and Mind (S18)

CSCI 180: Robot and Mind

Essentials

Time: T/R 9:05-12:10
Place: Parmly 405
Professor: Simon D. Levy
Office: Parmly 407B
Office Phone: 458-8419
E-mail: levys@wlu.edu
Office Hours: 1:30 – 2:30 daily, and by appointment

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:

  1. participation; i.e., showing up and talking and (to a lesser extent) posting to the blog
  2. writing two short (8-10 pages each, double-spaced) papers
  3. 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 Bluetoothwireless.

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 & 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

Monday

Tuesday

Wednesday

Thursday

Friday

21 April
Week 1
Introduction

Warmup Exercise

Unpack Mindstorms

Reading: Vehicles
chapters 1-4
28 April
Week 2
Reading: Being There
Preface through Chapter 1
Reading: Being There
Chapters 2, 3
05 May
Week 3
11:00 AM Ron Arkin Talk,
Stackhouse Theater, Commons
Reading: Being There
Chapters 3, 4
Due: First draft of first paper
12 May
Week 4
Reading: Being There
Chapter 4
Being There Chapter 5; Due: Final draft of first paper
19 May
Week 5
Guest lecture by Prof. Paul Gregory Coevolutionary Robotics paper
26 May
Week 6
Being There Chapters 6,7 Due: First draft of second paper
02 June
Project Presentations