Bryn Mawr College
CS 110: Introduction to Computing
Spring 2008
Course Materials
Prof. Deepak Kumar
General Information
Instructor: Deepak Kumar, 246 Park Hall, 526-7485
E-Mail: dkumar at cs brynmawr dot edu
WWW: http://cs.brynmawr.edu/~dkumar
Lecture Hours: Tuesdays & Thursdays , 2:30 p.m. to 4:00.m.
Room: Park 338
Lab: TBA in Room 231 (additional lab hours
will also available, see below)
Laboratories:
- Computer Science Lab Room 231 (Science Building)
- You will also be able to use your own computer to do the labs for this course.
Lab Assistants: The following Lab assitants will be available during the week (names and schedules will be posted by the end of this week) for assistance on lab assignments.
- Michelle Beard: Tue & Wed 8-10p
- Emily Somach: Mon 3-5p and Wed 12:30-2:30p
- Val Kirilova: Mon 4-6p and Tue 9-11a
- Rachel Newman: Wed 4-6p and Sunday 7-9p. On Feb 10, March 2, and April 13 the Sunday hours will be 6-8p.
These are the hours when the Lab will not be available:
TBA
Texts & Software
Learning Computing With Robots: by
Deepak Kumar, Institute for Personal Robots in Education. Available at the Campus Bookstore.
Python Software + IDLE + Myro (This software is already installed in the Computer Science Lab). The software is also available for your own computer from the CD included in your text.
Scribbler Robot Kit: These will be handed out to you in Week#2.
|
|
Important Dates
January 22: First lecture
March 20: Exam 1
May 1: Last lecture/Exam 2
Assignments+Robot Videos
-
Assignment#1: (Due on Tuesday, February 5): Do the following exercises:
Chapter 1: Exercise 9 (Hand in the drawing)
Chapter 2: Exercise 2 (Hand in the written answer)
Chapter 2: Exercise 3 (Hand in the program as well as the drawing)
Chapter 2: Exercise 4 (Hand in the program). If possible, post a video of your robot's performance on YouTube (send link to me).
- Assignment#2 (Due on Thursday, february 14): Write a program for your Scribbler to draw a 5-point star. [Hint: Each vertex has an internal angle of 36 degrees]. Your program should include a function called, drawStar(sideLength), so that you can use it over and over again to draw stars of different sizes. Write a main program to use drawStar to draw at least 3 stars (use a loop) of different sizes (say sides of length 3-10 inches) on the same sheet of paper. In the spirit of Valentine's Day, can you write a program for your Scribbler to draw a heart? Alternately, write a program for your Scribbler to create some abstract art. Hand in the two programs, and sheets that show your robot's drawings. For the second program, try and be creative, include repetition, use different colors etc. HINT: For how to write general scribbler commands for turning a specific amount and traveling a specific distance, you may want to read the first 5 pages of Chapter 4.
- Assignment#3: (Due Tuesday, February26): Light follower: Write a program for your robot to follow a bright light. I.e, the robot goes towards the light. Extra Credit: Make a video of your robot's behavior and either send it to Deepak and/or post it on You Tube.
Videos: #1, #2, #3, #4, #5
- Assignment#4 (Due Tuesday, March 4): Implement Braitenberg vehicles 1, 2a, and 2b as discussed in Chapter 6 of your text. Additionally, implement any one of the suggested vehicles/robot applications from Chapter 6 (Choose from: Refrigerator detective, burglar alarm, Hallway cruiser, follower, Timid, Indecisive, Paranoid). Hand in all the programs you wrote. Also, write a short (1-page) essay on designing insect-like behaviors based on the robots you designed. Extra Credit: Make a video of your robot's behaviors and either send it to Deepak and/or post it on You Tube.
Videos: #1 (Alive), #2 (Vehicle 2a: Coward), #3 (Vehicle 2b: Aggressive), #4 (Timid), #5 (Vehicle 2a: Coward), #6 (Vehicle 2b: Aggressive), #7 [Submissions by June, alida, Taneisha, and Amy]
- Assignment#5 is posted (Due on Thursday, April 3): Click here for details.
- Assignment#6 is posted (Due on Thursday, April 24): Click here for details.
Robot Videos and other demos from out there!
- Scribbler Dance (from Rachel)
- Another Scribbler Dance (from Samar)
- SONY Robots dancing
- Another humanoid robot dance
- SONY Rolly Dance
- Dancing Penguin robots
- A Penguin robot (sort of dancing)
- Sync. Dance: Sarcoman Robot
- Keepon Dance
- A kid dancing with a robot
- A Robot Ballet (Nutcracker)
- Dabcing Vacuum Cleaner Robots
- Robot Artist (3:21)
- Hektor: The graffitti drawing robot: Several videos
- AARON The Cybernetic Artist (visit the web page and even download a version for your computer)
- An interactive Scribbler
- Braitenberg Style: Wiggle: A Robot Stalker
- Braitenberg Style: A Spider Robot
- Braitenberg Style: Timid (using LEGO Midnstorm)
- Braitenberg Style: Indicisive (using LEGO Mindstorm)
Lectures
- Week 1 (January 22, 24)
January 22: First class meeting. Overview of the course. Introduction to computing and robots. Do the class questionnaire.
January 24: Introduction to the Scribbler robot. How the computer talks to and controls the robot: Bluetooth wireless, computer, Python, Myro. Making the connection. Basic Scribbler commands: naming the robot, movements, etc.
Read: Chapter 1 from your text.
Class List for CS110 is posted. Click here to view it.
- Week 2 (January 29, 31
January 29: Today's class will meet in the lab (Room 231)
January 31: Recap of tuesday's lab. Scribbler movement commands. Writing new commands using Python functions.
read: Chapter 2 from your text.
Assignment#1: (Due on Tuesday, February 5): Do the following exercises:
Chapter 1: Exercise 9 (Hand in the drawing)
Chapter 2:
Exercise 2 (Hand in the written answer)
Chapter 2: Exercise
3 (Hand in the program as well as the drawing)
Chapter 2: Exercise
4 (Hand in the program). If possible, post a video of your robot's performance on YouTube (send link to me).
- Week 3 (February 5, 7)
February 5: Robots that dance and draw. Some demos (See links in Videos above). Structure of robot brain programs. Doing calculations with programs: numbers, values, assignment. Input statements. Basic repetition structures: timed, forever, and counting.
Read: Chapter 3 from your text.
February 7: Structure of Python programs. Repetition in Python. Examples of simple computations.
Assignment#2 (Due on Thursday, february 14): Write a program for your Scribbler to draw a 5-point star. [Hint: Each vertex has an internal angle of 36 degrees]. Your program should include a function called, drawStar(sideLength), so that you can use it over and over again to draw stars of different sizes. Write a main program to use drawStar to draw at least 3 stars (use a loop) of different sizes (say sides of length 3-10 inches) on the same sheet of paper. In the spirit of Valentine's Day, can you write a program for your Scribbler to draw a heart? Alternately, write a program for your Scribbler to create some abstract art. Hand in the two programs, and sheets that show your robot's drawings. For the second program, try and be creative, include repetition, use different colors etc. HINT: For how to write general scribbler commands for turning a specific amount and traveling a specific distance, you may want to read the first 5 pages of Chapter 4.
- Week 4 (February 12, 14)
February 12: Sensing from within: Procprioception in the Scribbler-battery, stall, and time sensing. Examples of behaviors using propriception. Loops with conditions: comparison operations and logical connetcives in Python.
Read: Chapter 4 from your text.
February 14: Sensing from within. Examples of conditionally droven loops. Parameters in functions re-visited. Generating random numbers and using them. Drawing random sized polygons. Experiments with speech generation.
Read: Chapter 4 from your text.
- Week 5 (February 19, 21)
February 19 : Sensing the world: camera, light, and proximity. Writing reactive behaviors: making decisions in Python.
Read: Chapter 5 from your text.
Assignment#3: (Due Tuesday, February26): Light follower: Write a program for your robot to follow a bright light. I.e, the robot goes towards the light. Extra Credit: Make a video of your robot's behavior and either send it to Deepak and/or post it on You Tube.
February 21: Sensing light and obstacles. Functions that return values. Making decisions. Designing reactive behaviors.
Read: Chapter 5 from your text.
- Week 6 (February 26, 28)
February 26: Designing insect-like behaviors. Braitenberg vehicles. Other examples: refridgerator detective, burglar alarm robot, etc.
Read: Chapter 6 from your text.
Assignment#4 (Due Tuesday, March 4): Implement Braitenberg vehicles 1, 2a, and 2b as discussed in Chapter 6 of your text. Additionally, implement any one of the suggested vehicles/robot applications from Chapter 6 (Choose from: Refrigerator detective, burglar alarm, Hallway cruiser, follower, Timid, Indecisive, Paranoid). Hand in all the programs you wrote. Also, write a short (1-page) essay on designing insect-like behaviors based on the robots you designed. Extra Credit: Make a video of your robot's behaviors and either send it to Deepak and/or post it on You Tube.
February 28: Doing computations: financial loans, guessing games.
March 1: FYI: Princeton UDesign Conference this weekend (March 1) Click here for details.
- Week 7 (March 4, 6)
March 4: Doing computations: writing simple guessing games. Generating random numbers.
Read: Chapter 7 from your text.
March 6: Game programs continued... Introduction to Computer Graphics.
Read: Chapter 8 from your text.
- Week 8 (March 11, 13)
No classes. Spring Break!
- Week 9 (March 18, 20)
March 18: Review for exam. More graphics.
Assignment#5 is posted (Due on Thursday, April 3): Click here for details.
March 20: Exam 1 is today.
- Week 10 (March 25, 27)
March 25: Deepak will be out of town.
March 27: Deepak will be out of town.
- Week 11 (April 1, 3)
April 1: Writing games: Paper-Scissors-Rock. beyond random strategies...
April 3: File input/output. Towards drawing maps.
- Week 12 (April 8, 10)
April 8: Drawing maps. Visualizing data on maps: population, election results, etc.
April 10: Drawing maps and visualizing data on maps. Examples of abstractions in programs...
Assignment#6 is posted (Due on Thursday, April 24): Click here for details.
- Week 13 (April 15, 17)
April 15: Sounds & Music
Read: Chapter 8 from your text.
April 17: Algorithms & Problem solving. Core ideas in computing and problem solving.
Read: Chapter 10 from your text.
- Week 14 (April 22, 24)
April 22: Special lecture by Keith O'Hara (GeorgiaTech/IPRE).
April 24:
Demo Day! Today you will demo your Assignment#6 to everyone. We will meet in the lab (Room 231). Also, that day, we will collect all the robot kits back.
- Week 15 (April 29, May 1)
April 29: Course wrap up. Evaluations etc.
May 1: Exam 2 is today.
Grading
All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7,
1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated
as a weighted average of all grades according to the following weights:
Exam 1: 20%
Exam 2: 25%
Labs & Written Work: 55%
Total: 100%
Links
Created on
January 18, 2008.