CSE4102/5102 Team Project Scratch

Slides:



Advertisements
Similar presentations
Introduction to Macromedia Director 8.5 – Lingo
Advertisements

Create a Simple Game in Scratch
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Create a Simple Game in Scratch
Mission Technology Introduction to Scratch! June 2007.
Harry Potter Scratch Game
Mrs. Chapman. Tabs (Block Categories) Commands Available to use Script Area where you type your code Sprite Stage All sprites in this project.
Learn… Create… Program. Manipulation of Multiple Media Connects with youth culture Scratch is a new graphical programming language designed to support.
(An Introduction for Programmers)
Digital Art in Scratch part 1 Barb Ericson Georgia Tech Oct 2010.
#nsta14 Using graphing / data visualization as a Playground for Literacy and Mathematics.
Adventures in Animation Introduction to Scratch! Michelle Venable-Foster June 2006.
What is Scratch? Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Mr. Wortzman. Tabs (Block Categories) Available Blocks Script Area Sprite Stage All sprites in this project.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Scratch the Cat. Object Oriented Programing Writing computer programs Based on Objects Instead of Actions Based on Data Instead of Logic.
INTRODUCTION TO THE SCRATCH PROGRAMMING ENVIRONMENT.
Introduction to Scratch!
Introduction to Scratch Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Summer Computing Workshop. Introduction  Boolean Expressions – In programming, a Boolean expression is an expression that is either true or false. In.
2015 CSE/EGR Summer Camps 1 Computer Science Concepts 1. What is an algorithm? 2. Binary information coding 3. Programming concepts via Scratch Designed.
Introduction to Programming G50PRO University of Nottingham Unit 2 : Introduction To Scratch Paul Tennent
Digital Art in Scratch part 1 Barb Ericson Georgia Tech May 2011.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech June 2008.
Summer Computing Workshop. Session 3 Conditional Branching  Conditional branching is used to alter the normal flow of execution depending on the value.
Scratch Another computer programming language Developed by MIT in 2003
Making a Sprite Dance Barb Ericson Georgia Tech June 2011.
Create a Halloween Computer Game in Scratch Stephanie Smullen and Dawn Ellis Barb Ericson October 2008.
Scratch Creative Computing. INTRODUCTION TO SCRATCH Section 1.
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
Scratch for Interactivity Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Adventures in Animation Introduction to Scratch! Michelle Venable-Foster Barb Ericson Dec 2007.
1 CSC 221: Computer Programming I Fall 2009 Introduction to programming in Scratch  animation sprites  motion, control & sensing  costume changes 
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
CS education: teaching computer science. Teaching programming Teaching computer science has become a huge industry: Huge job growth Not enough CS- trained.
Introducing Scratch Learning resources for the implementation of the scenario
Functions / Blocks.
Review for Final June 13, 2016.
Introduction to Scratch
CS education: teaching computer science
Create a Halloween Computer Game in Scratch
Scratch for Interactivity
Coding Workshop Patty Hicks Still Middle School
What is it?! •Scratch is a programming language that allows you to create interactive stories, music, animations, art, games, and more!
Understanding the Geometric Shape Code
Scratch: iteration / repetition / loops
ECS 9/7/17.
Intro to CS Monday, August 29
Unit 2 Getting Started With
Intro to CS Monday, August 24
Introduction to Events
Scratch for Interactivity
Introduction to Object-Oriented Programming
Introduction to.
Learn… Create… Program
Language Basics.
Learn… Create… Program
Welcome to SCRATCH.
Unit 3: Intro to Programming Snap! Introduction
Introduction to Snap Programming
Learn… Create… Program
Learn… Create… Program
Creating a Simple Game in Scratch
CSC 221: Introduction to Programming Fall 2018
Presentation transcript:

CSE4102/5102 Team Project Scratch Ronald Santos and Alexander Slocum

Biography - Mitchel Resnick Born June 12, 1965 Went to Haverford High School in Pennsylvania Earned his BA in Physics from Princeton University in 1978 Received his MS in 1988 and PhD in 1992 in Computer Science from MIT Worked as a tech journalist from 1978-1983 Currently LEGO Papert Professor of Learning at the MIT Media Lab Focuses on educational tools

Biography - Mitchel Resnick Director of Lifelong Kindergarten group at MIT Media Lab His group collaborated with LEGO in numerous products such as LEGO Mindstorm National Science Investigator award 1993 McGraw Prize 2011 AACE EdMedia Pioneer award 2013 Programmable Bricks Authored several children’s books

Brian Silverman and Paula Bonta Founders of Playful Invention company along with Mitchel Resnick which developed Scratch with LLK Brian Silverman From Canada, he went to MIT in 1970s Created Tinkertoy which was a computer that played tic tac toe Was the director of research at Logo Computer Systems Inc, which commercialized Logo Paula Bonta From Argentina Has a CS degree and a graduate degree in Education from Harvard Focuses on software products for children

