CS190: Robotics Freshman Seminar

Fall 2008
TTh 1:00pm-2:15pm, MSC W304




Instructor: Ojas Parekh
E-mail: ojas <at> mathcs <dot> emory <dot> edu
Office: MSC W424
Phone Number: 7-7940
Office Hours: posted here, and by appointment

TA: Ariel Himmel
E-mail:
This page: http://www.mathcs.emory.edu/~cs190000
Class mailing list: cs190000-list AT mathcs DOT emory DOT edu


[ Share directory ] [ Schedule and Assignments ] [ Mailing list ] [ Resources ] [ Policies ]


Introduction:

Can you remember the last time you were more than arm's reach away from some computer (think broader than just those made for your laps or desks)? In fact most of us probably carry more computing power on our person than most households had 15-20 years ago! Our goal in the course is to explore, understand, and take advantage of these untapped resources. Whereas a traditional introductory computer science course might teach you how to bully around (i.e. program) a traditional desktop computer, in this course we'll learn how to bully around all kinds of computers, especially those lurking inside toys, gizmos, and gadgets (i.e. robotic, mobile, and multimedia devices).


Prerequisites:

An interest in learning about, problem solving, and tinkering with Lego robots. We will be focusing more on instructing robots how to preform tasks rather than designing the robots themselves, and we will learn to write computer programs.


Course format and topics:

We will typically have the following types of class segments: traditional lectures, group discussions/braintstorming/problem-solving (hopefully many), hands-on lab sessions, and student presentations. I expect diversity in the interests and experience of the participants of the course, and so we will have some flexibility in the kinds of topics we will cover:

Readings and assignments:

You will have regular readings, mostly from online sources including articles, tutorials, and custom course notes. We will use textbooks as references for the programming languages we will learn. Initially we will start with Lego's NXT-G language and use

For the latter part of the course we'll transition to the Java programming language.

In addition to the readings, out of class work will take place in the form of programming and design projects (as well as a friendly competition or two). We will regularly have lab time, during which you will be given an explanation of and assistance in beginning projects. Projects are to be completed in groups of 2-3 students. Each group will be given all the necessary materials, including robotics kits and laptop computers, which may be used during class and designated lab times. In addition each person is encouraged to install course software on her personal computer.

To ensure that everyone is doing his fair share of the work, we will have regular individual assignments and quizzes.

The overall value of each type of assignment appears below. Penalty-free extensions or makeups will be given only with the appropriate documentation and even with approprate documentation are subject to the instructor's discretion. Late work without supporting documentation may not be accepted and will certainly be penalized. Grades will typically be curved up so that the class median falls around a C+ to B- (see below for numeric scale). Your course grade will be determined by a weighted average, as indicated below, of the individual grades earned on the assignments.

Assignment
Weight
Labs
70%
Individual Assigments and Quizzes
30%

Letter grades will be assigned according to the following table.

Avg Score
Letter Grade
[93, 100]
A
[90, 93)
A-
[87, 90)
B+
[83, 87)
B
[80, 83)
B-
[77, 80)
C+
[73, 77)
C
[70, 73)
C-
[67, 70)
D+
[60, 67)
D
[0, 60)
F

All your work must be goverened by the Emory College Honor Code in addition to the Math/CS department's Policy on Computer Assignments, included below for your reference.

  Emory University
Department of Mathematics and Computer Science

Statement of Policy on Computer Assignments (SPCA)

Students will be graded partially on the basis of their programming assignments. These programming assignments are to be treated as examinations, and are expected to be your individual work. While discussions with other students in the course may be permitted or encouraged by your instructor, you should write your program yourself. The mathlab representatives are available to explain error messages, discuss briefly technical details with which you may not be familiar, and give short suggestions as to how you might detect logic errors. The reps should not, however be asked to write part or all of your program. Your instructor (and any teaching assistants assigned to the course) will be glad to help you to the extent that he or she feels reasonable.

Submissions based on other students solutions in prior offerings of the course specifically violate these guidelines, as do submissions prepared with the help of an outside "tutor".

You should take precautions to protect the confidentiality of your work: preserve the secrecy of your password, do not make files or directories sharable, pick up your printouts promptly and dispose of printouts where they will not tempt other students. All work should be done either in your "priv" directory or in the class hand in directory of your University account.

All submissions should include a comment statement near the top of the program of the form:

THIS CODE IS MY OWN WORK, IT WAS WRITTEN WITHOUT CONSULTING

A TUTOR OR CODE WRITTEN BY OTHER STUDENTS - YOUR NAME

Cases of apparent plagiarism or collusion will be referred to the Honor Council.


 


Schedule:

Reminder: daily lecture outlines and assignments are in each day's
share directory.

Week
Topics
Readings
Labs
Assignments due
1
Course introduction
What exactly is(n't) a computer?
"Flowchart" at Wikipedia
MindTools Flow chart article
Flowchart exercise due 09/02
2
Flowcharts, conditionals, and loops
Programming human computers
Chapters 1-4 in book
NXT Tutorials
lab 1 Tutorials/readings due 9/04
3
Analyzing the catch.rbt program
Movement blocks
Using (nested) loops
Chapters 10-11 in book
lab1 due Thu 9/11


[ Share directory ] [ Schedule and Assignments ] [ Mailing list ] [ Resources ] [ Policies ]