The University of MichiganFlint

 

CSC 392/592, Advanced Applications of

Computer Science Using Robotics

Spring 2009

 

Instructor:                   Dr. Stephen W. Turner

Office:                         214B MSB

Telephone:                  766-6696 (includes voice mail)

Email:                          swturner@umflint.edu

Web:                           http://regal.csesp.umflint.edu/~swturner

 

Course Hours:            Tuesday-Thursday, 1:30 – 4:00 p.m., 104 and 106 MSB

                                    The last class is Thursday June 18.

 

Office Hours:             As seen on my web page.

 

Text:                            This course uses no textbook.  Instead, I will be providing links to

information that include websites and published papers on selected

topics.

 

 

Course Description:

 

This course presents a hands-on exploration of advanced computer science concepts through the use of programmable robots.  Assignments will be designed to illustrate, through practice, various topics in computer science.  The focus of the course is to provide an introduction to concepts of networking, artificial intelligence, parallel programming, and distributed systems through numerous practical exercises performed using the iRobot Create and embedded gumstix computer.

 

Course Objectives:

 

This course will develop an understanding of:

 

  1. The configuring and basic use of simple robotics and embedded systems hardware.
  2. Models of robot behavior.
  3. Socket programming in computer networks.
  4. Cooperative algorithms for parallel programming.
  5. Methods of information storage and delivery in distributed systems.
  6. The definition of processes and threads and their role in distributed systems.
  7. Low and high-level communication protocols, including layered protocol designs, as well as specific techniques such as RPC, message-oriented, stream-oriented, and multicast communication.
  8. Ensuring security in communication, access control, and management of security mechanisms.
  9. The use of robotics simulation software.
  10. The practical use of the Player/Stage programming interface for robotics.

 

Grading Policy:

 

Grades will be based on 100 possible points, using the following distribution schedule:

 

Assignments:

90%

(Due dates based on class progress)

Final Exam

10%

Thursday June 25, 1:30 to 4:00 p.m.

 

 

Letter grades reported to the University are based on the following table, which indicates the minimum points required for you to ensure that you receive the grade listed.

 

A+

98-100%

A

88-97%

A-

84-87%

B+

81-83%

B

71-80%

B-

67-70%

C+

64-66%

C

60-65%

F

0-59%

 

Examinations:

 

The Final exam is intended to be a practical exercise that represents a demonstration of your robot’s capabilities after the series of exercises performed during the semester.  Thus, there are no particular written exams in this course.

 

Examination Policy:

 

Participation in the final exam is required.  The final will be comprehensive, but only in the sense that it may depend on your ability to program the robot in a fashion consistent with topics covered in the lectures.

 

Assignments:

 

Assignments are due in class on the day specified on the assignment description.  I will accept late assignments.  However, late assignments carry with them a 10% reduction in the grade, per calendar week.  Due to the short semester schedule, all assignments must be turned in by two calendar weeks of their due date; it’s simply not possible for your progress to be consistent with that of the class if you cannot complete the assignments in a timely fashion.  No assignments can be accepted after the date of the final exam.

 

Academic Misconduct:

 

In this course, small groups of students work together on all of the assignments.  Thus, it is expected that you collaborate on all of the assignments.  Additionally, I will allow a certain amount of cross-group collaboration.  There is no need to try to hide particular techniques from other students who are not in your group, which means that you can certainly share hints or other pointers to external help that allow you to overcome programming obstacles.  However, I expect each group to write their own programs and come up with independent solutions to the assignments.  In some cases, if it is possible, I may specifically require different groups to take different approaches.

 

Attendance Policy:

 

You will be held accountable for all classroom and lab learning experiences and all announcements made during scheduled class time.  Announcements may be emailed or posted on the course web page at

 

http://regal.csesp.umflint.edu/~swturner/Classes/csc592/csc592.html 

 

However, you cannot assume that they will always be conveyed in that fashion.

 

Students with Disabilities:

 

Students with disabilities that may restrict their full participation in course activities are encouraged to meet with the instructor or to contact the Office of Accessibility Services (part of the Student Development Center, located at 264 University Center).

 

Notes:

 

I reserve the right to modify course policies, the course calendar, assignment point values, and due dates. Any extenuating circumstances that hinder your participation in the course should be discussed with me as soon as those circumstances are known. Make-ups for graded activities may be arranged if an absence is caused by documented illness or personal emergency.  A written explanation, including supporting documentation, must be submitted to me; if the explanation is acceptable, then an alternative to the graded activity will be arranged.  Whenever possible, make-up arrangements must be completed prior to the scheduled activity.