Computer Science Introduction Grade: High Subject Area: Technology Time: 18 45min sessions Description: Introduction to programming using scratch Standards and Outcomes: Computational Thinking Describe software development methods used to solve software problems Explain what computer programming is. Create programs that accept input from the computer. Evaluate what blocks to put together to create a working script. Create if/then statements to create a working script. Create a variable. Create scripts that include and, or and not for simple use. Create simultaneous execution of more than one script. Coordinate multiple sprites and their actions that tell a story. Program design and development Topics: Introduction to Programming Academic Language: Algorithms Iteration and looping Conditional Statements Variables Boolean Logic Threads Synchronization Prior Knowledge: No prior knowledge needed Planning Notes: Knowledge of scratch is helpful, but can learn along side students Teaching/Learning Strategies: Provided in each lesson Assessment and Evaluation: Formative assessment: Students will give and get feedback to/from peers and teacher throughout each assignment Teacher will give feedback about skills student should work on through observation Summative assessment: Students will create a final scratch project to showcase what they have learned Teacher will use a rubric to assess the final project Accommodation: Several example programs and handouts will be provided throughout the unit at varying levels Video tutorials will be available throughout the unit Resources: http://armorgames.com/play/2205/light-bot Scratch.mit.edu Learnscratch.org http://www.openbookproject.net/courses/scratch/day01.html Lesson 1 – Scratch Introduction Description: This lesson introduces the Scratch programming language, including the basic terms utilized in the language. Objectives: Name the basic terms used in Scratch. o Sprite o Blocks o Sprite Editor o Stage o Scripts Create the beginning of a simple program in Scratch. Outline of the Lesson: Blog Entry (5 minutes) – What do you know about computer programming? Scratch introductory video (10 minutes) http://www.openbookproject.net/courses/scratch/day01.html Show examples of scratch programs – from http://scratch.mit.edu/ or previously made projects Students to play scratch programs Student Activities: Complete blog entry Watch Scratch introductory video. Follow along with Scratch open as teacher models how to start name assignment. Teaching/Learning Strategies Explain the concept of Scratch, parts of the screen. Introduce the idea of blocks. Teach how to save the project Lesson 2 Day 2 – guided practice – catwalk – move to a beat 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. Intro to scratch PPT Objectives: make a new costume for the cat sprite. Copy and change the costume in some small way. Make a script to animate the sprite, changing costumes. Add movement to the script. Outline of the Lesson: Blog Entry (5 minutes) What do you want to be able to do in scratch? Intro to scratch PPT – 15 min o Guided practice how to make a character move – animation Time to explore scratch Teaching/Learning Strategies: Teach how to make a new costume for the cat sprite. Copy and change the costume in some small way. Make a script to animate the sprite, changing costumes. Add movement to the script. Lesson 3 Day 3 – guided practice – controlling movement, - key moves Description: This lesson describes the methods of moving Sprites in Scratch. Objectives: The students will be able to: Explain the 3 major ways to move sprites. o Outline of the Lesson: Blog Entry (5 minutes) What do you know how to do in scratch? Controlling Movement Presentation (10 minutes) – guided practice with Controlling Movement PowerPoint o Arrow keys, changing speed Finish Movement Project on own (30 min) – handout for scripts needed Teaching/Learning Strategies: Teach about x,y coordinates for starting the animation in a specific place. Teach about cardinal directions and the sprite direction buttons, to have the sprite face the appropriate direction. Teach how to make a stage, background scenery. Teach about the sensing blocks Lesson 4 Day 4 – Sprite Interaction Description: This lesson shows how to make more than one sprite interact with each other. Objectives: The students will be able to: Create a program that has interacting sprites Outline of Lesson: Harold the Robot or light-bot Guided practice with teacher Work time to create two sprite that interact Teaching/Learning Strategies Add a second character, make a new sprite and add animation/movement script, copying over script from Sprite 1 and revising. Teach how to add words using “say.” Teach about the waiting block Teach broadcast so that the two sprites interact. Teach about adding sound, voice or music. Day 5 Game Day Description: This lesson provides students the opportunity to choose a previous made game to copy and change make their own. Objectives: The student will be able to: Create a game from existing scripts Change scripts to make the games unique Learn how to debug a program Outline of lesson: CSunplugged activity Debug discussion View available scratch games to use for creation Work time Teaching/Learning Strategies: Teach about debugging a program Use scratch interface to copy a working program Day 6-8 Animation Day Description: This lesson will introduce students to creating their own custom animation Objectives: Students will be able to: Animate an animal Change backgrounds Create an original sprite Use the broadcast block Outline of Lesson: Blog topic: What are you finding easy to do in scratch? What are you finding hard to do in scratch? Present students the lesson: o Create a scratch program that animates an animal How is the sprite going to move? Must include 4 items from list: Changing backgrounds Changing costumes More than one sprite One sprite created One sprite must be able to move using the arrow keys One sprite must broadcast and another must receive the broadcast Work time Present project Teaching/Learning Strategies: Students use software development methodology to create project Students will view peers programs Students will have work time to create project Day 9-14 Three Act Play with Small Groups Description: Students will work in small groups to create a three act play. (Can be use from a play they know or made up) Objectives: The student will be able to: Work cooperatively to create a scratch program Describe what most block are able to do Outline of Lesson: Introduce lesson by showing students a previously made scratch play (Cinderella) Discuss different ways to have conversations between sprites – wait or broadcast Discuss uses of different color blocks Discuss project – Activity requirements provided in handout Questions and Work Time Groups Present to class Teaching/Learning Strategies Students work in groups and provide ideas and knowledge for their projects Discussion of different color blocks