Learn to Code and Have Fun Doing It!

59
Learn to Code and Have Fun Doing It!

Transcript of Learn to Code and Have Fun Doing It!

Page 1: Learn to Code and Have Fun Doing It!

Learn to Code and Have Fun Doing It!

Page 2: Learn to Code and Have Fun Doing It!

Agenda:• Learn the basics of some visual programming languages like Scratch, Hopscotch,

App Inventor, Raptor and others.

• Understand basic code syntax to gain important mathematical, computational, and creative thinking concepts through playful learning!

• Discover alternative tools and applications to give people practice programming while having fun!

• Gain other programming ideas, computing devices, and apps to help children & young adults thrive in a world based on technology

Page 3: Learn to Code and Have Fun Doing It!

Is coding a cryptic visual of typed languages?

Or a process? Or both?

Page 4: Learn to Code and Have Fun Doing It!

Describe in natural language how to make a peanut butter and jelly sandwich.

Page 5: Learn to Code and Have Fun Doing It!

Why learn to code?• Why not? • Learn the importance of clarity/brevity of expression. • Be able to think and problem solve more accurately.• Have a better understanding of how technology works. • Create a tool that can make your life and many others’ lives easier.• It can be fun!!

Page 6: Learn to Code and Have Fun Doing It!

What is computer programming?• A set of commands a computer understands – like a recipe.

• Computer programs can help cure diseases; drive cars; create video games; make animated movies/graphics; build websites and apps; and much more. • Basic coding concepts are used by most every program and most every

programmer.

• To learn more visit http://www.bfoit.org/itp/Programming.html

Page 7: Learn to Code and Have Fun Doing It!

SCRATCH Basics

.mit.edu

 Scratch is a programming language for everyone. Create interactive stories, games, music and art and share them online.

DEMO

Page 8: Learn to Code and Have Fun Doing It!

Play and/or remix it! https://goo.gl/9ERZIJ

Create video motion games!

Page 11: Learn to Code and Have Fun Doing It!

How does moving blocks around teach programming?

Learn more at: http://scratched.gse.harvard.edu/

Page 12: Learn to Code and Have Fun Doing It!

Program robots etc.!

http://snap.berkeley.edu/

www.finchrobot.com/loanprogram

Page 13: Learn to Code and Have Fun Doing It!

A Snap! user can create new control structures, such as a for loop (which isn’t built into the

language), by writing a script as shown at the left. Once the for block is created, it can be used even to make nested loops, as shown in the center. A sprite

carries out that script at the right.

More info: http://snap.berkeley.edu/about.html

Page 14: Learn to Code and Have Fun Doing It!

http://snap.berkeley.edu/

Use devices with

Page 15: Learn to Code and Have Fun Doing It!

http://s4a.cat/ Scratch for Arduino

http://snap4arduino.org/

Page 17: Learn to Code and Have Fun Doing It!

What is App Inventor?A web-based app development tool that allows

non-developers to create Android apps.

Using it is like putting a puzzle together.

Page 18: Learn to Code and Have Fun Doing It!

App Inventor resembles …

Scratch LEGO MINDSTORMS

Page 19: Learn to Code and Have Fun Doing It!

http://ai2.appinventor.mit.eduDEMO

Page 20: Learn to Code and Have Fun Doing It!

https://lightbot.com/

DEMO

Page 21: Learn to Code and Have Fun Doing It!
Page 22: Learn to Code and Have Fun Doing It!

Download it for free and get great handouts at http://raptor.martincarlisle.com

RAPTOR is a flowchart-based programming environment.

DEMO

Page 23: Learn to Code and Have Fun Doing It!

A program is an ordered set of instructions that tells a computer to perform the tasks in a pre-arranged manner.

A variable name is actually a location in memory. By naming the location, one is able to store and retrieve data from that location.

Page 24: Learn to Code and Have Fun Doing It!
Page 25: Learn to Code and Have Fun Doing It!

Article available at: http://bit.ly/2o1Y26i

Page 26: Learn to Code and Have Fun Doing It!

Article available at: https://goo.gl/wodCai

Page 27: Learn to Code and Have Fun Doing It!

A Few Basic Programming Components

• Variables & Arrays• Operators• Flow Control• Functions

Slide courtesy of Brian Pichman

Page 28: Learn to Code and Have Fun Doing It!

Variables & Arrays

• A variable is a bucket that holds one piece of information. A variable can change value when• Specific conditions are met• Based on user input

• Examples (concept)• $string_myhomelibrary = “Montgomery Library”;• $numeric_variable= 100;• $myname = “Brian”;

Slide courtesy of Brian Pichman

Page 29: Learn to Code and Have Fun Doing It!

Variables & Arrays

• An array is a type of variable (or bucket) that holds many pieces of information.

• Example (language doesn’t matter here; the concept does):• $FavoriteCities = array(“Orlando”, “Boulder”, “Miami”)• $FavoriteCities[0] holds “Orlando”

• $FavoriteCities [1] holds “Boulder”

• $States = array(“1” => “Prime”; “FL”=> “Florida”, “CO” => “Colorado”)• $States[“FL”] holds “Florida”

Slide courtesy of Brian Pichman

Page 30: Learn to Code and Have Fun Doing It!

Operators

• Arithmetic +, -, *, / (add, subtract, multiply, divide)