Scratch Motivation Research to increase increase interest in cs and “enhance development of technological fluency [among youth]” Reusing, combining, and sharing code with others to create interesting projects Make cs easier to get into, serves as an introduction to programming and cs concepts Intended to be used by kids ages 8-16 years old, but has been used in school and university Harvard University of Wisconsin Ohio State

Scratch history Developed by MIT Media Lab Lifelong Kindergarten Group(LLK) and Playful Invention Company Colorful puzzle-like blocks that you move and drag that snap together instead of text First version of scratch released in 2003, desktop only written in Squeak, a modified version of Smalltalk Scratch 2 released 2013 and was written in AdobeAir online and desktop version Online: https://scratch.mit.edu/projects/editor Scratch 3 still in development, to be released in 2018 written in JavaScript and HTML Uses a VM which builds an Abstract Syntax Tree Open sourced at: https://github.com/LLK

Scratch as a programming language Visual based, makes use of blocks Imperative Event-driven Dynamically-typed Primitive data types are numbers, strings and booleans Interpreted, not compiled A project can be modified as it is being run Scratch 2.0 blocks and objects are stored as JSON objects Uses JSON grammar, and parsed and validated with JSON parsers

Scratch 1.X

Scratch 2.0 Source Code import Stage Run Stop

Blocks Puzzle-like shapes that serve as the building blocks for any scratch program Each one differs in shape and color depending on its purpose In Scratch 2.0 there are currently 12 blocks in total Control Variables List Event and so on... Six different block shapes: Hat, Stack, Boolean, Reporter, C and Cap

Variables Block One of the subcategories of Scratch’s Data blocks, it’s color orange Holds values as well as strings in variables Composed of 4 stack blocks and 1 reporter block Stack blocks serve as the glue for any stack program, comprises majority of Scratch blocks Reporter blocks are blocks that hold some value, they have round edges

List Blocks Another category of Data Blocks, of reddish brick color Similar in concept to lists and arrays found in other programming languages No typing. Can hold strings, integers, chars, etc. Composed of 6 stack blocks, 3 reporter blocks, and 1 boolean block Can import text files, or other CSV file types, into it

Operators Blocks Light green colored blocks Used for number computations and comparisons as well as string manipulation Composed of 6 boolean blocks and 11 reporter blocks Boolean blocks are hexagon shaped blocks that return 0 or 1 based on input Currently no exponent block, or contains block

Control Blocks Golden color blocks Used to control the flow of a scratch program Composed of 1 Hat block, 5 C blocks, 3 Stack Blocks, and 2 Cap blocks Hat blocks denote the starting position of execution for a script Cap blocks stop the execution of a script or project C blocks are c-shaped, and serve as the foundation of conditional statements and iteration

Control blocks - if/else example Has an if block and if/else block, no elseif that is typically offered in most languages. Can nest them together to check for multiple conditions check for input, controlling objects, comparing values

Iteration Uses, but is not limited to, the change, move, or turn blocks to update a variable Uses forever, forever if, repeat, and repeat until blocks to create loops to continuously iterate a variable.

Example

Threads and Synchronization Other threads are commonly created with when statements When statements can listen for keyboard inputs, when something is clicked, broadcasts, and more. These blocks are referred to as event blocks

Function Main function is always “when *Green Flag* Clicked” You can define your own functions using a define block (custom block) so that you can call that function from other scripts

Events Scratch 2.0 has 8 total event blocks, 6 of which are when statements When *Green Flag* clicked When *insert key here* pressed When *insert sprite here* clicked When backdrop switches to *xyz* When *compare variables here* When I receive *broadcast* 2 of which are broadcast statements Broadcast *xyz* Broadcast *xyz* and wait

Motion/Sound/Costume Motion blocks have their own category, they control and move whatever sprite their script is under Sound blocks also have their own category, they make sounds based on what sprite/background their script is under Each sprite can have multiple costumes, changing between costumes will change the appearance of the sprite. When changing costumes, switching can just be done by switching to the next costume or switching to a specific costume

Examples

Custom Blocks Custom blocks are essentially functions that you create with the define block. Custom blocks can help simplify a script and make your code much clearer and easier to read and follow.

Sprites A Sprite is a picture/character that is on the screen, visible or not Each sprite can have multiple scripts, can produce sound, change appearance, move, and be controlled by the user

Scratch editor Scratch editor contains a library of all the blocks for you to drag out when you need them, making building a script very simple Organizes them based on type of block and what the block does.

Impact Overall, Scratch has done a great job capturing the interests kids can have in programming It’s a very satisfying language, it allows the ability to easily create games or movies, which is mostly what kids are interested in when they’re introduced to coding. The blocks you can use are simplified versions of operations and functions of other languages (ex: loops, if statements, broadcasts, etc), making this a great stepping stool language for people interested in getting into coding. Highly recommended for people with zero coding experience. harvard study on scratch: https://cs.harvard.edu/malan/publications/fp079- malan.pdf “when asked via surveys at term’s end to reflect on how their initial experience with Scratch affected their subsequent experience with Java, most students (76%) felt that Scratch was a positive influence, particularly those without prior background. Those students (16%) who felt that Scratch was not an influence, positive or negative, all had prior programming experience”