In today’s age, it is important to have a basic understanding of computer programming. Although not everyone will become a computer programmer as a result, it is helpful these days to understand how computers and various software applications run code behind the scenes; plus, troubleshooting esoteric messages becomes much easier with some computer programming essentials under your belt. Without a doubt, it can be difficult to teach coding skills, but if fun and engaging tools are introduced it won’t be too bad. Thinking like a programmer does involve problem solving, but it can enhance creative confidence and inventive learning. In this webinar:
• 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.
2. 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
3. Is coding a cryptic visual of typed languages?
Or a process? Or both?
5. 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!!
6. 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
7. .mit.edu
Scratch is a programming language for everyone. Create
interactive stories, games, music and art and share them online.
8. Play and/or remix it! https://goo.gl/9ERZIJ
Create video motion games!
13. 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
17. 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.
22. Download it for free and get great handouts at
http://raptor.martincarlisle.com
RAPTOR is a flowchart-based
programming environment.
DEMO
23. 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.
27. A Few Basic Programming 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 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
44. 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.
57. 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.