Exploring Computer Science v5.0
Exploring Computer Science v5.0
Joanna Goode
University of Oregon
Gail Chapman
University of California, Los Angeles
This curriculum was created under the auspices of the Broadening the Participation in Computing National
Science Foundation grant, "Into the Loop: An University K-12 Alliance to Increase and Enhance the Computer
Science Learning Opportunities for African-American, Latino/a, and Female Students in the Second Largest
School District in the Country". Principal Investigator: Jane Margolis (UCLA); Co-Principal Investigators Joanna
Goode (University of Oregon), Todd Ullah (LAUSD), Deborah Estrin (UCLA). The Computing and Data Analysis
Unit was created under the auspices of the National Science Foundation Math/Science Partnership grant,
"MOBILIZE: Mobilizing for Innovative Computer Science Teaching and Learning." Co-principal Investigators: Mark
Gould (UCLA, CENS), Mark Hansen (UCLA, CENS), Joanna Goode (University of Oregon, College of Education),
Jane Margolis (UCLA, Center X), Thomas Philip (UCLA, Center X), Jody Priselac (UCLA, Center X), and Todd Ullah
(LAUSD).
Acknowledgments
George Benainous, David Bernier, Robb Cutler, Judy Hromcik, Michelle Hutton, John Landa, Clifford Lee,
Cueponcaxochitl Moreno, Jean Ryoo, Suzanne Schaefer, Chris Stephenson, Diane Watkins
For additional information related to the Exploring Computer Science Partnership visit: www.exploringcs.org
CONTENTS
Final Project........................................................................................................................................................ 98
Unit 3: Web Design ......................................................................................................................... 100
Daily Overview Chart ........................................................................................................................................ 102
Daily Lesson Plans ............................................................................................................................................ 103
Final Project...................................................................................................................................................... 123
Flash Animation Supplement ........................................................................................................................... 126
Javascript Supplement ..................................................................................................................................... 131
Unit 4: Introduction to Programming .............................................................................................. 133
Introduction ..................................................................................................................................................... 134
Daily Overview Chart ........................................................................................................................................ 135
Daily Lesson Plans ............................................................................................................................................ 136
Final Project...................................................................................................................................................... 187
Unit 5: Computing and Data Analysis .............................................................................................. 191
Introduction ..................................................................................................................................................... 192
Daily Overview Chart ........................................................................................................................................ 193
Daily Lesson Plans ............................................................................................................................................ 194
Final Project...................................................................................................................................................... 261
Unit 6: Robotics .............................................................................................................................. 263
Introduction ..................................................................................................................................................... 264
Daily Overview Chart ........................................................................................................................................ 265
Daily Lesson Plans ............................................................................................................................................ 266
Final Project...................................................................................................................................................... 300
Course Overview
Goals
Exploring Computer Science is designed to introduce students to the breadth of the field of computer science
through an exploration of engaging and accessible topics. Rather than focusing the entire course on learning
particular software tools or programming languages, the course is designed to focus on the conceptual ideas of
computing and help students understand why certain tools or languages might be utilized to solve particular
problems. The goal of Exploring Computer Science is to develop in students the computational practices of
algorithm development, problem solving and programming within the context of problems that are relevant to
the lives of todays students. Students will also be introduced to topics such as interface design, limits of
computers, and societal and ethical issues.
This course was originally developed for students in the Los Angeles Unified School District in an effort to
broaden participation in computing district-wide, particularly for girls and students of color. After initial success
in Los Angeles, several other districts and states have formally developed school-district-university partnerships
to bring Exploring Computer Science course to their local high schools. Reaching historically underrepresented
students continues to be a major emphasis of this course.
Standards
The Exploring Computer Science curriculum was developed around a framework of both computer science
content and computational practice. This combination of both content and practices provides students with a
sense of what computer scientists do. ECS has been mapped onto leading learning standards nationwide.
Crosswalks of these mappings are available for Next Generation Science and Engineering Standards, Common
Core State Standards, International Society for Technology Education Standards, Computer Science Teachers
Association Standards, CA State Standards in Mathematics and English-Language Arts, Illinois Learning Standards
in Mathematics and English-Language Arts, California Career Technology Education Standards, and Illinois Career
Technology Education Standards. These mapping documents can be found on the SRI International website
here: http://pact.sri.com/.
Prerequisites
It is recommended that students have completed an Algebra course prior to enrolling. In California, this course
is considered a college preparatory elective by the University of California Office of the President. Thus, the
course should provide a rigorous, but accessible, introduction to computer science. No previous computer
science course is required to take this course.
Hardware
An ideal laboratory environment for this course would include a classroom with tables, chairs, and computers
that are conducive to group-work. While it is also ideal to have one computer for each student in the class, the
collaborative nature of this class allows for a 2-1 student-computer ratio if fewer computers are available. These
computers can be either Macintosh or PC depending on availability. A networked system makes installation of
software easier for the teacher.
Software
Each computer in the classroom should have a web browser installed that allows students to perform searches
and make use of a variety of websites and Internet tools. Teachers will need to download and install the Scratch
programming language available at http://www.scratch.mit.edu. Please note that website URLs included in this
version may change over time.
Curricular Approach
Exploring Computer Science teaches the creative, collaborative, interdisciplinary, and problem-solving nature of
computing with instructional materials that feature an inquiry-based approach to learning and teaching. As part
of this course, students will delve into real world computing problems that are culturally-relevant, and address
social and ethical issues while delivering foundational computer science knowledge to students. Students will
engage in several in-depth projects to demonstrate the real-world applications of computing.
This curriculum builds off of learning theories that view learning as a social and cultural process that does not
only occur in a vacuum at school; that is, students bring to school bodies of knowledge from their lives,
culture, and communities. Building from students prior knowledge, the collection of problem solving skills, and
the social and ethical knowledge of computer-related problems will result in a more active curriculum. Each unit
connects students informal knowledge, technology skills, and beliefs about computing to the theoretical and
foundational tenets of computer science. Students will become members of a computing community of
practice in the classroom where they will be introduced to the behavior, language, and skills of computer
scientists. Furthermore, the interdisciplinary nature of computing allows for the incorporation of subject-matter
topics across disciplines into the computing curriculum.
Concrete Instructional Strategies
There are several concrete instructional strategies that are included in each unit to implement this culturally
relevant, inquiry-based vision.
Each unit begins with a description of the topic, an explanation of the importance of this topic, possible
social applications of this topic, and objectives for the unit.
Units typically begin with a kinesthetic activity to get students involved in the unit topic. Students are
more engaged when they go beyond seatwork to gain familiarity with the scope of a topic. Acting out
computing concepts is one way to have students actively engaged in the curriculum.
In most units, the final unit project is presented at the beginning of the unit so students understand
what type of project they will engage in at the end of the unit. Daily assignments help scaffold their
knowledge towards gaining the knowledge needed to complete a particular project. The final project
represents a culmination of their new knowledge and provides an opportunity to expand their
understandings to a particular socially-relevant problem.
Computing terms and definitions are explicit and part of the instruction. The curriculum avoids
unnecessary jargon, which might distract from learning of the critical content. Students have
opportunities to use writing to reinforce the literacy component behind these computing terms and
definitions.
Foundational computing topics are connected to the pop-technology students have likely encountered:
mobile phones, social networks, blogs, Internet browsing, etc.
Real world problems are presented in the context of socially-relevant issues impacting urban
communities (housing, safety, poverty, health care, access to equal rights, educational opportunities,
improving social services, translation services, transportation, etc.)
Students have opportunities to work on problems that they help define and can individualizei.e.
selecting their own content for websites; creating original, not pre-scripted, problem-solving strategies,
etc.
Activities are designed to encourage students to work in a variety of collaborative settings including
elbow partners, peer-programming, and group research projects. This collaboration encourages
conversations around computing topics.
Students will experience a variety of ways to communicate their answersacademic writing, journal
entries, writing a letter to a friend or companion, using presentation software, developing graphics or
animation, storyboarding, listing algorithms, drawing illustrations, oral presentations, etc.
Units incorporate examples of careers in computing as they arise in the curriculum. Students will be
given hypothetical opportunities to act as a professional to take on the behavior and skills to solve a
given problem.
Although using technology is a core component of this curriculum, using computers is not necessarily
embedded in the curriculum on a daily basis.
All of these strategies contribute to developing the problem-solving skills and computational practices that are
emphasized throughout the course.
It is important to note that each unit focuses on different instructional strategies; this is purposeful. In some
cases, it is because the particular subject matter lends itself more successfully to a particular set of strategies,
but this was also done to highlight the wide variety of possible strategies that can be used effectively in teaching
this course. We encourage teachers to experiment by trying strategies that work well for them in a variety of
different places in the curriculum. Journal responses and blog entries can be used by students to communicate
about their work in any of the units. Peer reviews, gallery walks, jigsaws, role-plays and collaborative groups of
varying sizes can be used for activities throughout the course. There are many other possibilities to consider.
Linda Darling-Hammond notes that studies across different content areas find effective teachers support the
process of meaningful learning by:
Creating ambitious and meaningful tasks that reflect how knowledge is used in the field;
Engaging students in active learning, so that they apply and test what they know;
Drawing connections to students prior knowledge and experiences;
Diagnosing student understanding in order to scaffold the learning process step by step;
Assessing student learning continuously and adapting teaching to student needs;
Providing clear standards, constant feedback, and opportunities for work;
Encouraging strategic and metacognitive thinking, so that students can learn to evaluate and guide their
own teaching (p. 5).
Because this view of active knowledge runs counter to traditional concepts of teaching as delivery, professional
development support is key to building the instructional strategies and dispositions needed to effectively teach
this course. The two-year ECS professional development format provides an intensive and focused learning
experience for teachers to develop the pedagogical content knowledge to successfully engage all students in the
learning materials. The professional development model also encourages teachers to take on the role of
reflective practitioners so they can examine how their pedagogy influences student learning, particularly for
historically underrepresented groups.
Assessment
With the exception of the final projects, there are no specific assessments listed in the lesson plans. There are
also very few specific homework assignments. Differences in grading policies, types of assessments required,
and student schedules make it difficult to gauge the best combination of assessment tools to use in a particular
environment. Teachers are encouraged to determine which class activities might lend themselves to some
research outside of class and which might make useful assessments. Currently SRI International is developing
unit assessment tools as well as summative assessments. These assessments are expected to be available
during the 2014-2015 school year; check PACT website for updates: http://pact.sri.com
Following the Scope and Sequence is an overview of each unit that includes the unit description and overall
objectives of the unit. There is also a table that indicates the topics for each instructional day of the course.
Daily lesson plans with detailed student activities and teaching strategies for each day are the final component
of the instructional materials. Each lesson has been built on a 55-minute class period. In schools where class
periods are shorter or longer (or on varying block schedules) adjustments will need to be made; such
adjustments may include combining lessons (for longer class periods) or assigning parts of the lesson for
homework (for shorter class periods).
An attempt was made to provide enough detail to the teaching strategies sections to give teachers clear
guidance as to the activities involved and the types of questions that might need to be asked to prompt
discussion. At the same time, an effort was made not to be prescriptive. As noted on the previous page,
strategies such as journaling and collaborative work can and should be incorporated in as many lessons as
possible.
Each unit includes supplementary materials, a final project, and a sample rubric for the final project.
Fidelity to Course
The first four units of the course provide the necessary foundational framework of concepts and practices that
underlie further investigation into computer science topics. For this reason, it is necessary to teach the full four
units in sequence before launching into extension topics or deviating from the curriculum. Additional units to be
substituted for the Unit 5 and 6 application units will be posted on the ECS website if they meet curricular
guidelines. For more information about these guidelines please see http://www.exploringcs.org/curriculum.
There are many technological tools that enable people to explore concepts and create exciting and personally
relevant artifacts that impact society. In this course, programming is used as one of the tools, but not the only
tool. Students are asked to be creative in designing and implementing solutions as they translate ideas into
tangible forms. As students actively create, they will also discuss the broader implications of computing
technologies.
Throughout the course students will gain experience in employing the following computational practices:
As students design and implement solutions using abstractions and models, they will analyze the processes they
and their peers use to arrive at solutions, study the effects of their creations and learn how computing concepts
connect explicitly and implicitly to other disciplines. Students will learn about the collaborative nature of
computer science by working in teams and communicate the results of their work in writing and orally
supported by graphs, visualizations and computational analysis.
Overview Chart
3-4 Demystify and learn the function of the parts of a personal computer.
Learn the terminology of hardware components necessary for the
purchase of a home computer.
5-7 Explore the world wide web and search engines. Experiment with a
variety of search techniques, internet resources, and Web 2.0,
applications. Evaluate websites.
8-9 Examine the implications of data on society and how computers are used
for communications.
10 Tell a story with data.
11-14 Explore how computers are used as a tool for visualizing data, modeling
and design, and art in the context of culturally situated design tools.
15-16 Introduce the concept of a computer program as a set of instructions.
17-19 Explore the idea of intelligenceespecially as it relates to computers.
Explore what it means for a machine to learn. Discuss whether
computers are intelligent or whether they only behave intelligently.
4-6 Apply the problem solving process. Use different strategies to plan and
carry out the plan to solve several problems.
10-12 Count in the binary number system. Convert between binary and decimal
numbers in the context of topics that are important to computer science.
13-14 Introduce the linear and binary search algorithms.
15-16 Explore sorted and unsorted lists and various sorting algorithms.
17 Introduce minimal spanning trees and how graphs can be used to help
solve problems.
18-21 Final projects and presentations
6-7 Explore image editing for the web using Photoshop or an image editor of
choice.
8-10 Introduce basic css.
11-13 Explore the concept of separating style from structure by keeping separate
html and css files.
7-8 Practice the concept of event driven programming through the creation of
an alphabet game.
10-13 Write Scratch stories and present them to the class. Conduct peer
reviews.
20-23 Create a timing game in Scratch and present it to the class. Peer reviews
are conducted.
24 Investigate two types of games that may provide ideas for the final
project.
25 Explain final project and the rubric for the final project.
1-3 Review how data can be used for making a case/discovery. Explore pitfalls
and challenges of putting together and managing large sets of data.
Provide an overview of the final project.
4-5 Explore possible research questions for a selection of sample campaigns.
Validate compelling stories with research data.
9-12 Create maps using the latitude and longitude of a location and then create
maps from a file of data.
14-16 Discuss bar plots, categorical and continuous data, and mosaic plots as a
vehicle for comparing categorical data, and looking at trends in data.
17 Create bar plots and mosaic plots with student data and related data set.
18-20 Review mean, median, minimum, maximum. Discuss various ways to
22-24 Use a variety of filters and queries to create subsets of text data. Create
bar plots to graphically display the information.
2-3 Evaluate robot body designs and create algorithms to control robot
behavior.
4 Set up LEGO Mindstorms NXT kit.
10-13 Program the robot using the Mindstorm Robot Educator Software
tutorials.
14 Introduce RoboCup real life robotic competition and write instructions for
tic-tac-toe.
Topic Description:
In this unit students are introduced to the concepts of computer and computing while investigating the major
components of computers and the suitability of these components for particular applications. Students will
experiment with internet search techniques, explore a variety of websites and web applications and discuss
issues of privacy and security. Fundamental notions of Human Computer Interaction (HCI) and ergonomics are
introduced. Students will learn that intelligent machine behavior is not magic but is based on algorithms
applied to useful representations of information, including large data sets. Students will learn the characteristics
that make certain tasks easy or difficult for computers, and how these differ from those that humans
characteristically find easy or difficult. Students will gain an appreciation for the many ways in which computing-
enabled innovation have had an impact on society, as well as for the many different fields in which they are
used. Connections among social, economical and cultural contexts will be discussed.
Objectives:
Topic Description:
This unit provides students with opportunities to become computational thinkers by applying a variety of
problem-solving techniques as they create solutions to problems that are situated in a variety of contexts. The
range of contexts motivates the need for students to think abstractly and apply known algorithms where
appropriate, but also create new algorithms. Analysis of various solutions and algorithms will highlight problems
that are not easily solved by computer and for which there are no known solutions. This unit also focuses on the
connections between mathematics and computer science. Students will be introduced to selected topics in
discrete mathematics including Boolean logic, functions, graphs and the binary number system. Students are
also introduced to searching and sorting algorithms and graphs.
Objectives:
Topic Description:
This section prepares students to take the role of a developer by expanding their knowledge of algorithms,
abstraction, and web page design and applying it to the creation of web pages and documentation for users and
equipment. Students will explore issues of social responsibility in web use. They will learn to plan and code their
web pages using a variety of techniques and check their sites for usability. Students learn to create user-friendly
websites. Students will apply fundamental notions of Human Computer Interaction (HCI) and ergonomics.
Objectives:
Programming
Algorithms and abstractions
Connections between mathematics and computer science
Societal impacts of computing
Topic Description:
Students are introduced to some basic issues associated with program design and development.
Students design algorithms and create programming solutions to a variety of computational problems using an
iterative development process in Scratch. Programming problems include mathematical and logical concepts
and a variety of programming constructs.
Objectives:
Topic Description:
In this unit students explore how computing has facilitated new methods of managing and interpreting data.
Students will use computers to translate, process and visualize data in order to find patterns and test
hypotheses. Students will work with a variety of large data sets that illustrate how widespread access to data
and information facilitates identification of problems. Students will collect and generate their own data related
to local community issues and discuss appropriate methods for data collection and aggregation of data
necessary to support making a case or facilitating a discovery.
Objectives:
Robotics
Algorithms and abstraction
Connections between mathematics and computer science
Programming
Societal impacts of computing
Topic Description:
This unit introduces robotics as an advanced application of computer science that can be used to solve problems
in a variety of settings from business to healthcare and how robotics enables innovation by automating
processes that may be dangerous or otherwise problematic for humans. Students explore how to integrate
hardware and software in order to solve problems. Students will see the effect of software and hardware design
on the resulting product. Students will apply previously learned topics to the study of robotics.
Objectives:
Identify the criteria that describe a robot and determine if something is a robot.
Match the actions of the robot to the corresponding parts of the program.
Build, code, and test a robot that solves a stated problem.
Explain ways in which different hardware designs affect the function of a machine.
Describe the tradeoffs among multiple ways to program a robot to achieve a goal.
Topic Description:
Throughout the course, is placed on how computing enables innovation in a variety of fields and the impacts
that those innovations have on society. Computing is situated within economic, social and cultural contexts and,
therefore, influences and is influenced by each of these. The proliferation of computers and networks raises a
number of ethical issues. Technology has had both positive and negative impacts on human culture. Students
will be able to identify ethical behavior and articulate both sides of ethical topics. Students study the
responsibilities of software users and software developers with respect to intellectual property rights, software
failures, and the piracy of software and other digital media. They are introduced to the concept of open-source
software development and explore its implications. Students identify and describe careers in computing and
careers that employ computing.
Objectives:
Unit 1:
Human Computer Interaction
Introduction
Computers and other computing technology have become an integral part of our society. Because of that it is
easy to forget that not every student will come to this course with the same background and skills. For many
students this course will be the first opportunity they have to become facile with using the keyboard and
navigating the internet.
The topics in this unit are designed to allow all students to gain familiarity with computers and computing in the
context of activities that give students an opportunity to work at their own pace, collaborate in groups where
they can learn from each other and generally gain an overview of the many and varied ways in which computers
and computing are used.
Exploring the concepts of computer and computing by investigating computer hardware components
and a variety of internet resources (Days 1-7)
Exploring the use of computers in a variety of circumstances and fields (Days 8-13)
The computer as a machine that needs to be provided specific instructions (Days 14-19)
The goal is for all students in the class to reach a level of comfort in using the computer and understand that the
computer is not magic. The fact that for a computer to accomplish its tasks it needs to be given precise
instructions motivates the need for the problem solving techniques that will be addressed in Unit 2.
Specific topics for each instructional day are listed in the overview chart on the next page.
3-4 Demystify and learn the function of the parts of a personal computer.
Learn the terminology of hardware components necessary for the
purchase of a home computer.
5-7 Explore the world wide web and search engines. Experiment with a
variety of search techniques, internet resources, and Web 2.0,
applications. Evaluate websites.
8-9 Examine the implications of data on society and how computers are used
for communications.
10 Tell a story with data.
11-14 Explore how computers are used as a tool for visualizing data, modeling
and design, and art in the context of culturally situated design tools.
Topic Description: What is a computer? In this lesson the concepts of computer and computing are explored
through examples of each.
Objectives:
Student Activities:
Teaching/Learning Strategies:
washer, dishwasher, etc.), cars, medical equipment, planes, watches, cash registers, ATMs,
traffic lights, scoreboards, humans, and calculators.)
o Have student groups share their ideas. After each presentation, give the other students an
opportunity to suggest why any particular example seems not to be a computer (or is not
obviously a computer). If necessary, ask questions to draw out the student questions and
responses. (For example, if the student says dishwasher, you might ask, why is a dishwasher
a computer.)
o Have a brief discussion of the power of cell phones. Mention collection of data as a
foreshadowing of unit 5.
Classification of computing groups
o Ask students to suggest possible classifications for the items on the list; create a new list with
the various items listed under a group classification.
Definition of the terms computer and computing.
o Revisit the question What is a computer? and ask the possibly more pertinent question,
What is computing?
o Have the students use their list of computers and their classifications to help formalize their
answers.
o Note that there is no correct answer. These definitions will be revisited and possibly modified
throughout the course of the unit.
o Reinforce the idea of different types of computers and classifications by reviewing the lists and
groups created by the students.
Computer Buying Project Assignment
o Each student will interview a family member or friend to find out what features that person
would like to have if they were buying a new personal computer.
o Demonstrate the interview process by asking a student to participate in an interview and ask
them questions such as: What will be the uses of the computer? What are the space
constraints? What is the price range? Etc. You may wish to provide students with a specific list
of interview questions.
Resources:
Topic Description: Students complete a project related to choosing appropriate components for a personal
computer.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Choose one of the interviews of buying a new computer to use for this project. Your task is to give them at least
4 options and then give them advice on which one to buy. Your project will be presented to the class.
Student Grouping:
You will be in a group of up to 4 students.
_______________________ _______________________
_______________________ _______________________
Presentation
Extra Credit
Project exhibits creativity above and beyond Up to 10
TOTAL: 100 + 10
Topic Description: Search engines and how they work are explored through trying various internet search techniques.
A selection of Internet resources that are useful for finding information are introduced as well as a selection of Web 2.0
applications. Several websites are evaluated by using a rubric to determine if they are good websites.
Objectives:
Perform searches and explain how to refine searches to retrieve better information.
Identify resources for finding information in addition to ranking based search engines.
Differentiate between ranking based search engines and social bookmarking (collaborative) search engines.
Use a variety of Web 2.0 applications.
Develop and use a rubric to evaluate websites.
Student Activities:
Teaching/Learning Strategies:
Journal Entry: List at least three ways in which you currently use the internet.
o Have students share their responses with their elbow partner.
Have student groups complete an internet scavenger hunt.
o A sample is provided, but you may want to create your own that is more specific to the interests of your
Resources:
In your group, use the internet to find the following items. For each item include the steps you took to find each item.
Authority
Does the author have appropriate qualifications with respect to the Yes No Unsure
information being presented?
Purpose
Coverage
Accuracy
Objectivity
Does the author avoid the use of emotional or inflammatory language? Yes No Unsure
Does the author avoid trying to sell something or persuade the reader Yes No Unsure
of a particular viewpoint?
Currency
Appearance
Topic Description: The use of computers for communications and the impact this has had on
society is discussed.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: List as many computer-based communications mechanisms as you can.
Identification of communications mechanisms
o Volunteers provide examples from their journal entry. Post the responses.
o Prompt students as necessary with examples.
Internet-based communication (email, chat, Facebook, Internet
telephony)
Telephone-based communication (cell phones, texting, landline
telephone service)
News and information on demand
Resources:
Texting
Phone call
Talking in person
MySpace / Facebook
Twitter
Email
1. How would life be different if you could only communicate 1 on 1 instead of with
multiple people at once?
Privacy Activity
Data are everywhere. You are 'giving off data' and providing data to others all the time.
Sometimes this data can be directly linked to you as an individual; sometimes not.
Read the scenario assigned to you (many of these are based on real stories):
A. A boss sees an employee who called in sick in a picture that someone posted on
Facebook. In this picture the employee is partying the night before. The boss fires the
employee.
B. A company who has contracts with the Federal Government doesnt want to hire you
because a Facebook friend leaves lots of enthusiastic legalize marijuana postings on
your wall.
C. A teacher is fired because theres a picture of this teacher holding alcoholic drinks on
her MySpace page.
D. Someones Netflix rental history is being used as evidence in a murder case because this
person rented a lot of horror movies.
E. An 18-year-old boy is charged with distributing child pornography when he uses his cell
phone to send naked images of his 17-year-old ex-girlfriend to his friends.
Prepare a 3-5 minute presentation for the class that includes answers to the following:
Instructional Day: 10
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: What do you think about when you hear the word data? Where can it be
found? Where does it come from?
o Class discussion of journal entries
Write down ideas from students.
Emphasize that this lesson is meant to stretch their thinking about data.
Room Activity
o Assign various groups different versions of the Room Activity.
Depending on the amount of time available and the size of the class,
you can have some students work with the picture (in the Supplemental
Materials) and some work with the entire word list OR you can assign
different subsets of the word list to different groups of students.
o When each group is finished with their first 4 instructions, have them compare
with a group that has a different version.
o Have groups share their answers to #2 with the entire class.
o Show groups the different versions of the room.
o Have groups complete questions 5-7.
o Have some groups share their answers for 5-7
o
Emphasize that the appearance of the data and amount of data collected inform
the inferences that can be made.
Homework: Complete Communications Methods and Data Chart and Data Journal
o Explain that they will be adding to the Communications Methods Chart of the
previous day by adding information about data.
o Introduce the Data Journal.
o Both of these assignments will be due on the first day of Unit 2.
o Clarify questions.
Resources:
Laptop Violin
Nintendo DS Globe
PS3 Shoe
Calendar Guitar
Phone
Mug
Trophy
Picture Frame
Posters (8)
Harry Potter
poster
Lava lamp
Glasses
1. Draw a picture of the room including each of the items from the list above.
2. What does this data tell you about the person who lives in this room? What does it not tell you?
3. What are most of the items in this room related to?
4. How many Radios are there?
1. Lava lamp, Books (10), Burger, Cell phone, Pringles can, Television,
Calendar, Glasses, Lava lamp, Sandwich, Pizza, Paintings (2), Person, Sprite Can
2. Trophy, Pizza, Guitar, Sandwich, IPod with ear buds, Radio(2), Toy soldiers(3), Person, Shoe, Cell phone,
Violin, Harry Potter poster, Ribbons(3), Sandwich, Laptop, Goldfish
3. Books (75), Burger, Globe, Gold Medal, Goldfish, Harry Potter poster, Phone, Paintings(2), Person,
Plaques(3), Posters(8), Ribbons(3), Toy soldiers(3), Trophy, Violin
4. iPod with ear buds, Television, laptop, Radio(2), Cell phone, Guitar, Toy Car(3), Nintendo DS, PS3,
Burger, Pizza, Person, Pringles can, Sprite Can
Let's look at what kinds of data you 'give off' when using the different forms of communication. For each of the
following examples, fill in the table below with which method you would choose for the given scenario and why
(You should already have completed that part.). Keep in mind that data here is not just the content you
communicate (what you say or write) but could also refer to details like the time of a telephone call and the
number.
The methods are:
Texting
Phone call
Talking in person
MySpace / Facebook
Twitter
Email
Scenario to Method What data is Who has access What can be Why you chose
communicate available? to the data? learned from the this method
data in
aggregate?
1. Breaking up with a
significant other
(boyfriend/girlfriend)
2. Asking parents
permission to do
something when you
think they will likely
say no
4. Gossip about
someone who could
hear you if you spoke
5. Gossip about
someone not around
you
6. Getting help on
homework
7. Feedback on a big
decision (like what
color prom dress,
what game to buy,
what phone to get)
9. Complain about
your parents
1. How does the type of data being exchanged affect which method you choose?
Name_____________________
Data Journal
During the next several days, take note of situations when you generate data. Were looking for specific
moments when some activity you perform can be observed, recorded and, possibly, combined with similar data
from others. Ideally you will carry this paper with you and take notes over the course of your day. To start you
off, think about what happens when you ride the bus or make a telephone call or browse a web site!
Topic Description: In this lesson, students learn how computers can be used as a tool for visualizing data,
modeling and design, and art in the context of culturally situated design tools. Connections between the design
of the tools and mathematics will be explored.
Objectives:
Explain how computers can be used as tools for visualizing data, modeling and design, and art.
Identify mathematical connections in the output of the tools.
Edit an image using Photoshop.
Research on the cultural background associated with the design tool (25 minutes)
Design tool tutorials (30 minutes)
Creation of designs using the design tools (65 minutes)
Online presentation on how to get started using Photoshop (15 minutes)
Design editing (30 minutes)
Preparation of presentations (40 minutes)
Group presentations (15 minutes)
Student Activities:
Groups do research on the cultural background information associated with the design tools they are
assigned and discuss their findings.
Groups prepare and deliver brief presentations on the cultural aspects of their design tools.
Students complete design tool tutorials.
Groups create designs using the design tools.
Watch an online presentation on how to get started using Photoshop.
Edit images created with the design tools.
Groups prepare presentations.
Groups deliver presentations.
Teaching/Learning Strategies:
Display the first page of each tool in order to give students an idea of what each does.
(http://www.csdt.rpi.edu )
Students divide into groups to work on the tool of their choice. Group sizes will depend on the size of
the class. You may need to have more than one group per tool.
Each member of the group should go through the entire cultural background section individually.
o Answer any questions posed in the section in their journal.
o Look for and write down the mathematical connections.
All group members discuss the section.
o Resolve answers to questions and mathematical connections.
Each member of the group completes the tutorial.
o Students should go through the tutorial at their own pace, but discuss with other members as
questions arise. (Note: The bead loom tutorial is online; the other two are not. The print
versions included here have been adapted from the bead loom tutorial.)
o Encourage students to record in their journal points that they want to remember.
Groups create designs using the design tool software.
o Each person should choose one of the goal pictures for practice and discuss any issues with the
other group members.
o Groups decide whether they want to create one design as a group or have multiple designs for
their presentation.
o Groups work on design/designsthese should be their own creations rather than a mimic of
one of the preloaded designs.
Edit designs with Photoshop (or another photo editor of choice).
o Have students watch the online tutorial and create an account.
o Edit the design.
Prepare presentations to include:
o Culturean explanation in their own words
o Math connectionsan explanation in their own words
o Demo of software
o Display of designsinclude a written description of how they created their design
Groups deliver presentations
o Groups respond to questions from other students and teacher.
o Specifically ask what did the computer scientists who created the tools need to know?
(computer science, graphics, culture, anthropology, visual arts, language arts, history)
Display of designsinclude a written description of how they created their design.
Resources:
.
Part 1
The Virtual Bead
Loom simulates the
same grid pattern
as the traditional
bead loom. Users
place colored
circles in columns
(the Y-axis) and
rows (the X-axis).
There are several tools for placing beads on the virtual loom. In each
case you use the "tab" key or the mouse to move your cursor to the
field for entering the coordinates, then you enter them, and then press
the button for the shape tool. The point tool places a single bead:
The line tool places lines of beads. You specify the two endpoints of the
line. Diagonal lines tend to be jagged, but resizing the grid can help
that (see "Options menu" on next page).
The rectangle tool fills in a rectangle of beads. You specify two vertices
(lower right and upper left). The rectangles of this tool are always
aligned with the axes.
Part 2
The triangle tool fills in a triangle of beads. You specify
the three vertices.
Part 3
There are also controls that apply to all the tools. "Clear"
deletes everything. Normally "Create" is selected, so that
your tools will fill their specified shape with beads. "Remove"
will erase all beads in the specified shape, so if you make an
error use "undo" not "remove." The color button allows you
to select the bead color. Clicking on the little square in the
upper right of the screen will give you a list of all the colors
you have selected so far. The "Save" menu allows you to
save the work on your hard drive and edit the design later.
Make sure your file name is only letters, not spaces or
numbers, and that you go back to the same computer when
you want to edit your work.
.
Part 1
The Virtual Basket
Weaver simulates
the same grid
pattern as the
traditional basket
weaving loom.
Users place colored
circles in columns
(the Y-axis) and
rows (the X-axis).
There are several tools for placing wefts on the virtual loom. In each
case you use the "tab" key or the mouse to move your cursor to the
field for entering the coordinates, then you enter them, and then press
the button for the shape tool. The point tool places a single weft:
The line tool places lines of wefts. You specify the two endpoints of the
line. Diagonal lines tend to be jagged, but resizing the grid can help
that (see "Options menu" on next page).
The rectangle tool fills in a rectangle of wefts. You specify two vertices
(lower right and upper left). The rectangles of this tool are always
aligned with the axes.
Part 2
The triangle tool fills in a triangle of wefts. You specify
the three vertices.
Part 3
There are also controls that apply to all the tools. "Clear"
deletes everything. Normally "Create" is selected, so that
your tools will fill their specified shape with wefts. "Remove"
will erase all wefts in the specified shape, so if you make an
error use "undo" not "remove." The color button allows you
to select the weft color. Clicking on the little square in the
upper right of the screen will give you a list of all the colors
you have selected so far. The "Save" menu allows you to
save the work on your hard drive and edit the design later.
Make sure your file name is only letters, not spaces or
numbers, and that you go back to the same computer when
you want to edit your work.
.
Part 1
The Virtual Rug
Weaver simulates
the same grid
pattern as the
traditional rug
loom. Users place
colored circles in
columns (the Y-
axis) and rows (the
X-axis).
There are several tools for placing wefts on the virtual loom. In each
case you use the "tab" key or the mouse to move your cursor to the
field for entering the coordinates, then you enter them, and then press
the button for the shape tool. The point tool places a single weft:
The line tool places lines of wefts. You specify the two endpoints of the
line. Diagonal lines tend to be jagged, but resizing the grid can help
that (see "Options menu" on next page).
The rectangle tool fills in a rectangle of wefts. You specify two vertices
(lower right and upper left). The rectangles of this tool are always
aligned with the axes.
Part 2
The triangle tool fills in a triangle of wefts. You specify
the three vertices.
Part 3
There are also controls that apply to all the tools. "Clear"
deletes everything. Normally "Create" is selected, so that
your tools will fill their specified shape with wefts. "Remove"
will erase all wefts in the specified shape, so if you make an
error use "undo" not "remove." The color button allows you
to select the weft color. Clicking on the little square in the
upper right of the screen will give you a list of all the colors
you have selected so far. The "Save" menu allows you to
save the work on your hard drive and edit the design later.
Make sure your file name is only letters, not spaces or
numbers, and that you go back to the same computer when
you want to edit your work.
_______________________ _______________________
_______________________ _______________________
Design is original 10
Design has been edited with a photo editor 10
Presentation
All group members participate 10
Present all required parts of project 15
Answer questions from audience 10
Extra Credit
Project exhibits creativity above and beyond Up to 10
TOTAL: 100 + 10
Topic Description: This lesson introduces the concept of a computer program within the context of a set of
instructions for completing a common activity.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Following directions
o Distribute copies of Following Directions Quiz to each student face down in front of them. Each
student should have a blank piece of paper and a pencil as well.
o Give the students five minutes to do the quiz. Make note of how many students stand up and
shout hooray.
o Collect the papers when time has expired.
o Point out that a perfect paper is one which has only the word December written in the top left
corner. (The directions said to read all parts of the test before doing anything and step 14 says
to only complete step #3.)
o Give students about 10 minutes to complete the Drawing Pictures Activity.
Ask volunteers to show their pictures and explain why they drew the pictures as they
did.
After the first volunteer, ask if someone drew it differently.
o Ask the students what following directions has to do with computers. Prompt them as
necessary that a computer follows a specific set of instructions called a computer program and
must follow all of the directions precisely.
Designing a program
oAsk the students to write down a set of instructions for a computer to make a peanut butter and
jelly sandwich. Give them 5-10 minutes to write down these instructions.
o Collect the instructions.
Running a program
o Take out the bread, peanut butter, jelly, and knife and put them on your desk. Pick a set of
instructions for making a sandwich (best to pick one which is not too detailed).
o Read each instruction and carry it outliterally. For example, if the first instruction is put the
peanut butter on the bread, take the jar of peanut butter and put it on the loaf of bread. If an
instruction says to spread the peanut butter on the bread, use your fingers rather than a knife.
If an instruction says to cut the sandwich in half, be creative and cut it between the two slices
of bread. In other words, your goal is to show that instructions need to be very precise.
o Repeat the process with another set of instructions.
o Highlight the implicit knowledge that students bring to the task and how that has to be
unpacked for the computer.
Being more precise with instructions
o Clearly, no matter how precise they tried to be, the instructions for making a peanut butter and
jelly sandwich were open to interpretation. Ask the students to brainstorm how we could
overcome this problem so that a computer could follow the instructions and make a perfect
sandwich each time.
o Guide the students toward the idea that we need a better language than English for describing
the instructions. This is, in fact, the idea behind a computer program. There is a limited set of
instructions which define very precisely what the computer does. For example, we can have a
computer turn on a dot of a specific color in a specific location on the screen. By having the
computer turn on many different dots in different colors, we can have the computer draw a
picture. Note though that we dont have an instruction for the computer to draw a picture of a
house as thats much too general and too open for interpretation.
Resources:
http://www.justriddlesandmore.com/direct.html
The basis for the following directions quiz (the quiz was modified slightly.)
Following Directions Quiz
Drawing Pictures Activity
Bread, peanut butter, jelly, and a knife.
Directions: You have a 5 minute time limit to complete the parts of this quiz. Carefully read all of the parts of
the quiz before doing anything. In order to ensure the accuracy of this quiz, you should not use more than the
allotted time of 5 minutes. Good Luck!!
1. Write today's datemonth-day-year in the top right hand corner of your quiz paper.
2. Write the answer to the following multiplication problem directly underneath the date on your quiz
paper6 X 5 = ?
3. Write the name of the month that begins with the letter "D" in the top left hand corner of your quiz
paper.
4. Add 15 to the answer you got in part #2, and write this new total directly underneath your answer
for part #3.
5. In the lower left hand corner of your quiz paper, write the names of your favorite singer and your
favorite group.
6. Just above your answer to part #5, write "This quiz is very easy."
7. In the lower right hand corner of your quiz paper, draw a rectangle and inside the rectangle draw a
five pointed star. The size of these drawings is not important.
8. Directly above your answer to part #7, draw a row of three small circles. Once again, size is not
important.
9. Write the name of the first president of the United States on the back of your quiz paper anywhere
you choose. If you don't know who this is, write your own name instead.
10. Write the name of any country that begins with the letter "I" directly underneath you answer to part
#2.
11. Stand up, shout hooray!, and sit down.
12. Take the number of dwarfs in the Snow White story and add it to the number of bears in the
Goldilocks story. Divide by 2. Write this total in the approximate center of your quiz paper.
13. Think of a number between 1 and 50. Double that number. Add 20. Add 6. Subtract 17. Subtract 9.
Divide by 2. Write this number on your quiz paper directly underneath your answer to part #11.
14. Now that you have carefully read all of the parts so far, and you have not carried out any of the
actual work, skip the next 2 parts and go back and only complete part #3.
15. The name of the first president of the United States is George Washington. He was president from
1789 until 1797. Add the 2 dates together to see if the total is less than 5000.
16. You should not be reading the end of the exam before the beginning of the exam, but now that you
are here you have just wasted some of the time you may need to complete the quiz.
Topic Description: The question What is intelligence? is addressed through discussion of the differences
between humans and computers. Various models of machine learning are investigated along with the concept
of natural language understanding.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: What is intelligence? Are computers intelligent? Why or why not?
o Volunteers share their responses.
Differentiating between humans and computers
o CS Unplugged Activity 20: Conversations with ComputersThe Turing Test
This activity can be downloaded from http://csunplugged.com From the menu, click on
Activities, click on Turing Test, and then download the pdf for Activity 20. Note there
are many additional resources listed that you may wish to explore.
It will be helpful for you to read through the entire activity before beginning it with your
students. In addition to the explanation of the activity, it provides good background
information that you will want to ensure is part of the discussion you have with
students.
Based on the directions under What to Do (p. 214), assign and explain roles to 4
students.
Follow the remaining directions under What to Do (p.214-215).
Resources:
Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test
(http://www.csunplugged.com), pp. 213-226
Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test, p. 225
questions (one copy for each pair of students)
Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test, p. 226
answers (one copy to post or display)
Computer Intelligence Activity
Part I
A program passes The Turing Test (en.wikipedia.org/wiki/Turing_Test) if a person can have a conversation with
both it and a person and not be able to tell which one is the computer.
Try each of these chatterbots with the questions you were assigned. (Note: all of these websites were correct
at the time of writing. You can also use a Google search to find these and others.)
1. Try to chat with Eliza (http://nlp-addiction.com/eliza/). How realistic is she? Would she pass the Turing
Test?
2. Try to chat with Athena (Athena.blueinfos.com). How realistic is she? Would she pass the Turing Test?
3. Try to chat with Friend4U (virtualentities.com/friend4u). How realistic is she? Would she pass the
Turing Test?
4. Try to chat with InteliAvatar (inteliwise.com). How realistic is she? Would she pass the Turing Test?
5. Which of the above chatterbots was the most like a real person?
6. What is the Chatterbox Challenge (chatterboxchallenge.com)?
Part II
1. Go to 20q.net. Choose your language (Think in American is recommended). Choose one of the games
from the bottom that was assigned to your group. You are supposed to think of something in that
category and answer the computers questions by clicking them. The computer will try to guess what
you chose in 20 questions or less. Play the game several times addressing each of the following:
Pick an item and see how many questions are required.
Choose the same item and see if you can make it require more questions
Repeat this with another item.
How intelligent is this? Would this pass the Turing Test?
Play the second game you were assigned and repeat the process above.
2. The Turing test is a person checking to see if it is talking to a computer. Can you think of any occasions
that a computer might want to know if it is talking to another computer or a real life person?
Unit 2:
Problem Solving
Introduction
In order for students to become computational thinkers they need experience solving a wide range of
problems and the opportunity to experiment with a variety of solution strategies. This unit begins with an
introduction to the problem solving process. Students are asked to solve new problems by planning a strategy,
designing and producing solutions, and then reflecting on their solutions and strategies.
Throughout the unit the emphasis should be on the process rather than the solution. Most of the worlds
problems today do not have single simple solutions. In order to contribute effectively to the solution of these
problems, students need to be comfortable in a collaborative environment where multiple approaches are
valued and encouraged and where failure is seen as part of the process toward solution. Students must learn to
think abstractly and apply known algorithms where appropriate, but also create new algorithms that can be
applied to complex problems.
As students reflect on their solution processes and solutions and share those reflections with their peers, it is an
opportunity to pull out instances where one strategy might be preferred over another and problems for which
there are standard solutions versus those where there are many possible solutions.
Many of the problems presented have a mathematical basis and can serve to provide connections between
mathematics and computer science. Common computer science topics such as searching, sorting, and graphing
are introduced. Although programming the solutions to many of these problems is beyond the scope of this
course, students will gain a basic understanding of the algorithms and be able to analyze them. In particular, it
is important to emphasize that the models used for solving computational problems are the underpinnings of
computer science and as such remain largely the same even as we add new tools and languages.
A key point of emphasis throughout the unit is the connection between the solution process and the
discussion toward the end of Unit 1 related to how computers are programmed. It is also important to
emphasize that not all problems are easily solved by computers.
Specific topics for each instructional day are listed in the overview chart on the next page.
4-6 Apply the problem solving process. Use different strategies to plan and
carry out the plan to solve several problems.
10-12 Count in the binary number system. Convert between binary and decimal
numbers in the context of topics that are important to computer science.
15-16 Explore sorted and unsorted lists and various sorting algorithms.
17 Introduce minimal spanning trees and how graphs can be used to help
solve problems.
Topic Description: This lesson sets the stage for the unit. It provides an overview of data collection and
problem solving that will be needed in order to complete the final project.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Have students share their Communications Methods and Data Chart with their elbow partner.
o Remind students that this was assigned as homework in Unit 1.
o Have a few students share What data is available?, Who has access to the data?
Data Journal Class Discussion
o Have students:
Compare journals with elbow partners.
Write down 5 ways that they give off data.
Take time to discuss what these data sources might tell us about ourselves if we
aggregated or collected these data from lots of people What good might be done?
What services might be improved?
Think about which of these ways can be linked directly back to them. What are possible
implications of the data being linked back to them?
Have students read this article about aggregate search datatechnically, making search
data available to researchers would help improve search engines, but it turns out that
search history is intensely personal.
http://www.nytimes.com/2006/08/09/technology/09aol.html
The Netflix prize is another example. It has recently been cancelled due to FTC concerns
over privacy. http://blog.netflix.com/2010/03/this-is-neil-hunt-chief-product-
officer.html
Volunteering data on Facebook and other social networking sites might tell people more
about you than you intend.
http://www.nytimes.com/2010/03/17/technology/17privacy.html
Solving Community Problems
o Present students with a scenario related to the local community. For example, the city council
wants to find out about trash disposal in the community in order to clean up the streets.
o Have students work in groups of 3-4 to outline how they would
Approach the problem
What kind of data they might need to collect
How they would collect and analyze the data
o Lead a discussion to get at their thoughts. Highlight the differences between making a case and
discovery. How would the choice between these determine the kinds of data you would collect?
Making a case (advocacy)Use data to document situations that contribute to make a
positive or negative case for something. (e.g., Let the Metro know about timing of trains
and buses; tell the principal about something that needs to be done at the school; tell
someone about something youd like to see continued.
DiscoveryCollect data to document situations and then use the data to learn
something. (e.g., could your food choices be improved?; do I always take an efficient
route to activities?)
o What research questions might you ask in each case?
What is your research question?
Why did you choose to collect these data for this question?
What are the limits of this data?
What can you confidently say based on your data?
What perspectives are left out based on your data?
Assignment (will be used for the Unit 2 final project)
o Every day collect data related to where you go after schoollocation, means of transportation
(walk, bike, etc.), how long it takes to get from one location to the next, any other data that you
think would be interesting.
Journal Entry: What are the steps you use to solve a problem?
o Ask students to reflect on whether these steps are the same in all types of problems they solve.
Resources:
Communication Methods and Data Chart
Data Journal
Instructional Day: 3
Topic Description:
This lesson introduces the four main phases of the problem-solving process as defined by G. Polya in How to
Solve It.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Sample questions to askWas your guess correct? What process did you use to
come up with your guess? Did working with your group and creating your plan
change your guess? How many breaks did it take (11 is the answer)? Did your
plan work?
o How do the steps they used match what they wrote in their journal?
Introduction to the steps in the problem-solving process
o How do the steps they used relate to the formal steps of the problem-solving process?
1. Understand the problemread or listen to the problem statement.
2. Make a plan to solve the problemuse pictures, charts, graphs, systematic lists, objects,
or act out the solution to help you devise a plan to solve the problem
In Computer Science we call this plan an algorithm.
3. Carry out the planonce the plan is conceived and understood, follow the plan. If you
have planned well, this is the easy part.
4. Review and reflect on how the problem was solvedonce the problem is solved, reflect
on the plan that was used.
Extend breaking the candy into N pieces.
o Post the Number of Pieces/Number of Breaks Chart (without solutions), including N and have
students give you the # of breaks needed for each number of pieces.
o As you go through the chart, ask questions that lead students to the following understandings.
One problem-solving strategy used in solving a problem is to solve a problem for specific
values, find the pattern and then generalize the solution. In this case, they are
generalizing the solution for an unknown positive number of pieces.
Reflections on the candy bar problem: Ask the students to reflect on the candy bar problem. Why is
this problem an important problem to solve for: a carpenter, a chef, a teacher?
Journal Entry: How is solving this kind of problem the same/different from how you solve a problem in
real life?
o Discuss what makes a problem solvable by computerbeing able to provide a step-by-step
algorithm is one important piece, but context matters. Think back to unit 1 and making a
peanut butter and jelly sandwich. Even if we refined our algorithm would a computer be able to
make one? No, but a robot could. (Foreshadow Unit 6.)
Resources:
Polya, G. How to Solve It. 2nd. Princeton, NJ: Princeton University Press, 2004.
Candy bar problem suggested by Dr. Manuel Blum, Carnegie Mellon University
Candy bars for student groups to use
Number of Pieces/Number of Breaks Chart
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
N N-1
Topic Description:
Students will apply different strategies to help them make a plan and carry out the plan to solve several
problems. These strategies may include (but are not limited to): draw a diagram or picture, make systematic
lists, divide and conquer, find the pattern, and guess and check.
Objectives:
Student Activities:
Work individually on Handshake Activity problem #1 and the Fence Post Activity.
Volunteers present solutions to problems.
Work in groups to complete Handshake Activity problem #2.
Groups give presentations of their problem solutions.
Discuss reflections on the process.
Teaching/Learning Strategies:
The fencepost problem is a variation of the candy bar problem or the handshake
problem.
Handshake Activity problem #2 and Reflections
o In groups of 3 or 4, have students discuss, plan, execute, and reflect on Handshake Activity
problem #2. Students should follow the directions given in the activity document and write
their groups thoughts on paper.
o Encourage students to make drawings or charts and/or act out the solution. Chart paper can be
given to students to display pictures, charts, or graphs. Their job is to explain the process and
the solution so that everyone understands.
Student Presentations
o Each group should be given about 5-10 minutes (depending on the size of the class) to present
their plan and solution to the class. Be sure the students show all 4 steps in the problem-
solving process.
o Students groups should explain their solutionswhy they did what they did
Discussion of reflections
o Ask students questions that will get them to reflect on why they proceeded in the manner they
did. Where did they start? (chart, etc.) What did they do next and why?
o Is their solution complete enough that it could be given to a computer (if they knew the
language the computer was using)? Why or why not?
Resources:
Polya, G. How to Solve It. 2nd. Princeton, NJ: Princeton University Press, 2004.
Handshake and Fencepost Activity
Handshake Activity #2 Sample Solution
Plan the solution: Show your plan for solving this problem.
Carry out the plan: Using your plan, show your work and your solution.
1. Handshake Problem #1: Assume there are 20 people in a room, including you. You must shake hands
with everyone else in the room. How many hands will you shake? If there are N (where N > 0) people in
the room, how many hands will you shake?
2. Fence Post Problem: You need to build one side of a fence that is 12 yards long. This fence will be built
with fence posts and rails that connect one fence post to another. If each fence post is 1 yard away
from the next fence post, how many fence posts will be needed for this side of the fence? How many
fence posts will be needed for a side of a fence that is N (where N > 0) yards long?
Read and begin planning your solution for problems #3 and #4. These problems will be completed in class
tomorrow with your group. Each group will present their solutions to the class.
3. Handshake Problem #2: Assume there are 10 people in a room, including you. Each person in the room
must shake hands one time, and only time, with all the other people in the room. How many
handshakes will occur? If there are 20 people in the room, how many handshakes will occur? If there
are N (where N > 0) people in the room, how many handshakes will occur?
4. Reflections: Why are problems like these important to learn how to solve? How could this type of
solution be of benefit to a carpenter, a chef, a teacher?
The sample solution is only one possibility. Student groups may have a wide variety of strategies. Ask questions
that probe their understanding of the steps of the problem-solving process they used.
What data or information is known? There are 10 people or N people in the room.
What is unknown? Total number of handshakes
What are the conditions? Each person must shake hands only one time with all others in the room.
All of the handshakes must be added together.
Plan the solution: A sample plan could be to describe the plan in words or use a chart or draw a picture and
then act it out.
Have the people line up in the room. The first person in the line walks down the line and shakes
hands with all of the people in the line and then leaves the room. Count the number of handshakes
and add to the total.
The next person in line walks down the line and shakes hands with all of the people left in the line
and then leaves the room. Count the number of handshakes and add to the total.
This continues until there are only 2 people left. They shake hands and leave together. Increase the
total by one.
Once the answer is known for 10 people, look for a pattern. Try the process for 5 people, 2 people. See if the
pattern holds.
Carry out the plan: Using your plan, show your work and your solution.
For 10 people, the answer is the sum of the numbers from 1 to 9, which is 45. 9 is 10 1.
For 5 people, the answer is the sum of the numbers from 1 to 4, which is 10. 4 is 5 1.
For 2 people, the answer is the sum of the numbers from 1 to 1, which is 1. 1 is 2 1.
For N people, the answer is the sum of the numbers from 1 to (N-1).
Review and discuss your solution: Each person shakes hands with N 1 other people. The answer is not
N(N-1), though, because each handshake counts as the one handshake for each person, but only one
handshake for the total. The Hershey Bar problem helped to start the plan for this problem, but I needed to
adjust the plan to only allow one handshake between each pair in the room.
So the 10 people make 9 handshakes each, but each handshake happens between 2 people, and can only be
counted once. I could "divide" the handshake and let each person count the handshake as a 1/2 handshake.
So 10 people make 9 half-handshakes each = 45 handshakes.
Topic Description:
This lesson reinforces the four main phases in the problem-solving process.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Topic Description: This lesson introduces the binary number system and how to count in binary. Students will
learn how to convert between binary and decimal numbers in the context of topics that are important to
computer science.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: How high can you count with your ten fingers?
Use the CS Unplugged: Count the Dots activity to introduce binary representation and counting in
binary.
o Start with the introductory activity on p. 4 of the activity. (The activity can be downloaded from
http://csunplugged.com ) It will be helpful to read through the entire activity in advance, so
that you can revise questions, add your own questions, and think about how you might want to
structure each part of the activity. The goal is for students to be actively involved in some way
and for all students to be able to represent numbers and count in binary. What follows is the
minimal suggestion.
o Have 5 students come to the front of the room and demonstrate as you follow the instructions
and ask the questions. (Each student should receive a large card with one of the numbers of
dots1, 2, 4, 8, 16)
Use the CS Unplugged: Count the Dots activity to explain the binary number system and have the
students practice counting forward and backward.
o Complete the Binary Numbers activity on p. 5 and Working with Binary activity on p 7.
o Have 5 students come to the front of the room and try counting as you call out the numbers.
(Each student should receive a large card with one of the numbers of dots1, 2, 4, 8, 16)
o Have different groups of 5 students at a time come to the front and have the other students
provide counting and representation challenges. You could also have a competition with
multiple teams of students each trying to get the answer. There are many other possibilities.
Be creative!!
Revisit Journal Entry.
Journal Entry: Complete the Sending Secret Messages activity on p. 8 of the CS Unplugged: Count the
Dots activity. (Solution is on p. 13.)
Discussion of why binary numbers are important in computer science
Complete the remaining activities in CS Unplugged: Count the Dots. (Email and Modemsp. 9, Counting
Higher than 31p. 10, and/or More on Binary Numbersp. 11)
Resources:
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged. Canterbury, New Zealand: 2002.
Computer Science Unplugged Activity 1: Count the DotsBinary Numbers, pp. 3-13
Binary number cards for each student
Large binary number cards for the demonstrations
Topic Description: This lesson introduces the linear and binary search algorithms.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Shasha, Dennis. The Puzzling Adventures of Doctor Ecco. Mineola, New York: Dover Publications, Inc.,
1998.
Tower Building Activity
Sample Solutions for Tower Building Activity
Donald Trump wants to build a 100 meter high tower as quickly as possible. He has unlimited resources and an
unlimited budget and is willing to spend any amount to get the job done.
He has chosen to build the tower with blocks that are 100 meters long and 100 meters wide, but only 1 meter
tall. The blocks interlock on top and bottom (like legos). They cannot be stacked sideways.
Using special lifters, putting one stack on top of another stack takes one week regardless of how high the stacks
are.
What is the shortest amount of time that it will take to build the tower?
Suggestions:
5 meter tower
10 meter tower
n.
In general: The number of weeks is the smallest n such that the height of the tower is less than 2
Topic Description: In this lesson the concept of a list (sorted and unsorted) and sorting algorithms will be
explored.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: List examples of where it matters whether items are in order (sorted).
o Have volunteers provide examples from their lists and explain why it matters that they are
sorted; in other words, what are the consequences if the list is not sorted?
o Ask students about the data that they have been collecting. How easy would it be for them to
sort their data by hand? Does it get harder to do this with more data? Point out that this is one
of the major advantages of computingthe ability to manage large sets of data that could not
easily be managed by humans.
CS Unplugged: Lightest and Heaviest activity
o The activity can be downloaded from http://csunplugged.com. It will be helpful to read through
the entire activity in advance, so that you can revise questions, add your own questions, and
think about how you might want to structure each part of the activity. The goal is for students
to be actively involved in some way and for all students to be able to describe the various types
of sorting. What follows is the minimal suggestion.
o Divide students into groups of 3-4 and give each group a set of weights and a balance scale as
described in steps 1 and 2 on p. 66 of the Sorting Weights Activity. (There are many possible
ways to make the weights. One would be to use bags with varying numbers of pieces of candy.
If you dont have balance scales, you can help students come up with a strategy that will
simulate a scale. For example, if you make the weights clearly different in weight, they could do
this by feel.)
o Have students complete #3 and #4 on p. 66 and then discuss their answers as indicated.
o Have students complete #5 on p. 66.
o At this point in the activity, students should present their findings to the class and discuss. Point
out the selection sort information on p.66.
o Have students complete the Divide and Conquer activity on p.67. Throughout, guide students as
necessary and have them keep track of the processes they use.
If time permits, have students try both sorting methods to sort cards that have 50 random numbers on
them and analyze the number of comparisons required for each.
Resources:
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged., New Zealand: 2002.
Computer Science Unplugged Activity 7: Lightest and HeaviestSorting Algorithms, pp. 64-70
Containers of the same size with different weights
Balance scales
Instructional Day: 17
Topic Description: Minimal spanning trees and graphs will be explored. Students will learn how graphs can be
used to help solve problems.
Objectives:
Student Activities:
Participate in the various parts of the CS Unplugged: The Muddy City activity.
Participate in the various parts of the CS Unplugged: The Muddy City activity extension.
Teaching/Learning Strategies:
Resources:
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged. Canterbury, New Zealand: 2002.
Computer Science Unplugged Activity 9: The Muddy CityMinimal Spanning Trees, pp. 76-80
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Final Project
For this project you will use the data you have been collecting about your activities after school. Each group
member should determine the day on which they visited the most locations after school and what those
locations were.
Scenario:
Assume that for one day you need to carpool with the other members of the group in order to get to all of the
locations you each identified on the day you visited the most different locations. Determine the shortest route in
terms of miles and then determine the shortest route in terms of time. Are these the same? Why or why not?
What other conditions might you want to consider? (Your data may give you some ideas.)
You will need to use a map in order to calculate the distances. The data you collected has the times.
Your presentation can be given as a poster, a PowerPoint, a video or other pre-approved product.
_______________________ _______________________
_______________________ _______________________
Detailed Plans
Presentation
TOTAL: 100
Unit 3:
Web Design
Introduction
The Web Design unit builds on the concepts presented in the previous units by having students apply problem
solving strategies to web design; thus, it also serves as a bridge to the Introduction to Programming unit as
students move from user to creator. The unit also provides an opportunity to expand upon the issues of ethics
and privacy related to the internet that were introduced in the first unit.
The basics of html and css are introduced as a method for describing features of web pages that students can
use to design and develop web pages based on their own culture, interests and unique experiences.
The html and css lessons are scaffolded in order to provide all students an entry point, but it is likely that as
students explore they will encounter features they wish to add for which they do not yet know the correct tags.
Many students will be able to figure these out on their own and should be encouraged to do so.
Resist the temptation to provide lists of appropriate font and color palettes and/or best layout designs. As
students experiment and share their work, challenge them to explain why they chose the features they did and
encourage peers to comment.
Example projects are provided as a starting point, but students should be encouraged to work on projects that
are authentic for them. They may choose to create web pages on different topics for each assigned project or
build on a prior one as appropriate.
There are two supplementsFlash animation and Javascriptat the end of the unit for use if there is additional
time and interest.
Specific topics for each instructional day are listed in the overview chart on the next page.
1-2 Explore issues of social responsibility in web use as well as the relative
merits of the influence of the web on society, personal lives, and
education.
3-4 Introduce the use of basic html.
6-7 Explore image editing for the web using Photoshop or an image editor of
choice.
8-10 Introduce basic css.
11-13 Explore the concept of separating style from structure by keeping separate
html and css files.
Topic Description: This lesson engages students in a discussion of the web as social experience. Issues of social
responsibility in web use are explored as well as the relative merits of the influence of the web on society,
personal lives, and education.
Objectives:
Set up a blog.
Explain basic security issues on the internet.
Identify web applications which influence society and education.
Identify appropriate vs. inappropriate use of social websites.
Student Activities:
Set up a blog.
Participate in discussion of online security.
Create a blog entry on online experiences.
Participate in a discussion about online experiences with social networking sites, blogs, email, online
chatting and the kind of impact it has had on their lives.
View and discuss Growing Up Online.
Create a Blog entry reflecting on Growing Up Online.
Teaching/Learning Strategies:
Set up a blog
o Complete the portions of the setup that were not done prior to class.
o Guide a discussion of online security as students work on setting up their blogs.
Create a blog entry on online experiences.
o Show students how to create a blog entry using the blogging tool chosen for the class.
o Have students create an entry that describes some of their current online experiences.
Guide a discussion regarding student use of social networking applications. (Note: This discussion may
be a review of discussions from Unit 1.) Ask questions such as:
o Which social networking applications do you use? (blogging, Facebook, MySpace)
o How often? How many of your friends use them?
o How important are these web applications to your lives? How have they changed your lives?
Living their lives essentially online
A revolution in classrooms and in social life
Self expression, trying on new Identities
Display parts 1-3 of Growing Up Online from the PBS series Frontline.
o After viewing the video, lead a discussion on the content.
Blog entry reflecting on Growing Up Online
o Have students create a blog entry reflecting on the video. Did any of their thoughts change after
viewing the video?
Note: Helping each student set up a blog will require some time outside of class and should be completed in
advance of the lesson. For example, students need to get a free Google gmail account before signing up for
blogger. This can only be done outside of the LAUSD firewall.
Resources:
http://www.pbs.org/wgbh/pages/frontline/kidsonline/
http://www.blogger.com
http://www.wordpress.com
http://www.tumblr.com
Objectives:
Create a storyboard
Navigate an html editor.
Create an html page with a title and a body.
Create an html page with paragraph tags, headings, line breaks, and horizontal lines.
Student Activities:
Teaching/Learning Strategies:
o Enter a title and a one sentence body. Demonstrate how to save the document as an html file
and how to view the output page in a browser. Point out that the title appears in the bar at the
top of the window. Also point out that the end tag is a necessary part of the syntax in order to
tell the computer when to stop doing a particular thing.
Html page with a title and a body
o Have students write a paragraph in the body section and give it a title. (Students can choose to
write about themselves or another topic of interest.)
o Demonstrate the creation of a basic html/css page in the html editor of choice.
Html page with paragraphs and headings
o Have students add a second paragraph to their web page and note what happens.
o Then have them add two lists related to their topic (favorite movies, music, hobbies, etc.) and
note what happens.
o Guide students to notice that everything runs together no matter how they type it.
o Explain the following html tags.
o Have students try inserting these new tags into their web page and note what happens.
o Remind students that they need the end tag.
o This is a good place to point out that html is one language that can be used to give the computer
instructions as discussed in Unit 1 and that the computer will produce exactly the output that
the user indicates with the syntax provided. Html is not a programming language; it is a markup
language.
Html page with line breaks and horizontal lines
o Explain the following html tags.
o Have students try inserting these new tags into their web pages and note what happens.
o Give students time to experiment and determine what combination of tags will allow them to
put their lists in a column, with each list having its own heading.
o Point out that trying different tags and checking the output is an example of testing and
verification. If the output is not what is intended, then they need to debug the code they wrote.
Resources:
html editors
html tutorial
http://www.w3schools.com/html/
Instructional Day: 5
Objectives:
Student Activities:
Teaching/Learning Strategies:
Review of tags
o Have students open their files; then lead a quick review of the tags.
Html pages that include emphasized text
o Explain the following html tags.
o Have students try inserting these new tags into their web pages and note what happens.
o Give students time to experiment.
o Ask students to think about what things they would like to be able to do with web pages that
they have not done already. Answers will vary: pictures, different types of fonts, colors, etc.
Resources:
html tutorial
http://www.w3schools.com/html/
Topic Description: Explore image editing for the web using Photoshop or an image editor of choice.
Objectives:
Identify the standard image resolution for the web (72 dpi).
Resize and crop images for the web.
Identify and differentiate between the various image formats used in web sites: jpg, gif, png.
Create an html page that includes images.
Student Activities:
Teaching/Learning Strategies:
o Point out that the correct syntax for defining an image is <img src=xxxx.jpg/>
o xxxx is the name of the image file. The image should be in the same folder as the html file.
o Have students insert their image into their html page.
o They can resize the photo on the screen with: <img src=xxxx.jpgwidth=some #height=some
#/>
o They can add a title by: <img src=xxxx.jpgwidth=some #height=some # title=This is my
photo/>
o Give students time to experiment with placement, sizes, headings, and additional images.
o For students who finish early, you can have them view the filters and effects section of
http://www.georgebenainous.com/web and try modifying their images.
Resources:
http://www.georgebenainous.com/web (photoshopfilters/effects)
http://morph.cs.st-andrews.ac.uk/
https://www.photoshop.com/express
Objectives:
Student Activities:
Teaching/Learning Strategies:
Overview of css
o CSS stands for Cascading Style Sheets.
o CSS provides the formatting and style for a web page, while html provides the content.
o There are three methods for inserting styles.
Inline styles
Internal style sheet
External style sheet
o The selector is the element you want to style; each declaration consists of a property and a
value; the property is the attribute you want to change and each property has a value.
o To make it more readable you can put each declaration on a separate line.
o Demonstrate creating a header with the inline style listed above.
o Note that you can retrieve a css reference from http://www.w3schools.com/css/.
o Display http://www.w3schools.com/tags/ref_colornames.asp and
http://www.w3schools.com/tags/ref_colorpicker.asp as sources for choosing colors.
o Have students suggest a few different declarations and demonstrate the results.
Create a web page that uses inline styles.
o Have students add a few styles to their web page.
Sample internal style sheet.
o Point out that inline styles should be used sparingly because they defeat the purpose of
separating the style from the content.
o Have students view http://www.georgebenainous.com/web (html/css--basic markup). They
should view the page before and after the styling is added.
o Point out what each piece of the styling does to the original page. Point out the format and that
the internal style sheet is included in the <head>. Also note that the style applies to the entire
page unless a specific inline style is added.
o Talk about the fact that this is a way to do decomposition in their design process because they
can choose the content and provide the style in two separate stages. They can also then test
the various style elements one at a time to verify correctness. You may want to note that this is
similar to the way you can think about writing the algorithm for making a peanut butter and jelly
sandwichwrite the instructions to work for any bread, any kind of peanut butter, and any
kind of jelly; then the specific kinds of bread, peanut butter, and jelly can be changed according
to particular taste. You could even extend this further to make it any kind of sandwichbread,
filling 1, filling 2, etc. (Note: This is an example of abstraction.)
Movie review html/css page
o Students create a website with one or more movie reviews. The html page will contain the
following paragraphs for each review: title, director, synopsis, review. The css stylesheet will
have corresponding classes. The page will also include:
At least one picture
The name of at least one of the actors in italics
The background and text colors
Share student work.
o Guide students in sharing their work either by a gallery walk, volunteers, etc.
Complete second html/css project
o Note: you may choose to have students continue working on their movie project rather than
start a second one if time is short.
o Some examples of projects from which to have students choose are provided in the tutorial or
have students create their own project.
Share results of student work.
o Guide students in sharing their work either by a gallery walk, volunteers, etc.
o Have students provide feedback to their peers.
Resources:
Objectives:
Review of html/css concepts and description of how to link to a separate css file (15 minutes)
Sample web content (20 minutes)
Creation of separate html and css pages for the previous movie review project (40 minutes)
Creation of separate html and css pages for a second project (75 minutes)
Share student work (15 minutes)
Student Activities:
Teaching/Learning Strategies:
o Have students revise their previous movie review project to use an external css file.
Complete html/css project 2.
o One example of a project might be to create a website with information on their favorite band.
A paragraph with the name of the band in large bold type.
At least one picture
The genre of the band in italics (i.e. Rock, Rap, etc.)
A list of some of the songs from the band in a paragraph in regular type
A separate section that explains why the band is their favorite
The background and text in different colors
o Other examples can be found in the tutorial
Share student work.
o Guide students in sharing their work either by a gallery walk, volunteers, etc.
Resources:
Instructional Day: 14
Topic Description: This lesson explores the use of links to other websites.
Objectives:
Student Activities:
Teaching/Learning Strategies:
o Point out that the correct syntax for defining a hyperlink is <a href="url">Link text </a>
o The start tag contains information about the link address.
o What is to be displayed can be text, an image, etc.
o Give students time to experiment with adding hyperlinks to their previous project, including
placement and sizes.
Resources:
Topic Description: In this lesson a variety of page layout styles are introduced.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
http://www.w3schools.com/html/
http://www.w3schools.com/css/default.asp
Objectives:
Student Activities:
Design and create a 3 page website about their future that links to at least 5 other websites and includes
a variety of design elements.
Share completed work.
Teaching/Learning Strategies:
Design and create a web page about their future that links to at least 5 other websites and includes a
variety of design elements.
o The three pages may either scroll or link to each other.
o The project should include images related to their future.
Share student work.
Resources:
http://www.georgebenainous.com/web (html/css)
Topic Description:
This lesson introduces a variety of enhancements for website development. Possible enhancements include:
several web user interface elements combining Javascript, html, css, and Photoshop, accordion menus, lightbox,
slideshow and jquery.
Objectives:
Student Activities:
Review the sections of the tutorial website related to the enhancement possibilities.
Create a multi-page website.
Share completed work.
Teaching/Learning Strategies:
Have students review the sections of the tutorial website dealing with
o the creation of rollover buttons.
o the lasso for inverted selections.
o menus.
o accordion menus.
o lightbox.
o sliding images.
Creation of a multi-page website
o Have students choose 2 or more of the enhancements to include in their website.
o Students may add to the website about their future or create something new.
Share student work.
Resources:
http://www.georgebenainous.com/web (javascriptmootools)
http://www.georgebenainous.com/web (javascriptlight box, javascriptjquery)
https://www.photoshop.com/express/index.html
Objectives:
Student Activities:
Teaching/Learning Strategies:
Final project
o Explain final project choices.
o Help students with projects as necessary.
Gallery walk
o Encourage students to ask each other questions as they view the websites.
o Have students vote on their favorite.
Resources:
Final Project
Final Project Sample Rubric
Final Project
An ethical dilemma
A career
A worldwide or community problem
A topic of your choice that has been approved
Your task is to analyze an ethical dilemma. Choose one of the four dilemmas listed below or get approval for a
different one. You must consider the alternatives and give reasons for the why and the why not you should do
what is described. Then you must choose what you would do and explain why. The website should include pages
that
Ethical Dilemmas:
1. People illegally download music over the internet. Although its free, it is still illegal. What do you
choose to do? Why?
2. Your parent loses his/her job. You could help out by selling illegal dvds on the streets. What should you
do?
3. You have the ability to hack into the school computer system. You can change peoples grades. Would
you change your own? Why or why not? What if you could change the grade for a basketball player who
has a scholarship to play for a big university?
4. Someone you know works at a store that sells iPods. He steals some and asks if you want to buy one for
half the price the store sells it for? Should you buy it? Why or why not?
Career Website
Research a career and create a website that provides information about it.
Research a worldwide or community problem and create a website that provides information about it.
Points Points
Do you have? Yes No
Possible Earned
Website Content
Website Design
Peer Grading 15
Total 100
Instructional Day: 1
Topic Description: Adobe Flash (formerly Macromedia Flash) is a proprietary web animation platform. The
introductory lesson demonstrates how to use stop action photography and Flash to create a flipbook effect.
Objectives:
Preview the stop action photography study of the galloping horse (5 minutes)
Demonstration of how to clip each image in Photoshop (5 minutes)
Demonstration of how to import a series of images into Flash and how to play the movie (10 minutes)
Practice of the import procedure (5 minutes)
Creation of a movie from stop action photography (25 minutes)
Share student work (5 minutes)
Student Activities:
Preview the stop action photography study of the galloping horse from the Flash section of the tutorial
website.
View how to clip each image in Photoshop.
View how to import a series of images into Flash and how to play the movie.
Create a movie.
Share completed work.
Teaching/Learning Strategies:
Preview of the stop action photography study of the galloping horse from the Flash section of the
tutorial website
o Discuss the historical significance of Eadweard Muybridge and stop action photography.
o Preview various Eadweard Muybridge photographic studies.
Demonstration of how to clip each image in Photoshop
o Create eleven separate images.
o Follow a numerical naming convention: 01.jpg, 02.jpg...11.jpg.
Demonstration of how to import a series of images into Flash and how to play the movie
Resources:
http://www.georgebenainous.com/web (flashflipbook)
http://www.adobe.com/cfusion/designcenter/search.cfm?product=Flash&go=Go
Instructional Day: 2
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
http://www.georgebenainous.com/web (flashtweening)
http://www.adobe.com/cfusion/designcenter/search.cfm?product=Flash&go=Go
Instructional Day: 3
Topic Description: The movie clip is the basic unit of Flash animation which allows for reusability and scripting.
This lesson is an introduction in the creation of movie clips.
Objectives:
Student Activities:
Teaching/Learning Strategies:
o Guide students as they create their own ideas and then implement.
Resources:
Javascript Supplement
Instructional Day: 1
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Javascript tutorial
http://www.w3schools.com/JS/default.asp
Instructional Day: 2
Topic Description: Introduce Javascript functions. Create modular, reusable code and use Javascript to learn
fundamental programming concepts.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
http://www.georgebenainous.com/web (javascriptfunctions)
Javascript tutorial
http://www.w3schools.com/JS/default.asp
Unit 4:
Introduction to Programming
Introduction
Programming is one of the creative processes that can transform ideas into reality. The intention of this unit is
to highlight what can be created by using programming as a tool. As with the previous unit, students will create
projects that reflect the diversity of interests in the classroom and that are personal to individual students.
Scratch provides an environment that lends itself to tinkering. The drag and drop nature of the blocks moves
the focus away from messy syntax and allows for making modifications quickly. As students work through the
unit, they should be encouraged to reflect on their tinkering and the thought processes that go into it. They
should engage in discussions of why a particular set of instructions didnt work the way they thought they would
and in discussions of what if scenarios. It is through these discussions that you can help students connect
mathematics and logic to computation in programs and highlight the various abstractions they are using in
creating their projects. It is also through these conversations that programming constructs such as conditionals,
iteration and looping can be highlighted.
The projects listed are examples only and represent a minimal set of activities. When students complete the
assigned projects, they should expand their work by adding features, collaborating with other students, and
adding more personalization. There are many more projects on the Scratch website (http://scrtch.mit.edu). The
website is also a vibrant community. Students should be encouraged to become part of the community where
they can collaborate beyond their classroom and get additional ideas for projects. There is also a Scratch Ed
community for teachers (http://scratched@media.mit.edu).
Specific topics for each instructional day are listed in the overview chart on the next page.
7-8 Practice the concept of event driven programming through the creation of
an alphabet game.
10-13 Write Scratch stories and present them to the class. Peer reviews are
conducted.
20-23 Create a timing game in Scratch and present it to the class. Conduct peer
reviews.
24 Investigate two types of games that may provide ideas for the final
project.
25 Explain final project and the rubric for the final project.
Instructional Day: 1
Topic Description: This lesson introduces the Scratch programming language, including the basic terms utilized
in the language.
Objectives:
Student Activities:
Teaching/Learning Strategies
Journal Entry: How do you think programs like Microsoft Word, Internet Explorer and Windows are
made?
o Discuss what it means to program a computer. Remind students that in the previous unit they
used a markup language to provide instructions to the computer on the layout and content of
web pages. Programming languages are used to translate algorithms into a language that a
computer can execute.
KWL chart
o Students meet with groups and each group completes a KWL chart. (Know, Want to Learn,
Learned)
o Groups take turns sharing out their Ks and Ws orally. Encourage them not to repeat anything
that has already been said.
o Put KWL charts up in the classroom; tell students that they will finish the L towards the end of
the unit.
Scratch introductory video
o Played with sound. Can be played over a projector.
Model of how to start name assignment
o Address how sound will be handled in the classroom.
Scratch lends itself to playing sounds so it can get noisy. The teacher needs to decide
how to address this. Headsets with microphones are one solution.
o Build a name project similar to name.sb.
o Emphasize
Every character in Scratch is called a Sprite.
Although Scratch is programming, it is not used in industry. Point out a few languages
that are used in industryJava, C, C++. Throughout the unit, you will want to reinforce
that the basic constructs used in Scratch are also used in industrial strength languages.
How to choose a Sprite from a file
How to paint your own sprite
Each sprite has its own scripts.
You can right click any block and select help to get more information on how to use it.
How to change the language in Scratch (for your English Learners)
How to go to full screen mode and back
How to switch back and forth between sprites by clicking on them
X and Y coordinates on the screen are shown on the bottom right below the stage
How to save in the proper location (the default is to save in the Scratch Projects folder
(C:\\Program Files\Scratch\Projects))
The following blocks should be modeled:
Move _ steps
If on edge, bounce
Turn _ degrees
Forever
Change color effect by _
When the green flag is clicked
Encourage students to experiment. They cant break the computer by dragging the
wrong block.
Show students where they can access ScratchGettingStarted.pdf. (It would probably be
useful to have printed copies for each student.)
Show students Name Sample Rubric.
Resources:
Name: _______________________
Have at least 3 different interesting behaviors for the letters in your name. 5
Extra Credit
Have your name reinitialize itself when the green flag is clicked. In other 2
words, all the letters will start off in the right location facing the correct
way.
TOTAL: 20
Topic Description: This lesson provides students an opportunity to practice using the features of Scratch
outlined on Day 1 in the context of creating a simple program.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: What do you remember about Scratch from yesterday? What do some of the blocks do?
Class discussion of journal entry
o Allow students to share their responses.
o In the process, make sure to review concepts needed to finish the name project.
o Review rubric for name project.
o Tell students that they will do a gallery walk of the projects at the beginning of tomorrow.
Name programs
o Students write programs based on their own names.
o Teacher circulates room checking progress and answering questions.
o Before time is up, remind students to save their work.
o Remind students that Scratch is free to download at scratch.mit.edu.
Resources:
ScratchGettingStarted.pdf (scratch.mit.edu)
name.sb
Name Sample Rubric
http://scratch.mit.edu
Instructional Day: 4
Topic Description: This lesson describes how to create a dialogue between two sprites by first creating a written
dialogue.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Student presentations
o Have students volunteer to present their dialogues for the entire class.
Resources:
Name: _______________________
All the sprites are polite and they take turns talking 4
Extra Credit
TOTAL: 20
Topic Description: This lesson describes the methods of moving Sprites in Scratch.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: Briefly describe how you would graph in your Algebra class (The x-y coordinate plane, etc)
o Have students work individually and then share with their elbow partners.
moving.sb
o Circulate the room and help students answer the questions.
Discussion of answers to questions
o Emphasize that the repeat block will do whatever is inside it n times. This behavior can be called
iteration or looping.
o Point out that iteration is a construct that is used in other programming languages.
o Emphasize the differences between the 3 ways to move.
o Emphasize how the sprites will reinitialize themselves when the green flag is clicked.
baseball.sb
o Circulate the room and help students finish baseball.sb.
o After a student can get the cat around the bases, encourage them to use the point in direction block
to get the cat to turn the correct way when running.
o If students need a hint for the extra credit, show them the next costume and switch to costume
blocks under the Looks tab.
Resources:
Moving Project
Moving Project Solutions
moving.sb
baseball.sb
Moving Project
There are basically 3 ways to move sprites in Scratch. Try the file moving.sb and answer the questions below:
There are basically 3 ways to move sprites in Scratch. Try the file moving.sb and answer the questions below:
12. Click the green flag. What do the three animals do?
They move across the screen.
13. Look at the scripts for each of the 3 sprites. What 3 blocks do all three sprites use?
When green flag clicked, go to x:_ y:_, and wait _ sec
17. Describe in your own words how the move block works.
Move the sprite n steps. If n is positive, the direction will be to the right.
19. Describe in your own words how the glide block works.
Take n seconds to move from my current position to (x,y).
20. Some of the blocks require x: and y: coordinates. Place the mouse over the white window and look at the
mouse x: and mouse y: numbers underneath the bottom. How are the x: and y: coordinates determined in
Scratch?
It is just like the 2 dimensional x y graphs from Algebra. (0,0) is in the exact middle of the stage.
21. Use what youve learned about moving to get the cat to run the bases (as realistically as possible bases are run
counter clockwise) in baseball.sb. Make sure that when you click the green flag, the cat starts at home plate
again.
22. Extra Credit: Make the cat change costumes so that it looks like it is running as it circles the bases.
Topic Description: This lesson introduces the concept of event driven programming and provides practice through the
creation of an alphabet learning game.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
alphabet learning.sb
Alphabet Sample Rubric
Name: _______________________
Have a theme for your letter game (i.e. animals, food, etc.) 3
Use the say _ for _ sec to output what the letter stands for (i.e. E is for 3
Elephant)
Sprites all turn to letters when the when green flag clicked 2
Extra Credit
Use a microphone to record sounds for all the letters and play the sound when 2
the letter is clicked or typed (i.e. E is for Elephant)
TOTAL: 20
Topic Description: This lesson introduces the concept of broadcasting through role play and then provides students an
opportunity to complete a broadcast event in Scratch.
Objectives:
Broadcast events.
Listen to and respond to events they create.
Change the background of the stage.
Student Activities:
Teaching/Learning Strategies:
Journal Entry: What does it mean to broadcast something (example the radio station is broadcasting music right
now)? If a radio or television station is broadcasting something, does that mean that everyone is listening to it?
Discussion of journal entry
o Have a few students share their responses.
o Stress that even though a lot of things are being broadcast, not everyone is listening to every thing that
is being broadcast.
Role Play
o Solicit Volunteers to be the various characters.
o Give the performers a paper with ONLY their part. See Scratch Broadcast Role Play.
o Pass out the chart that shows all the parts to students that are not performing. See Scratch Broadcast
Role Play Interwoven.
o The students can think of it as a three act play where the scenes change. The difference here is that
there are no curtains so they will see everything change.
o The teacher will be the director and will make sure everything and everyone is in place during each
scene. The teacher can yell action before the scene starts to signify that everything checks out.
o Each performers paper is broken into scripts for the various scenes.
o One performer will be in charge of setting the stage. They can do this by erasing and drawing pictures
on the white board behind the stage.
o The Cats first two scripts end with broadcasts. The cat will tell the director (teacher) that it is time to go
on to the next scene.
Resources:
This is meant to be performed in front of a white board. This can also be done using more elaborate props. Each
characters parts are broken down by events that are broadcast out to everyone. Select characters and give them their
parts of the scripts. There is also a script so that observers can see the flow of the entire program.
Characters:
The Crab:
The Opponent:
The Date:
The Cat
say: Hello!
broadcast BASKETBALL SCENE (tell everyone its time for the next scene)
broadcast MOVIE SCENE (tell everyone its time for the next scene)
The Crab
show: (Go up on stage. You might want to pose like a crab by making your hands into claws.)
The Opponent
show: (Go up on stage. You might want to pose like a basketball player.)
The Date
wait 2 secs:
Stage
Switch to background BEACH: (Draw a picture of the beach on the white board. A sun in one corner and a wavy line for
sand is fine.)
Switch to background BASKETBALL COURT: (Draw a picture of a basketball court. Drawing the backboard and rim should
be fine.)
Switch to background MOVIES: (Draw a picture of a movie theater. Drawing a sign that says movies should be ok.)
when GREEN FLAG when I receive BASKETBALL When I receive MOVIE SCENE:
clicked: SCENE:
The Cat switch to costume: switch to costume: basketball switch to costume: bag of
sunglasses popcorn or chips
say: I played lots of ball.
say: Hello! say: I went on a date. We
broadcast MOVIE SCENE went to the movies.
say: Im going to tell you
about my summer.
broadcast BASKETBALL
SCENE
The Opponent hide: (Disappear from the show: (Go up on stage. Pose hide: (Disappear from the
stage) like a basketball player.) stage)
Finish a story about what the cat did over summer. Answer questions 1, 2, and 6 on paper.
1. Open the file summer.sb. Click the flag. What does it do so far?
2. Click on the cat and look at his script. What does the cat broadcast in the last block?
3. Well make a basketball scene (a second script)
Name: _______________________
Add in additional characters into each scene that show and hide 5
Extra Credit
TOTAL: 20
Topic Description: Students will review how to broadcast events by developing a Scratch story and presenting it to the
class.
Objectives:
Broadcast events.
Complete a Scratch story.
Develop a Scratch story project.
Assess their peers to help them gauge their progress.
Complete a rubric.
Prepare and make a presentation of a Scratch story to the class.
Student Activities:
Teaching/Learning Strategies:
Introduction of project
o Show rubric: Story Project Sample Rubric.
Emphasize that they will make a small presentation along with showing their story.
Emphasize that there is extra credit for the best stories.
o Show example: cat story.sb
Journal Entry: Brainstorm some ideas for your story.
Review of brainstorming
o Split students into groups of three.
Have students rotate so that each student will share brainstorms and receive feedback/suggestions from the
other students.
Resources:
cat story.sb
Story Project Sample Rubric
Peer Grading
Name: _______________________
The Story
The Presentation
Explain an example from your program of how events (broadcast) were used to 10
transition from one scene to another.
Peer Grading 12
Extra Credit
TOTAL: 100
VOTING
1ST Place________
2nd Place________
PEER GRADING
Objectives:
Student Activities:
Finish Presentations.
Complete journal entry.
Participate in a discussion of the Make Variable example.
Enhance the variable example.
Teaching/Learning Strategies:
Finish Presentations
o Have students fill out Peer Grading sheet.
o To help students vote on the best, you may need to do a quick recap of the stories. You may also want
to quickly replay some of the better ones.
o Another option is to have students pick the best of each day and do a run off just replaying the top 3
from each day.
Journal Entry: What does the word variable mean in both mathematical and English terms?
o Time the students so they work 3 minutes individually and 2 minutes sharing with their elbow partners.
Make Variable Example
o Give two math examples. x + 3 = 5, 2x = 12
Ask: What is the name of the variable here? (Answer: x)
Although you have x in both equations, its value varies: it is 2 in one equation and 6 in another.
The notion is the same in a programa variable is a name that represents a value that can be
changed. In the math example, the name was x.
o Make the variable example with the students (variable example.sb) having the students help you and
build their own at the same time. A possible sequence might be
Start by explaining that you want to make a game where you earn points for picking healthy
foods and lose points for picking unhealthy ones.
What do you think the variable will be? If no answer, ask what name will represent a
number that will change? (Answer: Points (or Good Nutrition Points in the example))
Resources:
Peer Grading
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: What comes to mind when you hear the word if? What are some ways we use the word if in
English?
o Time the students so they work 3 minutes individually and 2 minutes sharing with their elbow partners.
Conditional lecture
o Have a few students share their responses for the if parts and use that as a springboard.
o In English, if is used to state a condition where something might happen if the condition is true. Hence
this topic is called conditionals. Point out that this is a common computer science construct.
o An example from computing is when a program like Microsoft Word asks you if you want to save your
work when you hit close. If you click yes, it saves your changes. If you click no, it discards your changes.
o if (some condition)
then do this
o Show students if block in Srcatch.
Notice that only hexagon shaped blocks can fit within it.
Notice that if the condition is true, it will do anything that is enclosed within the top and bottom
of the if block.
o Show the students age.doc and age.sb.
Remind students that since we are using integers (whole numbers) > 15 it means people that are
over 15 not including 15.
Show them how to use the slider to change the age.
Age Program
Resources:
Age Project
age.sb
age solution.sb
age greater-equal.sb
variable example.sb
You are going to finish a program that will tell you what you can do depending on your age. Use the slider to set the
age.
1. Currently, it only does the first condition. Your task is to finish the program so that the cat will tell you the rest:
Topic Description: This lesson introduces And, Or and randomness. Students have an opportunity to practice utilizing
these features in the context of programs.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: Whats the difference between And and Or? What does the word random mean in English?
o Students should complete individually and then share with their elbow partners.
And/Or Discussion
o Start with a few journal entries about And and Or.
o Kinesthetic And/Or Activity (Following is a possible set of conditions.)
Tell the students to stand up if the condition is true.
Say: If (you are a girl AND you are wearing blue) stand up.
Find a girl that is not wearing blue and is sitting. Ask her why she is sitting if shes a girl?
( Answer: shes not wearing blue)
Ask: How many parts of the condition must be true for you to stand up if it is an AND?
(Answer: both)
Say: If (you are a boy OR you are wearing blue) stand up.
Find a boy that is standing but is not wearing blue. Ask: Why are you standing if you are
NOT wearing blue? (Answer: Im a boy)
Ask: How many parts of the condition must be true for you to stand up if it is an OR? (
Answer: at least one)
Ask: If both parts of the condition are true for an OR, is it ok to stand? (Answer: YES!)
o Show the students the and and or blocks in Scratch.
Resources:
Grades Project
grades solution.sb
dice.sb
dice solution.sb
Your task is to make a Scratch program that will tell you the letter grade based on the percentage.
F: less than 60
At Crazy High School, students only qualify for tutoring if they have a B OR a D. After it says the grade, make your
program say You qualify for tutoring if the grade is a B or D.
Topic Description: This lesson requires students to apply their knowledge of conditionals to develop a Rock Paper
Scissors program in Scratch.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
rps starter.sb
rps solution.sb
rps solution b.sb
Objectives:
Create a timer.
Student Activities:
Teaching/Learning Strategies:
Resources:
Name: _______________________
The Game
Give the user feedback as to how well they timed their button pressing 10
Peer Grading 20
Extra Credit
TOTAL: 100
Topic Description: Students create a timing game in Scratch and participate in an Arcade Day during which they display
their games.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Objectives:
Student Activities:
Teaching/Learning Strategies:
Monkey game
o Have students answer the questions in Monkey Game Project.
o Have students enhance monkey game.sb.
Review answers
o See Monkey Game Project Solutions and monkey game solution.sb.
Pinball game
o Have students answer questions in Pinball Project.
o Have students enhance pinball.sb.
Resources:
1. Play the game by using the arrow keys. What blocks make the monkey respond to the keys?
2. Does the banana always appear in the same place?
3. What blocks do you think decide what x and y the banana should change to?
4. What are the names of the orange blocks under Variables?
5. What block(s) are used to change the score?
6. Customize the sprites in the game (make the characters be who you want).
7. Add another sprite that gives you 2 points if you touch it.
8. Get the game to stop at 10 points or more by telling you that you win.
9. Play the game by using the arrow keys. What blocks make the monkey respond to the keys? when _ key
pressed
10. Does the banana always appear in the same place? No, its random.
11. What blocks do you think decide what x and y the banana should change to?
set x to _ and set y to _ combined with pick random _ to _
12. What are the names of the orange blocks under Variables? change points by _, set points to _, and points
13. What block(s) are used to change the score? set points to 0 when the green flag is clicked and change points
by 1 when the monkey touches the banana.
14. Customize the sprites in the game (make the characters be who you want).
15. Add another sprite that gives you 2 points if you touch it.
16. Get the game to stop at 10 points or more by telling you that you win.
Pinball Project
1. Look at the scripts for the pinball. How did the author simulate gravity?
2. How does the ball know when to bounce off of something?
3. Does the ball always bounce the same way when it hits something?
4. How do you think the ball determines which direction to bounce?
5. Whats the purpose of the purple line at the very bottom of the game?
6. Modify the game to keep track of points and get it checked off. Write down what changes you made.
7. What other features do think would make this game better?
1. Look at the scripts for the pinball. How did the author simulate gravity? There is a variable called
gravity that is constantly affecting the direction of the ball.
2. How does the ball know when to bounce off of something?
If it touches something that is green, orange or red, it will bounce off of it.
3. Does the ball always bounce the same way when it hits something?
No, the amount of the turn is random.
5. Whats the purpose of the purple line at the very bottom of the game?
If the ball touches purple, you lose.
6. Modify the game to keep track of points and get it checked off. Write down what changes you made.
See pinball solution.sb
Instructional Day: 25
Topic Description: Introduce the final project.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Pinball Project
Pinball Project Solutions
Game Project Sample Rubric
My Community Project
My Community Sample Rubric
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Game Project
My Community Project
Game Project Sample Rubric
My Community Sample Rubric
Instructional Day: 29
Objectives:
Student Activities:
Teaching/Learning Strategies:
KWL chart
o Refresh memory on activity.
They already did the K (Know) and W (Want to learn), now they must fill in the L
(Learned) section of their chart.
They should meet in their original groups.
o Students fill in the L portion of their chart.
Groups take turns sharing out their Ls orally. Encourage them not to repeat anything that has already
been said.
Completion of final projects
o Collect projects and rubrics.
o Help students prepare their presentations.
o Note: If time permits, the gallery walk of projects can be completed here to allow more time for
presentations on the last day.
Resources:
Instructional Day: 30
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Peer Grading
My Community Project Sample Rubric
Game Project Sample Rubric
Final Project
Choose one of the following:
My Community Project
You will use Scratch to make a project about your community. You will use blocks like broadcast in your project.
You should have at least three different pages or scenes in this project.
Decide on one positive thing that you want to highlight and one thing you want to improve about your
community. Then find at least one statistic to backup your conclusions. Also include at least one personal
comment/recording and one picture. Lastly, you should have at least one observation from someone else in the
class about the topic this means you will have to ask them what they think and either record it or write it
down.
Use these websites to find statistics about Los Angeles and California:
http://dq.cde.ca.gov/dataquest/
http://www.ed-data.k12.ca.us/welcome.asp
For information about other concerns in LA, like hunger and homelessness, go to:
http://www.unitedwayla.org/GETINFORMED/RR/Pages/default.aspx
http://www.unitedwayla.org/getinformed/rr/datalinks/Pages/default.aspx
For information about health and health care go to (if you need a password, let me know):
http://www.chis.ucla.edu/
http://www.ci.la.ca.us/
Create your own game that meets the specifications outlined in the rubric. Be creative!
The Content
3 or more scenes 10
A personal comment/recording 5
A personal picture 5
The Program
Use broadcast 10
The Presentation
Peer Grading 12
Extra Credit
TOTAL: 100
Name: _______________________
The Game
Keep score 10
Have a timer 10
Does the game get harder as you keep playing (more than one level) 10
The Presentation
Peer Grading 20
Extra Credit
TOTAL: 100
Unit 5:
Computing and Data Analysis
Managing and interpreting large amounts of data is part of the foundation of our information society and the
economy. Where there are humans, there are data. Computing has enabled researchers to use data to explore
questions related to large global issues such as climate change, animal habitats, and human behavior. With the
vast amounts of data now available for everyone to use, effective members of society need to be able to use data
to address their own questions and to corroborate or question official statistics when they are published in
various formats. The ability to analyze, visualize and draw conclusions from large data sets is critical to computing.
This unit has been designed to allow students the opportunity to experience the process of data collection and
analysis in real-world contexts. There are a variety of tools that can be used for data analysis. The choice of
tool(s) to use is up to you and should be based on local needs and resources. While it may not be possible to
utilize tools that are suitable for very large data sets and/or all of the analysis features discussed in this unit, every
effort should be made to do multiple types of analysis and to discuss tradeoffs in the tools used. Students need to
be able to use whatever tools are chosen in appropriate ways to manipulate the data, but the focus should be on
conceptual understanding of data analysis--making appropriate inferences, using data to make a case or inform a
discovery, and being able to justify conclusions.
Overview of the final project, data collection, and validating claims with data (Days 1-8)
Data analysis techniques (Days 9-25)
Final project (Days 26-30)
The goal is to prepare students to collect rich data, formulate queries that will inform whatever project is chosen
and to use that information to either make a case or facilitate a discovery.
The data sets provided are examples. Teachers should choose data sets and examples that will be appropriate in
local context. Attention should be paid to ensuring that the chosen data sets exercise the same data analysis
techniques as those currently provided.
Specific topics for each instructional day are listed in the overview chart on the next page.
1 Review how data can be used for making a case/discovery. Explore pitfalls
and challenges of putting together and managing large sets of data.
Provide an overview of the final project.
4-5 Explore possible research questions for a selection of sample campaigns.
Validate compelling stories with research data.
6-7 Assign groups. Discuss group roles and responsibilities. Choose
campaigns and modes for data collection.
8 Data check-inDiscuss issues that arise (aggregating data, etc.).
9-12 Create maps using the latitude and longitude of a location and then create
maps from a file of data.
14-16 Discuss bar plots, categorical and continuous data, and mosaic plots as a
vehicle for comparing categorical data, and looking at trends in data.
17 Create bar plots and mosaic plots with student data and related data set.
22-24 Use a variety of filters and queries to create subsets of text data. Create
bar plots to graphically display the information.
Topic Description: This lesson sets the stage for the unit. It provides a review of how data can be used for making
a case or as a vehicle for discovery. Students explore the pitfalls and challenges of putting together and managing
large sets of data. An overview of the final project is provided.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Introduce students to some possible research topics for the final project by using the suggested videos or
other high-interest and engaging resources. The goal is to spark their interest and desire to learn more
about the topic, and to brainstorm how they can be citizen scientists on the topics. The topics below are
arranged from less to more complex.
Resources:
During the next several days, you will generate a collection of data about your movements within the school
during the day and how you were feeling at that time. Ideally you will carry this paper with you and take notes
over the course of your day. You may also transcribe it into your journal in an organized way. You should have at
least one entry for each class you are in each day, but you can have more.
For the columns, Day, Time and Location, you should record the data in whatever way you think is most
appropriate. For the last column labeled Happy record some measure of your happiness at that point in the day.
How you record this is up to you.
Topic Description: Research questions for a selection of campaigns are explored. Validating claims with research
data are discussed.
Objectives:
Understand the complexities of collecting, processing, and analyzing large sets of data.
Describe the expectations of the final project.
Explore data sets related to sample final project topics.
Identify research questions that could be answered or stories that could be told from the data.
Select topic for the final project.
Debrief of Room Data Collection Project as a Big Data problem. (35 minutes)
Description of final project expectations. (20 minutes)
Examine the available data sets on the sample final project topics. (30 minutes)
Discuss possible research questions that might be answered or stories that might be told with additional
information. (15 minutes)
Select topic for the final project. (10 minutes)
Student Activities:
Teaching/Learning Strategies:
Resources:
Other Resources:
The Human Face of Big Data. Rick Smolan, Jennifer Erwitt. November 20, 2012 | ISBN-10: 1454908270 |
ISBN-13: 978-1454908272. AgainstAllOdds.com.
Learning about Statistics videos http://www.neok12.com/Statistics.htm
Statistical Graphs http://math.youngzones.org/stat_graph.html
Basic Statistics and Probability http://www.shmoop.com/basic-statistics-probability/designing-study.html
Topic Description: Groups for the final project are created and roles and responsibilities for group members are
assigned. Students develop a list of possible questions and method for data collection to use for the final project.
Objectives:
Draw conclusions about the data set selected for the class-topic.
Identify issues related to the topic or aspects of the topic of particular interest to the groups.
Identify research questions or describe the stories or discoveries they plan to uncover through the
analysis of gathered data.
Identify the specific variables needed to analyze the data.
Develop a method for data collection.
Collect data.
Evaluate initial survey questions to determine if they were easily understood and elicited the data they
had planned on gathering.
Predict how useful the data would be in answering the research question if the survey items were scaled
to the whole class.
Revise the survey questions to better fit the goal of answering the research questions.
Student Activities:
Resources
Data Analysis and Research Questions
http://www.shmoop.com/basic-statistics-probability/designing-study.htm
Objectives:
Student Activities:
Teaching/Learning Strategies:
Data check-in
o Have students upload their individual data and share with the rest of their group.
Journal Entry: Consider the data that your group collected. What issues did you have with collecting the
data?
Discuss issues that have arisen with data collection.
o Have each group describe the data they have collected to date.
o Clarify any misconceptions about what they should be collecting.
Did they understand the various prompts and possible responses?
How many entries did they collect? How does that compare with other groups?
o Discuss aggregation of their data.
Why is it important for each member of the group to collect data?
Why will we want to pool the data from all of the groups at the end of the unit even if
each group is working on a different set of research questions?
NOTEmodify based on whether there is one or more projects/class
Build consensus to select, condense, and revise the questions into the class survey question set, if all
students are working with the same overall topic.
o There are several strategies that can be used to complete this task as efficiently as possible
through consensus. The goal is to have a set of questions that can be combined into a single
survey that will enable all teams to analyze the variables they need to answer their research
Resources:
No additional resources needed
Topic Description: The basic features of loading and saving files, sorting and creating subsets are explored. Maps
are created by using the latitude and longitude of a location and then maps of points and bubble charts are
created from a file of data.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: Consider the data that you have been collecting. How might seeing the data on a map help
you analyze it?
Install data analysis tool
o You may want to do this installation yourself before the class to save time.
Describing location
o Use Walking and Biking in LA as an introduction to the LA bike data and describing location with
latitude and longitude. (You may want to share a version of this resource with students.)
Resources:
**Survey Description
The data that will be considered first in this lesson were collected in September of 2009 by the Los Angeles County
Bicycle Coalition (LACBC, http://la-bike.org), a non-profit organization that works to "make the entire L.A. region a
safe and enjoyable place to ride." For two days in late September, the LACBC recruited volunteers to count the
number of bicyclists and pedestrians that pass 56 different intersections within Los Angeles County. Some of the
survey locations were chosen because they are known to be popular with cyclists and pedestrians, others because
they are near locations where a traffic-related change is about to take place, and still others because they are the
site of a large number of bike accidents each year.
LACBC volunteers surveyed each location in the morning (7:00-9:30 am) and evening (4:00-6:30 pm) on Tuesday
September 22 and Wednesday September 23 of 2009. Data were also collected on Saturday the 26th, but will not
be considered here. The volunteers produced a report summarizing their findings
(http://lacbc.files.wordpress.com/2010/06/labikecountreport.pdf).
** Describing location
When someone asks you to describe your current location, you might respond informally by saying you are in
class or at school. Friends and family will know where that is, but if a relative were visiting from out of town and
were unfamiliar with the area, the street address for school and maybe a nearby intersection would be necessary.
These descriptions are excellent for looking up a location on a map or for walking, biking, or driving somewhere
new. Roads and intersections and street addresses create a network that we regularly navigate. This network may
change as old roads and buildings are replaced by others. Also, some of the important places in our lives do not
have a street address (like the peak of a mountain or a hiking trail in the Santa Monica Mountains). Finally, in
order to draw a map of LA, it would be helpful to be able to specify positions in a more consistent way, tracking a
road as it turns a corner or veers to the left. For all of these reasons, there is a need to associate positions with a
fixed set of "coordinates" on the earth.
One of the most popular such coordinate systems involves specifying a point's latitude and longitude. These are
two numbers that represent angles (in degrees) from the center of the earth to a point on its surface. Latitudes
are angles from north to southin this case the North Pole is assigned a value of 180 degrees, the equator is at 0
degrees and the South Pole is at -180 degrees. Longitudes are angles from east to west with 0 occurring at the
Prime Meridian, a line running from the North Pole to the South Pole and crossing Greenwich, England.
(Greenwich is also used in defining Greenwich Mean Time or GMT.) A description of longitude and latitude can be
found at the following url.
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Georeferencing_and_coordinate_systems
http://tinyurl.com/LABikeECS
To translate the location on the map for the intersection of Sunset and Hyperion into latitude and longitude, a
service like Get Lat Lon (http://www.getlatlon.com/) can be used.
and the map should center on the right intersection. The latitude and longitude of the point will appear at the
bottom of the page. In this case the latitude and longitude of the point is 34.0916803, -118.2796304that is,
34.0916803 north of the equator and 118.2796304 west of the Prime Meridian.
The system of longitude and latitude allows people to draw spatial objects like points (house, school) or lines (a
street) or shapes (the grounds of a high school, a park). Longitude can be thought of as the x-direction (it runs
along the equator from east to west) and latitude as the y-direction (it runs from the North Pole to the South Pole
along the Prime Meridian) when making a plot from these coordinates.
The first line of the file is known as a header and describes the names of each variable or column (e.g., "name",
"longitude", and "latitude"). Each row refers to a different location at which volunteers counted the bike and
pedestrian counts during the evening rush hour. ("Objects" in this table are positions in Los Angeles and the
"variables" measured for each include the name, the longitude and latitude, and the counts of pedestrians and
cyclists.)
The data file "labike" has 38 rows, each referring to a different location. The first column is the name of the
locations, similar to the list in the LACBC Google Map. (The data here reproduce Table 14 from LACBC's report and
there are only 38 of the 56 locations included.) The next two columns give the positions' longitude and latitude.
These coordinates can be used to place the locations on a map. The fourth column describes the type of bike
transportation available at the intersection (a bike lane, a bike path, a bike route or nothing) and the last two
columns represent the evening counts of bikes (column 5) and pedestrians (column 6) crossing the intersection.
A variety of operations can be performed on the data. (e.g., create a table that shows the frequency of type, sort
by bike_count_pm , sort by ped_count_pm, create a subset of locations where the bike count is greater than the
pedestrian count ( bike_count_pm ped_count_pm)) .
There are several kinds of spatial data. Their structure is best described by their lookthat is, positions or points
on the map (a house, the Sandstone Peak in the Santa Monica Mountains); points that are connected to form
paths or lines (the route of a walk to school or the driving route to a friend's house); and areas or regions (the
footprint of a school's buildings or the area covered by Los Angeles County). Points, lines and regions are basic
spatial structures that are used for computation.
In the case of the LA Bike Count data, there are intersections where survey takers stood (points). The
transportation system in Los Angeles can also be consulted for bus routes (lines), and the U.S. Census Bureau can
provide demographic data about people living in different Census blocks (small geographic areas or regions).
Sort by bike_count_pm. Which intersection has the greatest count? Which has the least count?
Use a different color and shape to plot this subset on the same map.
2. Form a frequency table to see the number of stops along each street. Which street has the most stops?
What might be a reason for this?
4. Look at the data for the 6000th rowa bus stop on Sunset Boulevard at Anita Avenue. Go to
http://getlatlon.com and type in Sunset & Anita, Los Angeles, CA and check that the longitude and
latitude listed in the data file are the same as from Get Lat Lon. What do you notice? Why might this be
the case?
5. Create a subset of the bus stops that are along Sunset or Vermont. How many stops are there?
6. Create a plot of bus stops that are along Sunset or Vermont. Include a title, axes, and a background.
Describe what you see in the plot.
7. Create a plot of bus stops that are along Myrtle or Mulholland. Include a title, axes, and a background.
Describe what you see in the plot. How does this compare to the plot of Sunset or Vermont.
8. Create a plot of bus stops that are along Gayley or Hilgard. Include a title, axes, and a background.
Describe what you see in the plot. How does this compare to the previous plots?
9. Create a plot of bus stops that are along a few streets in your neighborhood. Include a title, axes, and a
background. Describe what you see in the plot. Why might this data be useful for someone to have?
10. What is an advantage to plotting the data on a map instead of just looking at the latitude/longitude
numbers?
11. What would happen to the map if you had less data in the file? More data in the file? How would that
affect your interpretation of the map?
12. If you were trying to make a case that you needed more bus stops in your neighborhood would it be
enough to show that the count of bus stops is less than those along Sunset? Explain your answer.
13. How could you use what you learned about plotting points on a map with the data you have collected?
The points at which LA Bike volunteers stood and the position of bus stops exhibit the geometry of these things.
However, spatial objects can have other data associated with them. The LA Bike Counts are associated with
counts of pedestrians and bicyclists. When the intersections at which the LA Bike volunteers stood were plotted
there was nothing that could be determined about the number of bikers or pedestrians.
A bubble chart uses numerical values to scale the diameter of circles located at a given spatial location. Consider
the pedestrian totals from the LA Bike data.
In a bubble plot of the pedestrian counts each intersection where volunteers collected data is the center of a
circlethe larger the circle, the greater the number of pedestrians counted there. If this plot were drawn by
hand, a number of choices would need to be made. First, the size of the circles relative to each other is fixed by
the data. If a volunteer at one intersection saw twice as many pedestrians as another volunteer saw at a different
intersection, the first circle should be twice as big as the second. The relationship between the circles and the
map, over which they are plotted, however, is not fixed and can be changed (again, assuming the relative sizes of
the circles remains the same).
2. Create a bubble chart of bike counts and add it to the pedestrian counts. What happens to the chart?
3. Change the color for bike counts. Describe what you see now.
4. What else might you change to get an even clearer visual picture of bike and pedestrian counts? Try
these ideas. Explain how this changes the chart.
7. Does your graph make sense based on the counts in the table? Explain why or why not.
8. Create a subset of all locations that have a special route for bikes. Create a bubble chart with the counts
for the subset. Describe what you see.
9. Create a subset of all locations that have no special route for bikes. Add a bubble chart of the counts for
the subset to the previous chart in a different color. Describe what you see now. What conclusions might
you draw? Justify your answer.
10. Create another pair of subsets that are of interest to you. Create a bubble chart. Describe the story you
see.
Topic Description: In this lesson students use the data they have collected and additional contextual data sets to
do spatial analysis for use in the final project.
Objectives:
Analyze the data they have collected using spatial analysis techniques.
Create spatial plots with student generated and contextual data sets (55 minutes)
Student Activities:
Groups create spatial plots and use spatial analysis techniques with the data they have collected and
additional contextual data sets.
Teaching/Learning Strategies:
Students work in their groups to analyze the spatial aspects of the data they have collected pulling in the
additional contextual data sets as appropriate.
Resources:
Student data
Additional contextual data sets
Topic Description: Bar plots and the differences between categorical and continuous data are explored. Mosaic
plots are introduced as a vehicle for comparing categorical data and looking for trends in data.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: If everyone were going to be put in a different group based on the MONTH in which they
were born, how many groups would there be? Which group do you think would have the most people?
Birth Month Bar Plot
o Tell students that you are going to create a bar plot (also called a bar graph or bar chart) of
everyones birth month to answer the journal question.
4
Count
3
0
ce ber
c r
r
em t
ay
v er
ch
ril
ne
br y
M ry
A ly
O be
pt us
be
Fe uar
Ap
Ju
No tob
ua
M
ar
Ju
De em
Se ug
m
n
Ja
1. Create a contingency table with effort as the row and grade as the column.
How does this table compare to the one with grade as the row and effort as the column?
Compare your plot to the one done previously. Does it tell a different story? Justify your answer with
features of the plot.
3. Try making mosaic plots with three different combinations of the available variables: year, effort,
homework, grades. Choose one of these other plots, describe what you see, and explain what story it
tells.
Topic Description: In this lesson students use the data they have collected and additional contextual data sets to
create and analyze bar and mosaic plots for use in the final project.
Objectives:
Analyze the data they have collected using bar and mosaic plots.
Bar and mosaic plots with student generated and contextual data sets (55 minutes)
Student Activities:
Groups create bar and mosaic plots with the data they have collected and additional contextual data sets.
Teaching/Learning Strategies:
Students work in their groups to analyze the data they have collected with bar and mosaic plots pulling in
the additional contextual data sets as appropriate.
.
Resources:
Student data
Additional contextual data sets
Topic Description: In this lesson, the statistical measures of mean, median, minimum, and maximum are
reviewed. Various ways to subset data are discussed and data is represented using box plots and histograms.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Journal Entry: Thinking back to the bar and mosaic plots, why are we making graphical representations of
our data instead of just using the numbers? Are their advantages to the different representations of
data?
Quantitative vs. Categorical revisited
o Review the differences between these two types of data before starting on the Hours of Sleep
Histogram.
Sleep Histogram Activity
o Create a histogram based on the amount of sleep each of the students got last night. (See Sample
Hours of Sleep Histogram.)
Construct the bottom part of the histogram on the board, chart paper, or other display.
The lines should be right at the number of hours.
Resources:
Days_Smoking categorical During the past 30 days, on how many days did you smoke cigarettes?
Describe_Weight categorical How do you describe your weight? (Very underweight, slightly
underweight, about the right weight, slightly overweight, very
overweight)
Eat_Fruit categorical During the past 7 days, how many times did you eat fruit? (Do not
count fruit juice.)
Eat_Salad categorical During the past 7 days, how many times did you eat green salad?
Drink_Soda categorical During the past 7 days, how many times did you drink a can, bottle, or
glass of soda or pop, such as Coke, Pepsi, or Sprite? (Do not include diet
soda or diet pop.)
Drink_Milk categorical During the past 7 days, how many glasses of milk did you drink?
(Include milk you drank in a glass or cup, from a carton, or with cereal.
Count the half pint of milk served at school as equal to one glass.)
Days_Exercise_60 categorical During the past 7 days, on how many days were you physically active
for a total of at least 60 minutes per day? (Add up all the time you
spend in any kind of physical activity that increases your heart rate and
makes you breathe hard some of the time.)
Hours_TV categorical On an average school day, how many hours do you watch TV?
Hours_Videogame categorical On an average school day, how many hours do you play video or
computer games or use a computer for something that is not school
work? (Include activities such as Nintendo, Game Boy, PlayStation,
Xbox, computer games and the Internet.)
Number_Teams categorical During the past 12 months, on how many sports teams did you play?
(Include any teams run by your school or community groups.)
Source:
http://www.cdc.gov/HealthyYouth/yrbs/data/index.htm
2007_National_YRBS_Data_Users_Manual.pdf
2007 National YRBS Data Users Manual
What plot shows: How often a group of numbers occurs in a dataset. Each segment also represents its
percentage of the entire data set.
Mens weights
What the plot shows: Median is the value that is literally in the middlethe point where half the data have larger
values and half the data have smaller values.
Mens heights
What the plot shows: The number of occurrences within a given category
The data are quantitative (number of students) and categorical (grade level)
Ideal when categories are roughly the same size.
What the plot shows: The possible relationships among categorical data.
Sometimes interchanging the relationship of the values helps clarify or present different points of view.
What the plot shows: A visualization of a range of values: the median (the thick black line), the upper and lower
bounds of the values (the ends of the dotted lines), the 25 th quartile (the lower part of the box), and the 75th
quartile (the upper part of the box)
Reminder that subset allows you to make a copy of just the data that meets certain requirements. For instance,
you could separate out the responses for female students or students of a specific height.
1. Look at the age, gender, height and weight of everyone that has a height of 1.27
6. How would you subset out the males that are 17 years old? How many men are in this subset?
9. How would you subset out students with excellent or very good health?
1. Make a histogram of mens weight. Paste the resulting plot into a document.
2. Add a line at the mean in magenta and a line at the median in cyan.
3. Why would you want to identify both the mean and the median on the same graph?
4. Create side by side box plots to compare weight and general_health? Paste the resulting box plots in
a document.
** Transforming data
5. Write three questions that are interesting to you related to this data. Create plots of each and paste them
into a document. At least one of them should be a Mosaic Plot comparing 2 categorical variables. For
each plot write a description of the story it tells and how the data support the story.
Topic Description: In this lesson students use the data they have collected and contextual data sets to do
statistical analysis with mean, median, maximum, minimum, and display information with a variety of plots for
use in the final project.
Objectives:
Analyze the data they have collected using statistical analysis and a variety of plots.
Statistical analysis with mean, median, maximum, and minimum with student generated data and
contextual data sets (55 minutes)
Student Activities:
Groups do statistical analysis with mean, median, maximum, and minimum using the data they have
collected and additional contextual data sets.
Teaching/Learning Strategies:
Students work in their groups to analyze the data they have collected pulling in the additional contextual
data sets as appropriate.
Resources:
Student data
Additional contextual data sets
Topic Description: In this lesson, computation with text is explored. A variety of filters and queries are used to
create subsets of text data. Bar charts are used for graphical display.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Introduction to text data (You can use Introduction to Text Data as a resource.)
o Explain secondary uses of data.
o Provide Twitter background.
Ask students what words or phrases people may use to describe the first warm day after
winter.
o Look at Jillamore pdf.
Have students plot her location on a map.
o Look at Weather Underground site.
Resources:
Data that are publicly available on the web are subject to a host of secondary uses. As the consumer of these
data, there are a few questions to ask: Who collected the data and why were they collected? When was the data
collected and how old is the data? What was their original purpose? What are the strengths and limitations of
these data for your problem? How are the data organized? How do you access them? Is there someone who you
can ask for help if you have questions?
Twitter is a micro-blogging site that handled 4 billion messages or tweets in the first three months of 2010 alone.
As a social network, Twitter culls activities from millions of people and there have been several studies of what
people are posting to Twitter.
It is possible to look to Twitter and its users for signs of spring. Somewhere in the daily observations of millions of
people it should be possible to find comments about the changing season.
The easiest place to start is with "Spring is here". On April 5, 2010 at about 1 pm a search for the phrase "spring is
here" was submitted. Jillamore.pdf is a screen shot of the search results.
The last tweet was from the user "jillamore" who comments that it is a beautiful day in her part of the country,
with temperatures in the upper 70s. She declares "Spring is here!" A bit more about this person can be learned
from the last page in the Jillamore.pdf file. She lives at 40.360171 latitude-74.079609 longitude. The point can be
plotted on a map. (Enter latitude and longitude into Google Maps, for example.)
This point is Red Bank, New Jersey. To get a sense of what the weather has been like in her part of the world, a
service like the Weather Underground can be examined.
http://www.wunderground.com
It allows searches for weather anywhere in the country. This site is interesting to us both because it is possible to
see what the weather has been like for jillamore and also because of where the data to make this judgment
comes from. The Weather Underground culls data from about 10,000 officially run weather stations (e.g., the
National Oceanic and Atmospheric Administration or NOAA) and 8,500 that are privately run but subject to strict
data quality controls. The idea that citizens would install sensors and volunteer their data is very much in the spirit
of the phone applications being used.
Load the weather data file and look at it in the Data Viewer.
Each row represents a different day and the names of the different variables recorded for each day appear in the
first row.
A group of researchers made hourly requests from the Twitter API using several different phrases in addition to
"spring is here"some relating to things turning green or trees beginning to bud. The researchers were also
interested in the beginning of fall, so they also collected data on phrases like "fall is here" and comments about
leaves turning colors.
Load the twitter data file and look at it in the Data Viewer.
Each row represents a single tweet. The variables include "created" which is a timestamp; Twitter "username"
from the person who wrote the tweet; the "longitude" and "latitude" of their location (either their home or, if
they are using a smart phone, the place where they typed in their tweet); which of the researcher's
"search_term"s the tweet matched; and then the "message" itself. The variable "search_term" is a factor
(categorical).
Load the twitter with date data file and look at it in the Data Viewer.
This file was created from the original twitter file and in addition to being a small subset; it includes a variable that
indicates the created date in date format. (Note: to sort by date, the numerical created date needs to be used.)
This file can be subsetted further by choosing latitude and longitude boundaries. For example, the New Jersey
area would be approximately bounded by latitude between 38.5 and 41.5 and longitude between -75.5 and -73.5.
Load the twitterwithdate data file and the weather data file.
1. Create a subset of the twitter data that includes only the tweets that contain "Spring is here".
2. Create a subset of all tweets from approximately the New Jersey area.
Look at locations near where Jillamore lives. How many tweets are from that area? Do they match
Jillamores description? What other ways could you use to verify this?
Plot the New Jersey subset on a map. Experiment with different point sizes and zoom levels. What
inferences can you make from the plot?
Sort by created. Do the dates and search terms correspond correctly?
Who has the most tweets? How does that impact the total number of tweets from New Jersey? How
does that impact the number of tweets that include Spring is here?
4. What reasons can you think of to explain the difference in the number of tweets between New Jersey and
California? How might you test your reasoning?
A book usually has a fairly predictable structure. There are chapters which are made up of paragraphs which are
made up of sentences which are made up of words. Research areas with names like "stylometrics" attempt to say
something quantitative about an author's work. It is possible to compute the average number of words per
sentence or the average number of letters per word written by an author. Some authors write in short, choppy
sentences, while others craft sentences that are over a page long, adding phrase after phrase. Some authors
choose simple vocabulary, while others prefer long, complex words. Statistics of this kind can not only point out
interesting ways to think about the differences between authors, but they can even be used to help us figure out
who wrote texts if their author is unknown or uncertain. One of the earliest analyses of this kind was of the famed
Federalist Papers, a collection of documents describing the philosophy motivation behind our system of
government. The papers are thought to be written by Alexander Hamilton, James Madison and/or John Jay. In the
mid 1960s, a group of statisticians considered a number of novel statistics to differentiate the writing styles of the
three men.
The counts of the different words in a document have also been used to characterize something about the
document's subject.
The idea that the frequency with which words appear in a document might reflect something of its content has
real-world applications. For example, the spam filter that intercepts junk e-mail is working on the frequency of
words in each message. If a message makes too many references to "sales" or "won" or "Visa", there is a strong
suspicion that the e-mail is spam.
The goal of this section is not to develop any of the topics above in any great depth. Instead, it will provide some
basic tools for simple analysis on text.
2. View the vector. Do the elements of the corpus match the messages in the NJTwitter data file?
3. Create a frequency table that counts how many times each word appears in all the tweets. What is the
word that appears least frequently? What is the word that appears most frequently?
4. Create a frequency table that shows only the top 1% of frequently appearing words sorted by ascending
frequency. What are the most frequently occurring words?
5. Create a bar chart of the most frequently occurring words. Does this match your frequency table?
6. Experiment with different percentages to determine the greatest percentage that allows you to read all of
the words on the chart. Describe your process and the reasoning for your final answer.
7. Notice that there is a spring and a spring! (with an exclamation point). Do you think we should
include those counts together or keep them separate? Why?
Another data set was collected by using the API (Application Programming Interface) to conduct a search on Flickr
for images that were tagged with the word "chill". The first 3,000 image captions in the list of search results were
downloaded. Those captions containing words that were inappropriate were removed. In order to make it easier
to work with the file, a subset was created.
Load the smallcaptions data file. Enlarge the column so that the entire caption can be viewed.
1. Change the list into a vector. View several of the elements of the vector. Do they match the file?
2. Create a frequency table for the entire list. What is the most frequently occurring word? Scroll to look
through the entire file.
3. Run the frequency for only the top 10%. What does this do? Describe anything that you notice.
4. Run the frequency for the top 1%. Make a list of the words and their counts.
5. Create a bar chart for the top 1%. Describe what you see. Save the chart to a document.
6. Experiment with a few more % choices. Which gives the most information? Explain your choice.
7. Create a frequency table of the top 1% of words after making them all lower case and without
punctuation. Make a list of the words and their counts.
8. Create a bar chart for the top 1%. Describe what you see. Save the chart to a document.
9. Experiment with a few more % choices. Which gives the most information? Explain your choice.
10. Create a frequency table of the previous corpus after deleting stop words. How did the file change?
11. Create a bar chart of the file without stop words. What are some of the words that disappeared from
your bar chart? Why might it be useful to delete these stop words?
12. Create a frequency table of the previous corpus after deleting stems. How did the file change?
13. Create a bar chart of the file without stems. What are some of the words that disappeared from your bar
chart? Why might it be useful to delete these stems?
Topic Description: In this lesson students use the data they have collected and additional contextual data sets to
do text analysis for use on the final project.
Objectives:
Analyze the data they have collected using text analysis techniques.
Analyze text in student generated and contextual data sets (55 minutes)
Student Activities:
Groups do text analysis with the data they have collected and the additional contextual data sets.
Teaching/Learning Strategies:
Students work in their groups to analyze the data they have collected with text analysis techniques pulling
in the additional contextual data set as appropriate.
Resources:
Student data
Additional data set
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Final Project
Final Project Sample Rubric
Topic Description: Students complete Scratch projects or websites to use with the presentation of their final
projects.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Final Project
Final Project Sample Rubric
Objectives:
Student Activities:
Teaching/Learning Strategies:
Resources:
Final Project
Final Project Sample Rubric
In the course of the past few weeks, your group has collected data using the phone application. Now it is your
turn to tell an interesting story based on the data. You will present your story to the class (it can be a series of
web pages or a Scratch program). You must include plots/graphics that support the story.
You may include data from any of the other data sets you've seen in the lessons. However, these data cannot be
the primary source of your story.
You will have access to data from your classmates as well as students in other classes that have also collected
data. Keep in mind that you have already done some analysis on your data. This is your opportunity to pull it all
together, modify as necessary and tell a compelling story that makes a case or highlights a discovery.
Total 100
Unit 6:
Robotics
Robotics provides a physical application of the programming and problem solving skills acquired in the previous
units. The LEGO Mindstorms NXT software uses drag and drop programming which will provide a natural
transition from Scratch. Robots are shared by several students which will emphasize the collaborative nature of
computing. In order to design, build and improve their robots, students will need to apply effective team practices
and understand the different roles that are important for success.
Discussing the features of robots provides an opportunity to emphasize how computing has far-reaching effects
on society and has led to significant innovation. Students can discuss such topics as:
Throughout the unit the similarities and differences between Scratch and the programming needed to move the
robot can be highlighted.
Specific topics for each instructional day are listed in the overview chart on the next page.
2-3 Evaluate robot body designs and create algorithms to control robot
behavior.
10-13 Program the robot using the Mindstorm Robot Educator Software
tutorials.
14 Introduce RoboCup real life robotic competition and write instructions for
tic-tac-toe.
Instructional Day: 1
Topic Description: What is a Robot? Identify the criteria that make an item a robot.
Objectives:
Student Activities:
Brainstorm what they think of when they hear robot and then identify common features of
robots.
Participate in whole class activity determining if common items are robots.
Work in small groups to complete Are we Robots? activity.
Teaching/Learning Strategies:
Brainstorm: Ask students what they think of when they hear robot. Display responses.
Responses may include the following:
o Movie and TV robots such as Wall-E, iRobot, Robots, Rosie from The Jetsons
o Modern industrial robots such as those involved in assembly-line factory work
o Mars Rovers
o iRobot robots, both the vacuum cleaner and the robots built for military use, other
robots such as bomb detection and detonation
View the video Kismet from Teachers Domain.
Ask students if they can identify common features of the robots they have identified. What do
all those robots have in common? What tasks are easy for robots? What tasks are hard for
robots? (Answers: robots are often used for dangerous or repetitive tasks such as recovering
bombs, search and rescue operations in dangerous conditions where the robots search and the
humans rescue, factory work. They are replaceable, unlike humans, and dont get bored or make
mistakes when doing the same thing over and over. Tasks that require judgment or human-like
interaction such as recognizing when there is a problem or walking and seeing like humans are
hard for robots. The two articles listed in the resource section provide more information and
would be interesting for students to read.)
Use the What is a Robot? handout to guide a discussion of robots.
Hand out copies of Am I a Robot? activity, with the pictures of a basic stove and a fancy
microwave. Check with students to make sure they recognize the items in the two pictures.
Based on student input, display the five criteria for whether something is a robot: body, input,
program, output, behavior. Note that what distinguishes a robot from a programmable device is
the ability to respond to changes in the environment and adapt; robots respond to. Explain to
the class that as a group you will figure out whether each of the two machines shown is a robot.
Go through the stove first. Ask students to figure out whether the stove meets the
criteria for a robot:
Bodyyes
Inputyes (dials to turn the burners off and on, set oven temp)
Programmableyes, in the sense that oven temperature tells a sensor what
temperature the oven needs to be heated.
Remind students that they programmed in Scratch and that the programmable
aspect of the robot will require a language to provide the robot with
instructions
Outputyes (heat!)
Behavioryes, the oven responds by stopping at the desired temperature. It also
adapts to changes as in opening the oven door, adding a frozen item, etc. by adding
more heat to get back to the desired temperature.
Resources:
Jennifer Casper and Robin Murphy, Human-robot interactions during the robot-assisted urban
search and rescue response at the World Trade Center, IEEE Transactions on Systems, Man and
Cybernetics 33:3, 2003, pp. 367-85.
Robin Murphy, J. Kravitz, S. Stover and R. Shoureshi, Mobile robots in mine rescue and recovery,
IEEE Robotics & Automation Magazine 16:2, June 2009, pp. 91-2003.
What is a Robot? Handout ( Based on handouts from The Big Picture Robotics Teacher Guide 1
(Item #29852 from LEGO Dacta))
Am I a Robot? Activity
Are we Robots? Activity (Based on handouts from The Big Picture, Robotics Teacher Guide 1
(Item #29852 from LEGO Dacta))
http://www.teachersdomain.org/resources/eng06/sci/engin/design/lp_robot/index.html
specifically
http://www.teachersdomain.org/resources/eng06/sci/engin/design/kismet/index.html (may
require free registration)
Asimovs three laws of robotics: http://en.wikipedia.org/wiki/Three_Laws_of_Robotics,
http://www.asimovonline.com/asimov_FAQ.html#series13 , essay at
http://www.sfwriter.com/rmasilaw.htm
There are many different kinds of robots, from ones designed to build cars to ones that vacuum to ones
that explore other planets. To be a robot, a machine must meet certain criteria. A machine is only a
robot if it has all the elements listed below:
Body
The body is a physical substance and shape of some type. The body will be designed based on the
functionsome look like vehicles, some like an arm, and some like a person. If you can touch it, thats
the body.
Control
Control is a program to control the robot. Robots must be told what to do. To control a robot we need:
Input
Input is the information that comes from the robots sensors. Robots have sensors that they use
to get information from the robots environment. For example, a smoke detector can detect
smoke. (In other words, sensing the robots environment). Robots typically have external and
internal sensors.
Programmable
The program is a set of instructions or rules that the programmer gives the robot. For example,
a smoke detector has a program to make a sound if it senses smoke. To be a robot, a machine
must be programmable.
Output
The output is the action a robot takes, often involving motors, lights, or sounds. For example, a
smoke detector makes a loud sound and might flash lights. (In other words, effecting change in
the robots environmentadapting.)
Behavior
Behavior is the combination of outputs that result in the task or job the robot does. For example, the
behavior of a smoke detector is to go off in the presence of smoke. Going off is a combination of
making noise and flashing lights, and may also involve calling the fire department.
Am I a Robot? Activity
Instructions: Below is a list of machines that you may encounter in your daily life. Add machines to the
bottom. Complete the table by deciding if the machine meets the criteria for being a robot. Then
determine if the machine is a robot.
Topic Description: Evaluate robot body designs and create algorithms to control robot behavior.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Revisit Are we robots activity. Go through the list of items, asking students to indicate if they
thought each item was a robot or not. Occasionally, especially if there is disagreement, ask
students to defend their answer.
Journal Entry: What happens when you change the design of a robot?
o Have students share their responses
o Ask students, If you could change the body of the printer (or another device in the
room) what would you change? How would that affect other things like the behavior or
function of the printer, price, cost to build, or popularity? Have students share their
ideas.
Explain that there are limits to what robots can do because robots are limited by their bodies.
For example, it is difficult to create a robotic hand that can grasp small or delicate itemsit
would require many motors (simulating all the muscles in the hand) and many sensors to detect
the item (simulating the neurons in the hand).
o Make sure each pair of students has a shoe that can be tied.
o Direct students to first try tying the shoe blindfolded or with eyes shut. Discuss how it
wentWas it hard? What was hard about it? How was it like a robot tying the shoe?
o Direct students to tie the shoe with heavy gloves on. Discuss the experience. How was it
like a robot tying the shoe? What made it hard?
o Direct students to tie the shoe with tongue depressors taped onto thumbs and
forefingers or just holding tongue depressors. Discuss the experience. How was it like a
robot tying the shoe? What made it hard?
o Direct students to tie the shoe with pliers. How was it like a robot tying the shoe? What
made it hard?
o Direct the students to work with their partner to tie the shoes using the pliers, each
person holding one pair. Discuss the experience. How was it like two robots working
together? What made it hard?
Activity: Walk like a robot
o Choose one student to be a robot or tell students that you will be the robot. Choose a
starting point and an ending point between which the robot must navigate. Make sure
the path is not direct.
o Tell the class that they must direct the robot from the starting point to the ending point
using only five commands:
Turn left 90 deg.
Turn right 90 deg.
Take a step forward with the left foot.
Take a step forward with the right foot.
Stop.
o Students can take turns or work as a group. The robot should only follow those five
commands and not respond to other commands. Tell students to be careful with the
robot and not walk it into walls or barriers. (The robot should stop before it hits a
barrier such as a wall.).
o At some point, remind students about loops. They can tell the robot to repeat a
command or a block of commands such as repeat: take a step forward with the left
foot, take a step forward with the right foot until you are at the wall
o Point out that this is frequently what is done in dancing and choreographysequences
of steps are repeated.
o If there is time, show the video of the macarena referenced in the resource section.
o Conclude by pointing out that these kinds of commands are what they will be
programming their robots to execute.
Resources:
Instructional Day: 4
Objectives:
Student Activities:
Student groups work together to set up their LEGO kits for use in building robots.
Teaching/Learning Strategies:
Give each pair (or group of three) a LEGO Mindstorms NXT kit. Point out the picture that
shows where each item should be placed in the tray.
Ask students to set up their trays so that they will be ready for use in building robots.
Resources:
Instructional Day: 5
Objectives:
Student Activities:
Teaching/Learning Strategies:
Have students get out their kits and the manual that comes with the kit. Go through step 1 on p.
8 with the students to make sure they understand the format of the manual.
Ask student groups to assemble the base of their robot according to the instructions on pp. 8-
21. (Batteries should be charged in advance.)
Resources:
Topic Description: Introduce the features of the NXT Brickthe brain of the robot.
Objectives:
Student Activities:
Articulate what they observe about the the NXT brick while the teacher explains each part.
Test sensor data using the View programs and report observations.
Run try me programs and describe what the programs do.
Teaching/Learning Strategies:
Have students get out their robot base, sensors, lights, motors, and three wheels. Explain that
the NXT is the brain of the robot. Have students describe the parts they see and make sure the
following parts get identified. (The NXT User Guide pp. 9-12 can be used as support.)
o Ports number 1-4: these are input ports. You use wires to plug sensors into the NXT
brick. There are four kinds of sensors: touch sensors (detect touch/obstacles), sound
sensor (detect the sound levels), light sensor (detects light level), ultrasonic sensor
(detects movement and distance to an object). Reminder: input means sensing
something in the robots environment.
o Ports A-C: these are output ports. You use wires to connect devices for output. The
devices are lamps and motors. Also, note that the speaker is an output port. The output
is that the light can go on or off and that the motor can turn or stop turning. Reminder:
output means effecting change in the robots environment.
o Buttons:
Orange button: On/Enter
Light grey arrows: Navigation, left and right
Dark Grey button: Clear/Go back. Keep pressing this to turn off until prompt, and
then hit orange
o Lines in the right side: speaker. This is where noise comes out of the robot.
o If the rechargeable battery is in, there will be a power plug and LCD lights.
Tell students to turn on the robot by pressing the orange button. What happens? (It makes a
happy little song. LOUD.) What do they see now?
o NXT at the topname of the brick. This can be changed in the software
o Battery level top right.
o Running iconnext to the battery icon. As long as it is spinning, the NXT is turned on
and working correctly. If it freezes, the NXT has frozen and must be reset.
o There are three icons on the screen. The one that is highlighted by default looks like two
floppy disks and has the label above My Files. If they start hitting buttons, they can
scroll through several menu options by using the arrow keys or go into My Files by
hitting the orange button. The menu options are:
My Fileswhere programs will be stored.
NXT Programallows you to build small programs using only the NXT without
the need for a computer.
Viewyou can do a quick test of your sensors and motors and see the current
data for each. You have to select the test you want to do and which port the
sensor or motor is on. Only one test can be run at a time. The data will display
on the screen.
Bluetoothyou can set a wireless connection between the NXT and other
Bluetooth devices including other NXTs, phones, and computers.
Settingsyou can change settings such as the speaker volume and the sleep
time.
Try Mebuilt-in programs.
o Explain that in order for the robot to really do anything, you have to hook up input and
output devices. Ask students to try to identify the devices in the kit. Make sure they can
identify the touch sensor, sound sensor, light sensor, ultrasonic sensor, servo motor and
lamps. Reinforce that the sensors are all input devices and the motors and lamps are
output devices.
Demonstrate and have students carefully plug the devices into the NXT. Sensors can be plugged
into any input port numbered 1-4 but these default settings are used for the test and sample
programs. See pp. 5-6 and 9 of the NXT User Guide for more information. Make sure students
know to support the weight of the devices and the NXT brick without pulling on the wires.
Port 1: Touch sensor
Port 2: Sound Sensor
Port 3: Light Sensor
Port 4: Ultrasonic Sensor
Port A: Light
Resources:
Objectives:
Student Activities:
Discuss how the programs were created in the NXT brick and how they behaved compared to
expectations.
Listen to explanation of Mindstorms NXT software and respond to questions.
Give ideas to teacher as s/he writes small programs in the software.
Listen to explanation of how to use the tutorials.
Teaching/Learning Strategies:
Ask students what they programmed the robot to do. Get several answers. Did it do what they
expected? Why or why not? Would it be a good idea to use the NXT Program interface to write
all their programs? Why not? (It can only take 5 commands in a program.)
Projecting the teachers screen, launch the Mindstorms NXT software. Show the students where
the tutorials are in the Robot Educator section and how to open a new program. Using the User
Guide pp. 48-49, describe all the parts of the interface.
With student input, use the common palette to build a small program. Ideally, use a variety of
the blocks of the common palette, explaining what each one does as you use it. For example, if
you wanted to build a program that told the robot to wait until the touch sensor was touched,
then move forward for one rotation then listen and if a loud sound occurs, then display a smiley
face and play a sound otherwise move forward, it would look like this:
Save the program and download it to an NXT brick. Make sure the brick is set up to do the
actionshave one built with the driving base and any necessary sensors. Demonstrate the
running of the program.
Modify the program and download it again. Try to make mistakes during this period and show
how to debug the program by frequently testing it, downloading extra blocks, and also making
mistakes such as having disconnected blocks. During this part have students try to work with
the software themselves and follow along with you.
Open a new program and switch to the complete palette. Show the differences in the two
palettes. With student input, write a new program using the blocks of the complete palette.
Show the differences in controlling the program. Make sure to show how to wire things in the
data hub. For example, a program that runs the motors for a random amount of time would
Make sure to make mistakes and demonstrate how to solve problems with the software such as
mis-wiring ports. Have students try these features at their seats as you do it. Point out the
similarities between programming the NXT software and what they did in the last unit with
Scratch.
This is a good point at which to discuss
o Software vs. hardware errorsin robotics the programming may be correct, but the
robot configured incorrectly.
o Syntax vs. logical errorsthe program may compile, but the logic can still be incorrect.
Tell students that the next five days will be spent going through the tutorials in order to learn
how to build and program the NXT system.
Resources:
Topic Description: Program the robot using the Mindstorm Robot Educator Software tutorials.
Objectives:
Use the building blocks of the common palette to program the robot.
Build robots that can execute the functions programmed through the Robot Educator Software.
Program the robot using some or all of the complete palette of blocks.
Student Activities:
In groups of 2-4, students follow tutorials to build and program small robots.
Teaching/Learning Strategies:
Explain assessment model for tutorials. (Recommended: observe some but not all robots, such
as those for tutorials 8, 16, and 20 in the common palette along with several from the complete
palette; look at robot construction and the program as well as execution to determine grade.)
All students should complete the tutorials for the common palette before moving on to the
complete palette. It will be helpful for the future projects if students complete most, if not all,
of the tutorials for the complete palette as well.
Circulate throughout class to answer questions, help troubleshoot, and assess robots.
If some groups finish early, have them assist other groups.
Resources:
Instructional Day: 14
Topic Description: Introduce RoboCup real life robotic competition and write instructions for tic-tac-
toe.
Objectives:
Student Activities:
In pairs, students play a game of tic-tac-toe; then they discuss and write answers to the posted
questions.
Read and discuss the article, Robot Competitors Meet on a Soccer Field of Dreams.
In pairs, students write a series of clear instructions for a robot to play tic-tac-toe.
Teaching/Learning Strategies:
Before students enter the classroom, write the following on the board or chart paper: Play a
game of tic-tac-toe with your partner. Then think about these questions together, and write
your answers: What are the rules of tic-tac-toe? What decisions does a player need to make
before taking a turn? How would you verbally describe each of these decisions? What is the
action a robot would need to take based on the decisions?
After a few minutes, have students share some of their responses. Make a list of the rules of tic-
tac-toe on the board. Ensure students remember that if statements and conditionals are
required to describe the moves of the game. Collect the written responses to the warm up
activity.
Distribute the article Robot Competitors Meet on a Soccer Field of Dreams and have students
read it.
Lead a discussion about the article.
Explain to students that they will be working in pairs to write an application for human robots
(students will act as the robots) to enable them to play tic-tac-toe. The following day will be the
RoboTicTacToe Challenge. Remind them of the earlier discussion of tic-tac-toe. What goals does
each player have? Who starts the game? Is there a best place to put the first X? What are
some winning strategies for the next move? For example, If the X is in the center, then where
should an O be placed? Why is if-then logic a good way to explain strategy for a simple game
like tic-tac-toe? How can Boolean operators, and/or/not, help simplify the commands?
Demonstrate the opening move for a game of tic-tac-toe on the board. Draw a nine-space grid
and label the squares one through nine. Then ask students where to place the first X. Depending
on where it is placed, have students create an if-then statement that determines the next move.
For example, If the first X is in the center, place an O in a corner square.
Ask students to complete the instructions. Each instruction in the entire sequence will cover
every possible combination of moves the students can think of until a game is completed.
Students need to remember that there are multiple options for each move (including the
beginning move). They should consider all of the possibilities in developing their code. They
also need to consider what the behavior the robot will exhibit based on the instructions
provided.
Note that the focus in this lesson is really a reinforcement of programming as a set of
instructions in the context of something most students understand. The game of tic-tac-toe is
not a natural example of robotics because robot environments are generally dynamic with
infinite possible states of the environment.
Resources:
Instructional Day: 15
Objectives:
Student Activities:
Complete debugging tic-tac-toe statements by testing that they work correctly in several games.
Participate in RoboTic-Tac-Toe challenge.
Listen to an explanation of RoboCupJunior Dance Challenge and watch videos of dancing robots
from RoboCupJunior challenges.
Teaching/Learning Strategies:
Ask students to quickly test their tic-tac-toe instructions to make sure they are complete and
correct. They should play tic-tac-toe following only the instructions they have written.
Explain the challenge: each team will be acting as a single robot programmed by the
application they developed. One student will read a command from their application and the
other student will execute the command. Teams play against each other, testing how successful
their code is. Each game should be observed by the rest of the class and monitored to ensure
the teams only execute the commands read.
At the conclusion of the challenge, celebrate the winning team. Ask the students to describe
why that team won? What have they learned? How would they improve their programs?
(Remind students that precise instructions are required in programming.)
Explain that RoboCup is a research initiative founded in 1997 by an international group of
scientists interested in defining a common problem that could be addressed by researchers in
robotics, engineering, and artificial intelligence. Most participants are university and industry
research labs. RoboCupJunior (RCJ) was founded in 2000, with a focus on education. The RCJ
Rescue challenge was piloted in 2001 and adapted in 2003. RCJ is open to students up to age
19. There are two divisions: primary, which is up to age 14, and secondary, which is age 14 to
19. The first two robot projects will be based on the RoboCupJunior program. The first one is
the dancing robot which is the introductory level of the RoboCupJunior program. Students will
build and program a robot that dances. Show videos of dancing robots in competition.
Resources:
Objectives:
Use the NXT and output devices to build and program a robot that dances in time to music.
Student Activities:
Teaching/Learning Strategies:
Hand out requirements and rubric. Explain guidelines and answer questions.
o A dance floor can be made out of large square of one or more pieces of butcher paper.
Circulate and make sure students are on task; answer questions as needed.
Before the dance challenge, assign one student as timekeeper and another as DJ. Collect each
groups program as they compete and immediately assess the robot using the rubric, while the
next group gets set up. You may declare a winner or have the students vote for the best robot.
Discuss the various dance routines and the features of each. Have students provide comments.
At the end of the challenge, have each student complete the project reflection and submit it,
then clean up the robots.
Resources:
Project Reflection
Dancing Robot Activity
The dancing robot assignment is based on the first level of RoboCupJunior, an international competition.
More information about RoboCupJunior is available at http://rcj.robocup.org.
Task:
Requirements:
The robot should not take any input, only have output in the form of various dance moves.
Dance must be 1-2 minutes long. You have a total of 5 minutes to get set up, have the robot
dance, and get out of the way for the next group.
The robot must stay in the marked space.
The robot must be autonomous. Other than hitting the start button, no human can touch it
while it performs.
The dance should be choreographed to the music you provide. The music must be appropriate
for playing at schoolno obscenities, etc.
Teams may restart the robot up to 2 times at the discretion of the teacher. Any re-started,
unless due to a problem not the fault of the team, will result in a grade penalty.
Teams are encouraged to be as creative and entertaining as possible! Props, costumes, and
varied dance moves are encouraged. You may dance alongside your robot.
Each team must print out its program and hand it in at the same time that they compete.
Fair play is an important part of the RoboCup competition. Teams are expected to help other
teams as needed and not deliberately interfere with or damage other teams work. All students
are expected to respectfully watch all other teams compete.
Process:
1. Brainstorm ideas about how your robot should look, how it should work (wheels? Arms?) and
how youll build it. Select music.
2. Start building your robot.
3. Build a program that directs the robot to do your dance moves.
4. Test and revise the program. Make sure it runs for 1-2 minutes. Make sure it matches the music.
Make sure it wont fall apart!
5. Show off the robot during the dance in class.
You will have two class periods to build and program the robot, and then you will present it on the third
day.
Choreography (e.g.: robots to move in time with music, and change actions as music changes
tempo or rhythm. Choreography of humans and robots will be scored separately, etc)
Construction (i.e., robots should be of sound construction, components should not fall off ,
appropriate use of gearing, smooth and reliable operation, interesting movements, effective use
of mechanics to achieve a purpose, etc.)
Entertainment Value (i.e., How much does the performance entertain or delight the audience?
Originality and creativity of the presentation, etc.)
Costume (Costume of humans and robots will be scored separately.)
Cooperation between teams
Dance stage will be a flat area. Official RobocupJunior stage size is 6X4 m.
Extra Credit A B C F
Choreography Dance has at least Dance has at least 6 Dance has at least 4 Dance has 3 different Robot did not
10 different dance different dance different dance dance moves. Dance move or did not
moves. Dance moves. Dance is moves. Dance is lasted for 30-45 appear to
matched music varied and repetitive. Dance seconds or 150-210 dance.
precisely. Robot entertaining. Dance is lasted for 45-60 seconds. Dance did
changed actions as choreographed to seconds or 120-150 not match music.
music changed match music seconds.
tempo or rhythm
Construction Robot constructed Robot is of sound Robot dances as Robot does not work Robot falls apart
using advanced construction: nothing intended, but some as intended, but does or does not
gearing or other falls off, robot works extraneous parts fall move. Robot falls move at all.
advanced as intended. off. apart. Very simple Construction
construction Mechanics used well construction appears careless
techniques. Robot to achieve dance mechanics not used or haphazard.
demonstrates moves desired. well.
extraordinary
creativity.
Entertainment Presentation is Audience is Presentation is not Problems occur but Robot does not
Value unusually creative. entertained by robot, smooth: robot must robot does eventually compete.
Humans dance with presentation, etc. be restarted. run mostly correctly.
robot. Costume, Robot runs correctly
props, etc enhance the first time.
robot.
Cooperation Student(s) helped Student worked well Student worked Student had trouble Student did not
other groups with group. Student somewhat well with working with group. participate in
participated actively group. Student Student participated project. Student
in all parts of project. participated in most in few parts of sabotaged
parts of project. project. others work.
For each member of your group, evaluate their performance as a team member:
Why?
______________________________________________________________________________
Why?
______________________________________________________________________________
Why?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Objectives:
Build and program a robot that uses input and output devices to count simulated people by
following a black line and counting people on the path.
Student Activities:
Teaching/Learning Strategies:
Hand out requirements and rubric. Explain guidelines and answer questions. Show students the
arena with the victims laid out. Explain that they must use sensors so that the robot will follow
the black line and will sense when it has encountered a victim or a gap.
Circulate the room and make sure students are on task; answer questions as needed.
During the rescue challenge, assign one student as timekeeper and one to keep track of victims
found. Collect each groups program as they compete and immediately assess the robot using
the rubric, while the next group gets set up.
At the end of the challenge, have each student complete the project reflection and submit it,
then clean up the robots.
Resources:
Project Reflection
Official RoboCup Jr Rescue Competition Rules (2008): http://rcj.robocup.org/rescue.html
Instructions for building modules are available at
http://rcj.sci.brooklyn.cuny.edu/rcj2010/rescue_suggestedbuildinginstructions.pdf .
Alternatively use white butcher paper on the floor with black electrical tape as a path. Use green
electrical tape to indicate victims.
Build a robot that follows a black line on a white background, counts green or metallic people and
avoids obstacles.
Requirements:
The robot must follow the black line and attempt to complete the course through the entire
arena. The robot will begin at the starting location in the doorway of the first room.
The robot should stop and flash a light for at least two seconds to indicate it has found a victim.
For extra credit, count the number of victims and display the count.
The robot should be able to avoid items of debris blocking the black line.
If a robot has been stuck or lost the black line for more than 20 seconds, the teacher may pick it
up and put it back onto the black line a little beyond where it ran into problems. The 20-second
rule allows it to try to find its way back to the line without intervention. A team may decide to
quit if the robot is faulty or repeatedly loses the line.
Robots must be controlled autonomously except for being started by a member of the team.
The robot will have 10 minutes to complete the course and identify all victims.
Each team must print out its program and hand it in at the same time that they compete.
Fair play is an important part of the RoboCup challenge. Teams are expected to help other
teams as needed and not deliberately interfere with or damage other teams work. All students
are expected to respectfully watch all other teams compete.
Process:
6. Brainstorm ideas about how your robot should work: what sensors will you need? What motors
and lights? What programming constructs will you need?
7. Start building your robot.
8. Build a program that controls the robot
9. Test frequently and revise the program. Make sure it correctly detects victims and that it can
follow the line. Check if it can navigate gaps.
You will have three and a half class periods to build and program the robot; then you will present it in
class.
5.1. Victims:
5.1.1. Ten (10) points are awarded for each victim located by the robot. The robot indicates that it has
found a victim by stopping and flashing a lamp for at least two (2) seconds.
5.1.2. Extra points are NOT awarded for the same victim being located more than once.
5.2.1. Ten (10) points are awarded for each gap in the black line that the robot successfully negotiates
(i.e. recovers the line on the far side of the gap).
5.3.1. Ten (10) points are awarded for each item of debris blocking the black line that the robot
successfully avoids (i.e. moves around the debris and recovers the line).
5.4. Rooms:
5.4.1. Ten (10) points are awarded for each room that the robot navigates successfully (i.e. enters
through one doorway and exits through the other doorway).
5.5. Ramp:
5.5.1. Thirty (30) points are awarded for the robot successfully negotiating a ramp without any
assistance.
5.6. Penalties:
5.6.1. Two (2) points are deducted for each false victim identification (i.e. whenever a robot indicates
that it has found a victim at a location where there isn't one).
5.6.2. Five (5) points are deducted for each lack of progress (i.e. whenever human intervention is
required to enable a robot to resume progress along the black line).
Extra Credit A B C F
Victims Found victims are All victims correctly Most victims Some victims No victims
counted and identified correctly correctly correctly
count is displayed identified identified identified
Gaps All gaps navigated Most gaps Some gaps No gaps navigated
correctly navigated navigated correctly
correctly correctly
Debris Robot avoided all Robot avoided Robot avoided Robot unable to
debris most debris some debris avoid debris
Rooms Robot entered all Robot entered Robot entered Robot did not
rooms through one most rooms one room and enter the first
door and exited through one door was unable to exit room
through the other and exited
through the other
Construction Robot Robot is of sound Parts of robot fall Robot does not Robot falls apart
constructed using construction: off. work as intended, or does not move
advanced gearing nothing falls off, but does move. at all.
or other advanced robot works as Very simple Robot falls apart. Construction
construction intended. construction Robot is unable to appears careless
techniques. Robot mechanics not navigate due to or haphazard.
demonstrates used well. construction
extraordinary
creativity.
Programming Program uses Program is Program is Program is poorly Program does not
advanced straightforward and straightforward written or difficult work.
techniques efficient, using and easy to to understand.
including blocks loops and parallel understand. Program has
from the sequences as Program uses unused parts or
complete palette, necessary. Program inefficient logic to does not correctly
flow blocks, etc. uses sensors and navigate control robot.
strong logic to challenges and Program does not
navigate challenges find victims. correctly use
and find victims. sensors to control
motion.
Cooperation Student(s) helped Student worked Student worked Student had Student did not
other groups. well with group. somewhat well trouble working participate in
Managed own Student with group. with group. project. Student
role & helped participated Student Student sabotaged others
group members. actively in all parts participated in participated in work. Made it
of project. most parts of few parts of difficult for group
project. project. to work.
Objectives:
Student Activities:
Teaching/Learning Strategies:
Hand out requirements, planning document, and rubric. Explain guidelines and answer
questions.
Hand out challenges. Allow students to trade challenges as necessary. You may choose to have
each group working on a different challenge or have them overlap.
Approve planning documents as students finish plan and prepare to build and program robot.
Circulate and make sure students are on task; answer questions as needed. At the end of each
day, remind information specialists to fill out paperwork and remind groups to clean up the
space. Optionally, have students fill out the daily group evaluation.
During the design challenge, fill out each rubric as you observe the robot. If possible, videotape
(or have a volunteer videotape) the running of each robot. Discuss the features of the various
robots and designs.
On the final day of the unit have students disassemble the robots and organize the equipment.
Resources:
Final Project
Design Challenge Planning
1.
2.
3.
4.
5.
List the steps the robot will need to go through to accomplish the task.
1.
2.
3.
4.
5.
6.
7.
8.
9.
STEP #3 BRAINSTORMING
1.
2.
3.
4.
5.
6.
7.
8.
Use scratch paper to sketch ideas for the robot, and then choose the best design idea and illustrate it
NEATLY below. Include any labels or explanations necessary to make your design understandable.
Outline the programming steps for your robot to accomplish the task. This can be in the form of a chart
or graph.
Extra Credit A B C F
Successful Meets criteria and Solution clearly Solution solves Solution does not No reasonable
Solution one or more solves the problem completely solve attempt made to
super challenge problem but not inelegantly or problem. solve problem.
criteria super challenges. inefficiently.
Programming Program uses Program is Program is Program is poorly Program does not
advanced straightforward straightforward written or difficult work. Program
techniques and efficient, and and easy to to understand. does not solve
including Boolean uses appropriate understand. Program has problem
logic, Complete programming Program is unused parts or effectively.
palette blocks, constructs. inefficient. does not correctly
etc. Program Program has a Program has a control robot.
demonstrates reasonable reasonable Algorithm is
extraordinary algorithm for algorithm for strained.
creativity or solving problem solving problem.
unique way of and uses good
solving problem logic.
Construction Robot constructed Robot is of sound Robot works as Robot does not Robot falls apart
using advanced construction: intended, but work as intended, or does not move
gearing or other nothing falls off, some extraneous but does move. at all. Construction
advanced robot works as parts fall off. Robot falls apart. appears careless
construction intended. Moderate degree Very simple or haphazard.
techniques. Robot Mechanics used of repeatability: construction
demonstrates well to achieve robot will run mechanics not
extraordinary desired outcome. again but must be used well. Robot
creativity. Robot can solve adjusted or fixed. cannot run
problem repeatedly.
repeatedly.
Documentation Documentation Ample and Good Fair Little or no
goes beyond accurate documentation: documentation: documentation
required documentation. documentation documentation
paperwork. Documentation kept consistently kept
kept consistently but not as inconsistently and
and thoroughly. thorough as it missing parts.
could be.
Cooperation Student(s) helped Student worked Student worked Student had Student did not
other groups well with group. somewhat well trouble working participate in
Student with group. with group. project. Student
participated Student Student sabotaged others
actively in all parts participated in participated in work.
of project. most parts of few parts of
project. project.
List each member of your group (including yourself) and assess each area with:
(self)
Comments:
You are responsible for reporting the status of the project to the Team Manager every day. How has the team
progressed? Address the following questions:
Tasks Report
Per 1 Get Challenge
Begin brainstorming & Designing
Per 2 Finish Design & get approval
Begin building test partstry
different ideas
Per 3 Finish building test parts & begin
assembling robot from
successfully tested parts
Per 4 Continue assembling robot from
parts
Create program for robot
Per 5 Continue building &
programming robottest
regularly
Per 6 Continue to refine robottest
regularly with the program
Per 7 Finish refining robotmake sure
it completes challenge!
Per 8 Finish or enhance robot
Per 9 Design Challenge: Show off
robot!
Per 10 Clean up: Take apart robot,
return materials to original state
Names: _______________________________________________________