IMAGINE-IT PHASE 3: THE BIG IDEA v 1.0
Desired Results The units in the Exploring Computer Science course are: (1) Human computer interaction (2) Problem Solving (3) Web Design (4) Programming (5) Data Analysis (6) Robotics. I have chosen Unit Four, Introduction to Programming, for my Imagine-IT Phase 3 because many of the key understandings for the year, and for the field of computer science generally, find their most practical form in this unit. Topics to be addressed are: (1) Programming (2) Algorithms and abstractions (3) Connections between mathematics and computer science and (4) Societal impacts of computing. The student will be able to: (1) Use appropriate algorithms to solve a problem. (2) Design, code, test, and execute a program that corresponds to a set of specifications. (3) Select appropriate programming structures. (4) Locate and correct errors in a program. (5) Explain how a particular program functions. (6) Justify the correctness of a program. (7) Create programs with practical, personal, and/or societal intent.
In this unit, 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 MIT Scratch, a block-based programming language.
The standard performance of understanding in this unit is the creation of a working Scratch program for each challenge or assignment along with some form of making that work public: a gallery walk, a student unfamiliar with your program testing your program, a formal presentation with an explanation of a key piece of code, an invitation to another class to come and play games written by our students (arcade day), along with submission to the instructor. Peer grading and peer feedback is included throughout.
I have two goals regarding assessment for this unit and for the course as a whole. The first is probably a little unusual in that I feel that I must create regular, short formative assessments (especially interpreting pseudo-code and/or Scratch code written by other people) as well short multiple choice items in the style of the AP Computer Science Principles test. Both the ECS and the AP CSP courses are so new that standard, traditional assessments barely exist–yet AP CSP asks these types of questions– and I do feel like showing mastery at a lower level of Bloom’s taxonomy can provide scaffolding for student performance at higher levels of Boom’s.
The second goal regarding assessment is to make sure I am explicitly assessing creativity. The goal of the ImagineIT project is to make creative thinking an explicit target for students and to use the NEW framework for evaluating creativity (Novel, Effective, Whole). In practice, this means that I will add items from the creativity rubrics to the standard rubrics already in place for evaluating student projects.
Performances of Understanding As Blythe and Associates describe it in The Teaching for Understanding Guide (1998): “Performances of understanding require students to go beyond the information given to create something new by reshaping, expanding, extrapolating from, applying, and building on what they already know”. In this ImagineIT project, the phrase “create something new” will take on special emphasis. Through the course of the lessons students will engage in discussions about creativity, what it is, and why it might be important. Creative efforts will also be evaluated using the NEW framework.
The following is a list of select lesson topics for this unit, lesson objectives, and the associated performance of understanding:
1 Introduce the Scratch programming language, including the basic terms utilized in the language. SWBAT: (1) Name the basic terms used in Scratch. (2) Create the beginning of a simple program in Scratch.
2-3 Practice using the basic features of Scratch by creating a simple program. SWBAT: (1) Complete a simple Scratch program (2) Utilize the green flag feature
Performance of Understanding: Write program name.sb with a sprite for each letter of your name; all the letters must have an interesting behavior (blinking, spinning, make sounds). Rubric will include NEW framework. Projects will be made public in a gallery walk. Final projects will be added to student portfolio website and shared through the class website.
4 Create a dialogue between two sprites. SWBAT: (1) Develop a dialogue between two or more Scratch sprites. (2) Explain the reasoning behind how their dialogue works.
Performance of Understanding: Write a program dialogue.sb that enacts a dialogue between sprites of your choosing. You must have 3 or more sprites talking in dialogue; all the sprites are polite and they take turns talking; each sprite says at least 3 things; and, finally, the conversation starts “when green flag clicked”. Rubric will include NEW framework. Projects will be made public in volunteer student presentations. As a run up to the creation of this product, small student groups make a skit with a short dialogue in which they say things to one another purely based on timing e.g. the directions for a single person might be to say “Hello” then wait 5 beats before saying the next thing. Doing this has the person empathizing with the computer perspective rather than responding authentically. Final projects will be added to student portfolio website and shared through the class website.
5-6 Introduce the methods of moving sprites in Scratch. SWBAT: Explain the three major ways to move sprites; Choose the appropriate method of moving to make the cat circle the bases.
Performance of Understanding: Write a program baseball.sb that makes a sprite of your choosing run the bases in a baseball game. The cat must touch all 3 bases; cat initializes at home plate at end of game; cat starts “when green flag clicked”. Rubric will include NEW framework. Students will be encouraged to try their own creative flourishes– put a hat on the cat and make it fly off when the cat is rounding third, etc. Teacher will look for student projects with high creativity and highlight those for presentation to the group. Final projects will be added to student portfolio website and shared through the class website.
7-8 Practice the concept of event driven programming through the creation of an alphabet game. SWBAT: Explain event driven programming; write a program that responds to user created events from the mouse and keyboard.
Performance of Understanding: Write a program alphabet.sb, a child’s game, in which “apple” for example appears when the letter “A” is clicked along with a sound. Students can use any words or images they wish. Rubric will include NEW framework. Projects will be shared via random numbers sending students to specific computers; peer feedback will be given; those projects with the highest creativity scores will be shared with the class. Final projects will be added to student portfolio website and shared through the class website.
9 This lesson introduces the concept of broadcasting through role play and then provides students an opportunity to complete a broadcast event in Scratch.
Performance of Understanding 1:Students perform a skit. One student is in charge of changing butcher paper scenes. Three scenes will be pre-drawn before the class starts. Three additional students each have dialogue parts. When a student completes his or her part, the student throws an eraser to the next student when they are done with their speaking part. When the next student receives the eraser, that student speaks. An eraser is thrown to the ‘scene change’ student when it is time to change scenes. No student can speak or change a scene without the eraser. Students will see a demo and then create a skit of their own and write a short reflect afterward in which they explain the concept of broadcasting an event. NEW rubric is part of the evaluation. Movies of these skits could be recorded with phones and posted to the student portfolio website and shared through the class website.
Performance of Understanding 2: Students will create their own short vacation story dialogue in Scratch. NEW rubric is part of the evaluation. Projects will be shared as part of a gallery walk or select presentation with a few students. Final projects will be added to student portfolio website and shared through the class website.
10-13 Students will review how to broadcast events by presenting a Scratch story of their own devising before presenting to the class.
Performance of Understanding: The student’s Scratch story. This activity will include a brainstorming session as well as a chance to receive peer feedback before the Scratch story is created. Final projects will be added to student portfolio website and shared through the class website.
Additional lessons in this unit: 14 Introduce the concept of variable. 15 Introduce the concept of conditionals. 16-17 Introduce And, Or and randomness. 18 Apply knowledge of conditionals to develop a Rock Paper Scissors program in Scratch. 19 Build on previous programming concepts to create a timer. 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. 26-28 Write Scratch programs for either My Community or Game project. Conduct peer reviews. 29 Complete final projects. 30 Presentations of final projects
Plan Learning Experience and Instruction
Context Alcott College Preparatory High School is a non-selective enrollment, small (about 300 total students) high school in District 299, Chicago Public Schools, located in the Roscoe Village neighborhood of Chicago. Student demographics are roughly 40% African American, 45% Hispanic, and 15% Caucasian and other. The course chosen for this IMAGINE-IT is Exploring Computer Science. The ECS course has been offered once before, as an elective, in one section with mixed grade levels. This year I will teach four sections of the ECS course, which is now required, and there will be many more freshmen than last year. The class is still open to students of all grade levels. There is also no restriction regarding the placement of diverse learner students, and unlike the core subjects are no aides or co-teachers assigned to these classes. In terms of student demographics, this is a challenging situation in that all grade levels and ability levels may be present in the same class. Yet this is also an exciting opportunity given the fact that this is perhaps the only class in the building where a senior could be sitting in class next to a freshmen. This gives me the chance to tap some of the juniors and seniors as leaders; it also gives students of different grade levels to get to know one another better and interact in ways they otherwise might not.
The Exploring Computer Science curriculum, a collaboration between Code.Org and UCLA’s Graduate School of Education and Information Studies, is designed for the sort of students I have, as a friendly introduction to the entire field of computer science. ECS is intentionally created to be an inviting experience for females, minorities, and really any student who has felt that computer science was not for them. The units in the ECS course are: (1) Human computer interaction (2) Problem Solving (3) Web Design (4) Programming (5) Data Analysis (6) Robotics. Themes are: (1) the creative nature of computing (2) technology as a tool for solving problems and (3) the relevance of computer science and its impact on society. Inquiry, equity, and computer science content are woven through all lessons; emphasis is on student self-discovery, collaboration, communication, and access for all.
Unfortunately, my classroom space is a computer lab, which is not ideal for some of the activities– like skits, poster making, card shuffling, and lego brick building– that are designed to take place away from the computers. As you can see from the included pictures, the student computers are arranged in a way that rows of students are back-to-back and teacher/student circulation around the classroom is not as easy as it might be.
We do have some spacious stairwells and hallways where responsible students can be sent to make and film a skit or work on a butcher paper poster, but it is not an ideal situation. It is going to be a challenge to do the robotics activities also; it is even a challenge where to store materials. Last year I was able to swap space with another teacher to get into a regular classroom when I needed to. This year that is going to be much more difficult as now I have four different sections for the class. We do have a single IT person who is available a few days a week who can help with software installation and lab problems.
Content I want students to think of computational thinking as a creative art; opportunities for the application of computing is everywhere in the world around them. I want students to start to think of themselves as creators rather than just consumers of technology. Certainly I would hope they ask questions of others and themselves such as ‘How does the Internet work?’, but even better I would like them to propose questions and ideas into realms not associated with computing at all. “How can I tell stories and express myself with computing?”; “How do I computerize that hoodie so that the sleeves light up in a rainbow of colors whenever I want them to?”; “How can I make a device that creates a warning sound when my little brother tries to go in my bedroom without my permission?”. It is a major challenge to transform student thinking to see a science as a place of creative permissiveness.
Pedagogy The units in Exploring Computer Science contain individual lessons that taken together fit the construct for inquiry-based learning outlined in the “5 E Model” for inquiry based instruction in science (Adapted from the 5 E Model”, R. Bybee). In some units, some instructional strategies are highlighted more than others. I anticipate using a variety of strategies across the curriculum. Journal responses and blog entries; peer reviews, gallery walks, jigsawing, role plays and collaborative groups of varying sizes will be used throughout the course. For Unit 4, the Introduction to Programming Unit, highlighted in this paper, I have found structured peer coaching useful with specific coaches assigned to student groups and coaches not allowed to touch the computers. It is sometimes a challenge on longer projects, like the longer Scratch story, listed above to keep students on task and working efficiently. For math projects, I have given students a physical stamp-sheet that got stamped when students finished individual pieces of a project.
Technology For Unit Four and possibly the course in general, key tools will be computers, smartphones, the class website and Google Classroom. I would like to bring social media into this class, so that students can share the excitement of what they are creating with one another, the school community and the outside world, but I am not sure what the administration’s feeling would be about Twitter use, and I just saw a message from one of the fellows in our cohort that Tumblr is blocked. I think the most important and central tool, however is potentially the class website and individual student websites for keeping online portfolios. Certainly, the way this class and curriculum is structured most of the performances of understanding are projects of some form versus written tests. Individual lessons have a lot of journaling built into them, but it would be better and more authentic if students responded to prompts about the artifacts they were creating as they went, perhaps doing a reflection at the end of the unit