• Assignment = (assign the value of 2 to the variable called v)

$v = 2;

+= (“Add the value of 3 to the variable that already holds 1”)$v += 3; // $a now holds 5

Slide courtesy of Brian Pichman

Page 31: Learn to Code and Have Fun Doing It!

Flow Control - Sequence• Reads like a book, the instructions are executed in the same order

they where given:• OPEN the door• WALK inside the room• SIT on a chair• PICKUP a book• READ the book.

Slide courtesy of Brian Pichman

Page 32: Learn to Code and Have Fun Doing It!

Flow Control - Choice• If Then

if (something is true/conditions are met) {then do this

}• If Then Else• Else: XYZ• Starts the same as “If Then” but allows a result if condition is false

• Else If if (something is true/conditions are met) {

then do this } elseif (another something is true/conditions are met) {

then do this instead}

Slide courtesy of Brian Pichman

Page 33: Learn to Code and Have Fun Doing It!

Flow Control - Continual• With continual, instructions are executed based on variables, commands,

outputs, etc … as they remain true

• While (or repeat)while (something is true) {

do something here}

• forfor (something is true) {

do something here}

Slide courtesy of Brian Pichman

Page 34: Learn to Code and Have Fun Doing It!

Flow Control – Putting It Together• 1) Sequence

• Go to the library• Check out a book• Read the book• Return the book

• 2) Choice• If you have a library card, you can check out books. Otherwise open a library card account.

• 3) Repeat• Continue to read the book till there are no more pages.

Slide courtesy of Brian Pichman

Page 35: Learn to Code and Have Fun Doing It!

Functions• A function is type of procedure or routine and usually returns a value.• A procedure preforms an operation, but typically doesn’t provide a value.

• Most languages have pre-built or pre-defined functions in its library. • For instance, the “delete” function means to “remove”. You don’t have to

code what “remove” does; only what to remove.

Defining a function in Python

Page 36: Learn to Code and Have Fun Doing It!

Other ways to learn coding and have fun doing it!

Page 37: Learn to Code and Have Fun Doing It!

Kano OS powered by Raspberry Pi

https://kano.me

Page 38: Learn to Code and Have Fun Doing It!

https://world.kano.me/projects

Page 39: Learn to Code and Have Fun Doing It!

http://getfirebug.com/

See how things on the Web work behind the scenes using …

Page 40: Learn to Code and Have Fun Doing It!

Ozobot

http://www.ozobot.com/

Page 41: Learn to Code and Have Fun Doing It!

Lego WeDo / Lego Mindstorms

Page 42: Learn to Code and Have Fun Doing It!

Sphero

http://www.sphero.com/

Page 43: Learn to Code and Have Fun Doing It!

Dash and Dot

https://www.makewonder.com/

Page 44: Learn to Code and Have Fun Doing It!

Interact with the real world using the Tickle App

https://tickleapp.com

Learn to program Arduino, drones, robots, connected toys, and smart home devices, all wirelessly.

Page 45: Learn to Code and Have Fun Doing It!

pinocc.io

Page 46: Learn to Code and Have Fun Doing It!

Read more at http://goo.gl/Hgy16A

Page 47: Learn to Code and Have Fun Doing It!

Some great resources to help you learn to code

Page 48: Learn to Code and Have Fun Doing It!

.com

Learn to code interactively, for free.

Page 49: Learn to Code and Have Fun Doing It!

http://www.oeconsortium.org/

Page 50: Learn to Code and Have Fun Doing It!

https://www.coursera.org/

Page 51: Learn to Code and Have Fun Doing It!

https://www.codeavengers.com/

Page 53: Learn to Code and Have Fun Doing It!

https://teamtreehouse.com/

Page 54: Learn to Code and Have Fun Doing It!

https://www.codeschool.com/

Page 55: Learn to Code and Have Fun Doing It!

Inspire at the library!

Image source: http://goo.gl/6rRJ8s

Page 56: Learn to Code and Have Fun Doing It!

http://coderdojo.com

Page 57: Learn to Code and Have Fun Doing It!

Coding Resources• Lightbot is a programming puzzle game that gives the user a one-to-one relationship with programming concepts. Try it today at

http://light-bot.com/!

• Hopscotch: Coding for Kids is an iPad programming language. Download it today at https://www.gethopscotch.com/ .• Code.org wants to bring Computer Science classes to every K-12 school. Check it out at http://code.org/ and find some excellent computer

programming tutorials.

• Scratch helps children create stories, games, animations, and also lets them share these projects with others around the world. More info at http://scratch.mit.edu/.

• www.scratchjr.org is a free iPad app that brings coding to students as young as age five. • www.kodable.com gives children opportunities to program in order to solve puzzles. http://www.allcancode.com is similar.

• Visit Medium for a “2 minute read” listing other ideas and resources to help inspire children and teens to code.

• There are several MOOCs (Massive Open Online Course) and other freely available resources that offer computer programming classes. Coursera, Udacity, and Edx are great examples. Also, Khan Academy has some great resources for kids and adults too!

• A Google search query for computer programming resources for kids limited to the last year can be found at http://goo.gl/RaUups.

Page 58: Learn to Code and Have Fun Doing It!

http://www.slideshare.net/chadmairn

@cmairn

Page 59: Learn to Code and Have Fun Doing It!

Contact me!