Date post: | 06-Apr-2017 |
Category: |
Education |
Upload: | chad-mairn |
View: | 42 times |
Download: | 0 times |
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
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
SCRATCH Basics
.mit.edu
Scratch is a programming language for everyone. Create interactive stories, games, music and art and share them online.
DEMO
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://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.eduDEMO
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/wodCai
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}
• forfor (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!
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
Some great resources to help you learn to code
.com
Learn to code interactively, for free.
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!