CPST 410, Computer Programming through Robotics
Time and place:
MW 5:45 - 8:00 pm, NWCMB 403
Prof. Harry Howard

862-3417 (voice mail 24 hours a day)
Newcomb Hall 322-D
Office hours: TBA
Objectives: The goal of this course
is to introduce you to the principles of computer programming
by programming a small mobile robot. We will use the Lego
Mindstorms NXT robot, v 1.1, ultimately gravitating towards
my interests in linguistics and cognitive science. However, this course
is an introduction and does not require any knowledge of computer programming,
robotics, cognitive science, or linguistics. More advanced students with
a knowledge of computer programming can also be accommodated.
Outcomes for beginning students: For
you to demonstrate your understanding of computer
programming, you will
perform the following tasks:
- turn in a project every day, except ofr the first second.
No project can be accepted late. [10
* 7.5% = 75%] Even though these look like a lot of small grades,
missing just one lowers your final grade almost an entire letter,
as an unfortunate few of my students have found out the hard
way. If you know ahead of time that you will miss a
project, send me an e-mail and I will excuse you with no penalty.
- turn in a final project by the final exam day. This may be a
group effort, but the entire group will receive the same grade.
[25%]
- note that there is no credit for class participation, but I will change
any high X- into a low Y+ if I notice you participating in class.
Outcomes for continuing students: For you to demonstrate
your understanding of computer programming, you will perform
the following tasks:
- turn in a final project on the final exam day. This may
be a group effort, but the entire group will receive
the same grade.
[100%]
- note that there is no credit for class participation, but I will change any high X- into a low Y+ if I notice you
participating in class.

Code of Academic Integrity
“The integrity of Newcomb-Tulane College is based on the absolute
honesty of the entire community in all academic endeavors. As part
of the Tulane University community, students have certain responsibilities
regarding work that forms the basis for the evaluation of their academic
achievement. Students are expected to be familiar with these responsibilities
at all times. No member of the university community should tolerate any
form of academic dishonesty, because the scholarly community of the university
depends on the willingness of both instructors and students to uphold the
Code of Academic Conduct. When a violation of the Code of Academic Conduct
is observed it is the duty of every member of the academic community who
has evidence of the violation to take action. Students should take steps
to uphold the code by reporting any suspected offense to the instructor
or the associate dean of the college. Students should under no circumstances
tolerate any form of academic dishonesty.” For further information,
point your browser at http://college.tulane.edu/honorcode.htm.
Violations of the Code of Academic Integrity will not be tolerated in this
class. I will rigorously investigate and pursue any such transgression.
Students with disabilities who need academic accommodation
should:
- Contact
and register with the Office of Disability Services (ODS). For more information,
visit the ODS website at http://erc.tulane.edu/disability/.
- Bring official notice to me from the ODS indicating that you need academic
accommodation. This should be done before the first project is
due.
Provisional schedule of readings and assignments
LEGO Mindstorms NXT-G Programming Guide by James Floyd Kelly
[~$17]
LEGO Mindstorms NXT Power Programming: Robotics in
C by John C. Hansen [~$22]
You should come to class having read and mulled over the pages listed for that
day in the schedule.
There
may be supplementary readings, distributed as pdf files
on Blackboard. |
Date |
Day |
Topic |
Readings,
exercises, etc |
Projects |
Slides |
Recordings |
Jun.
29 |
1 |
Introduction to the class,
start on Tribot |
|
|
 |
 |
July
1 |
2 |
Finish Tribot, NXT introduction,
Movement |
Kelly §1-2, §3-4, 24 |
|
 |
 |
6 |
3 |
Logic, sensors , hubs & wires |
Kelly §5-7 |
|
 |
 |
8 |
4 |
Sound, waiting and conditions, loops |
Kelly §8-9, 23; §10-11 |
|
 |
 |
13 |
5 |
More loops, Switch; |
Kelly §12-14 |
P1 |
 |
 |
15 |
6 |
More switches, Random numbers |
Kelly §14 |
|
 |
 |
20 |
7 |
Comparison in NXT-G |
Kelly §15 |
P2 |
 |
 |
22 |
8 |
Comparison in NXC, the RANGE block |
Kelly §16 |
|
 |
 |
27 |
9 |
The LOGIC and MATH blocks |
Kelly §17, 20 |
P3 |
 |
 |
29 |
10 |
Math in NXC, files; SEND MESSAGE |
Kelly §25 |
|
 |
 |
Aug
3 |
11 |
Encapsulation: MY BLOCKS and functions |
Kelly §26 |
P4
|
 |
 |
5 |
12 |
Parallelism and a bit more on variables |
|
P10 |
 |
 |
10 |
13 |
Final
projects due |
|
|
|
|
Inception: 11/11/07. Last revision:
August 6, 2009. HH