Creative Computing Club
What is Creative Computing Club?
The Creative Computing Club is a bi-monthly club for the Baldwin school which introduces middle school children to robots. We explore what we can do with robots in a creative manner and try to integrate programming into our syllabus. There are five classes which are held over the course of a semester for this club and this page is where the class plans are being created. Note that this page is in progress and is not being regularly updated.
(Also a part of my Praxis III program was a week-long Python course in a Graphics class - look at the Baldwin Graphics Club)
12th October - Introductory Class
This will take place in the Baldwin School. Since this is over Fall Break, Prof. Blank will hold this session
Names of the students and their CS background. A little bit about the club. What do they hope to get out of the club? Are they nervous?
Make clear that these tests are anonymous and we just want to know what they think. We are not grading anyone and we just want honest responses.
PDF file for printing - Media:presurvey.pdf
docx file if you need to make changes - Media:presurvey.docx
(some references taken from: http://coweb.cc.gatech.edu/ice-gt/1226)
3.Discussion: What are robots?
Clips from different movies
- Wall E (http://www.youtube.com/watch?v=woEN_tUVlNI)
- I Robot (http://www.youtube.com/watch?v=Oecf-DBwKWA&feature=related)
- Robots (http://www.youtube.com/watch?v=GalAvtp1FIE)
- Matrix (http://www.youtube.com/watch?v=JTb1UPc1zvo)
Things to talk about:
- What is the role of robots in our world today?
- Do you think any of these movies could play out?
- Do you think robots can ever ‘really’ feel? And even if they are programmed to ‘feel’, can we consider them as ‘living things’?
- If you could get a robot to do one of your daily chores, what would you get it to do?
Get into pairs. One of you is the ‘robot’ and the other is the ‘computer’. The objective is to see how the robot and the computer interact, with a greater focus on understanding how the robot has limited senses and how the feedback loop between the computer and robot work.
Every 'robot' gets a piece of paper and a writing implement
Things to talk about after the activity
- How did the robot feel about having no sight?
- How do you think the robot and computer interacted? And was that limiting? Was it unclear?
- What body parts would you compare a computer and a robot to?
- Can the robot think?
- Do you think you can make a robot think?
- Computers, how did you feel about the limited number of directions you could give the robot?
- How would have this task been any simpler?
If any time remaining
4. Hello World program
The girls don’t have the scribblers in their first class so we could start with a basic Hello World program if there is any time remaining. Just to understand the ‘language’ the robots use to communicate with the computer.
Write a program which prints hello world.
- Explain the significance of a function and a variable
- Why do we return from functions?
- Why do we indent the way we do?
def hello(): hello_string = "Hello World!" print hello_string return # This is optional, since you aren't returning anything. hello()
- Explanation: Python is one of the MANY languages a robot and a computer would interact in.
26th October - Second Class
The project for the day is to create your robot’s personality. We will teach it to obey instructions – training it like a pet.
1. Discuss pets:
- How many of you have pets?
- How many of you have trained your puppies?
- How did you train your pet?
- Is your pet able to do the same thing over and over again to a particular command? Like “sit” or “come”?
- Does it do different things sometimes?
- Bring in similarities between training a dog and a robot
- Bring in the difference between the behavior of a robot and a pet
2. Logistics This document was given out to the girls so that they could get started on their own. Media:Logistics.docx
- Hand out scribblers and flukes
- Explain the job of the flukes
- Attaching the fluke to the robot and connecting the robot
- The robot being recognized by the machine (have some spares)
- Loading Myro and opening up a new Shell
3. Naming your robot
- What would you like to name your robot?
- Making it beep – so that we know its alive and kicking!
4. Making the robot follow user instructions. We will now teach the robot to move and speak as we interact with it. To make things more interactive, we handed out a series of challenges for the girls to get acquainted with the robot and have some fun with it. These were these challenges given out: Media: challenges.docx
- Making the robot dance
- Can we make it turn?
- Can we make it go back and forth?
- Can we make it go diagonally?
- Making the robot dance
5. Making the robot say things
- Now can we make the robot do things upon our command?
- Making it move/ say / sing according to user input
- Now can we make the robot do things upon our command?
LEFT OVER TIME
6. Create a ‘conversation’ between your virtual robot and the user
- Using if statements to create a virtual robot which does your math for you. It should be able to accept input from the user to add/subtract/multiply and divide numbers.
- Can we change our virtual robot calculator to a real-robot calculator? Can we get the robot to yell out the answers to the problems we input?
- Bring in discussion of roles of various data structures
7. Post-Coding discussion
- What senses does your robot have? How does it use it?
- Does it ‘feel’ or ‘smell’ or ‘see’ or ‘hear’ or ‘taste’?
- What ‘powers’ does your robot have? Can it talk? Move? What could be some other cool things you think your robot could do?
- What else do you think we can make the robot do with these ‘powers’?
- Are there other things we want to ‘teach’ the robot?
9th November - Third Class
The objective of this class is to introduce the concept of intelligent robots and about 'teaching' robots how to make decisions. While most of the class will be review, some of it will be involved in learning some coding basics to better understand Python because they will be using it to drive the Scribblers.
- Hand surveys to people who have yet to take them
- Set up your robot again
- Remind yourself of how to use the controller
- Finish challenges which you didn't complete last time
- What senses did the Robot have again?
2. Discussion Point: What is intelligence?
- How do you think we can make the robot intelligent?
- Can a robot ever be as intelligent as humans?
- What can we teach the robot?
- What can we demonstrate?
3. Scribbler Basics
Review + Go over movements
With the given information, the girls will be asked to complete three distinct exercises
- Creating a square
- Creating a polygon of n sides
- Directing your scribbler through the pyramid doors
(Document to hand out: Media:basic movements.docx)
4. Concluding Discussion Points
- Which was the most fun exercise?
- What did you find the hardest?
- What else do you think we can do with the robot?
- Are there any other skills you can teach it? Any practical applications?
23rd November - Fourth Class
Didn't hold class.
This is in Computer Education Week. Therefore we are going to start with a brief video about the most prominent female Computer Scientist out there: Grace Hopper. http://www.youtube.com/watch?v=7sUT7gFQEsY
1. Introduction: Discussion about Women in Computer Science
- Why are women underrepresented in computer science? - What do you think would encourage women to be more involved in computer science? - What discourages women from computer science? - Is it a relevant field today? - Do you think it is as important as the Sciences?
We have covered a lot of material in this semester and today we will simply review without doing anything new.
- using a gamepad - creating functions - creating dance routines
This is the pdf file Media: Postsurvey.pdf
This is the docx file to make changes Media: Postsurvey.docx
Media:Here are the results of the pre-survey.