Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE4102/5102 Team Project Scratch

Similar presentations


Presentation on theme: "CSE4102/5102 Team Project Scratch"— Presentation transcript:

1 CSE4102/5102 Team Project Scratch
Ronald Santos and Alexander Slocum

2 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 Currently LEGO Papert Professor of Learning at the MIT Media Lab Focuses on educational tools

3 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

4 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

5 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

6 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: 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:

7 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

8 Scratch 1.X

9 Scratch 2.0 Source Code import Stage Run Stop

10 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

11 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

12 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

13 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

14 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

15 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

16 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.

17 Example

18 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

19 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

20 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

21 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

22 Examples

23 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.

24 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

25 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.

26 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: 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”


Download ppt "CSE4102/5102 Team Project Scratch"

Similar presentations


Ads by Google