KEMBAR78
Learn to Code and Have Fun Doing It! | PPTX
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
Is coding a cryptic visual of typed languages?
Or a process? Or both?
Describe in natural language how to make
a peanut butter and jelly sandwich.
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!!
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
.mit.edu
Scratch is a programming language for everyone. Create
interactive stories, games, music and art and share them online.
Play and/or remix it! https://goo.gl/9ERZIJ
Create video motion games!
https://www.scratchjr.org/
https://github.com/LLK/scratch-flash
How does moving blocks around teach
programming?
Learn more at: http://scratched.gse.harvard.edu/
Program robots etc.!
http://snap.berkeley.edu/
www.finchrobot.com/loanprogram
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
http://snap.berkeley.edu/
Use devices with
http://s4a.cat/
Scratch for Arduino
http://snap4arduino.org/
https://www.gethopscotch.com/
http://hop.sc/hopscotchcurriculum
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.
App Inventor resembles …
Scratch LEGO MINDSTORMS
http://ai2.appinventor.mit.edu
https://lightbot.com/
Download it for free and get great handouts at
http://raptor.martincarlisle.com
RAPTOR is a flowchart-based
programming environment.
DEMO
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.
Article available at: http://bit.ly/2o1Y26i
Article available at: https://goo.gl/wodCa
A Few Basic Programming Components
• Variables & Arrays
• Operators
• Flow Control
• Functions
Slide courtesy of Brian Pichman
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
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
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
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
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
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
}
• for
for (something is true) {
do something here
}
Slide courtesy of Brian Pichman
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
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
Other ways to learn coding
and have fun doing it!
Kano OS powered by Raspberry Pi
https://kano.me
https://world.kano.me/projects
http://getfirebug.com/
See how things on the Web work behind the scenes using …
Ozobot
http://www.ozobot.com/
Lego WeDo / Lego Mindstorms
Sphero
http://www.sphero.com/
Dash and Dot
https://www.makewonder.com/
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.
pinocc.io
Read more at http://goo.gl/Hgy16A
Some great resources to help you learn to code
.com
Learn to code interactively, for free.
http://www.oeconsortium.org/
https://www.coursera.org/
https://www.codeavengers.com/
https://www.khanacademy.org
https://teamtreehouse.com/
https://www.codeschool.com/
Image source: http://goo.gl/6rRJ8s
http://coderdojo.com
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.
http://www.slideshare.net/chadmairn
@cmairn
Contact me!

Learn to Code and Have Fun Doing It!

  • 2.
    Agenda: • Learn thebasics 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
  • 3.
    Is coding acryptic visual of typed languages? Or a process? Or both?
  • 4.
    Describe in naturallanguage how to make a peanut butter and jelly sandwich.
  • 5.
    Why learn tocode? • 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!!
  • 6.
    What is computerprogramming? • 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
  • 7.
    .mit.edu Scratch is aprogramming language for everyone. Create interactive stories, games, music and art and share them online.
  • 8.
    Play and/or remixit! https://goo.gl/9ERZIJ Create video motion games!
  • 9.
  • 10.
  • 11.
    How does movingblocks around teach programming? Learn more at: http://scratched.gse.harvard.edu/
  • 12.
  • 13.
    A Snap! usercan 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
  • 14.
  • 15.
  • 16.
  • 17.
    What is AppInventor? A web-based app development tool that allows non-developers to create Android apps. Using it is like putting a puzzle together.
  • 18.
    App Inventor resembles… Scratch LEGO MINDSTORMS
  • 19.
  • 20.
  • 22.
    Download it forfree and get great handouts at http://raptor.martincarlisle.com RAPTOR is a flowchart-based programming environment. DEMO
  • 23.
    A program isan 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.
  • 25.
    Article available at:http://bit.ly/2o1Y26i
  • 26.
    Article available at:https://goo.gl/wodCa
  • 27.
    A Few BasicProgramming Components • Variables & Arrays • Operators • Flow Control • Functions Slide courtesy of Brian Pichman
  • 28.
    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
  • 29.
    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
  • 30.
    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
  • 31.
    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
  • 32.
    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
  • 33.
    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 } • for for (something is true) { do something here } Slide courtesy of Brian Pichman
  • 34.
    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
  • 35.
    Functions • A functionis 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
  • 36.
    Other ways tolearn coding and have fun doing it!
  • 37.
    Kano OS poweredby Raspberry Pi https://kano.me
  • 38.
  • 39.
    http://getfirebug.com/ See how thingson the Web work behind the scenes using …
  • 40.
  • 41.
    Lego WeDo /Lego Mindstorms
  • 42.
  • 43.
  • 44.
    Interact with thereal world using the Tickle App https://tickleapp.com Learn to program Arduino, drones, robots, connected toys, and smart home devices, all wirelessly.
  • 45.
  • 46.
    Read more athttp://goo.gl/Hgy16A
  • 47.
    Some great resourcesto help you learn to code
  • 48.
    .com Learn to codeinteractively, for free.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
    Coding Resources • Lightbotis 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.
  • 58.
  • 59.