SlideShare a Scribd company logo
STEM Programming Ideas
at the Library
BRIAN PICHMAN | Evolve Project
What Code Should I Learn?
Welcome
With all the latest gadgets, gizmos, and everything in between, what are the latest programming ideas within library spaces? How can we use AI in
different ways to engage our community? What about low costs or low-tech opportunities? Join Brian Pichman of the Evolve Project as he highlights
some awesome programming ideas that you can implement within your library spaces! Bring in more patrons, build more collaboration, and improve
your community outreach with some out-of-the-box STEM activities that really get your creative minds flowing.
How Do We Expand Services?
• Extending Physical Services
• Leverage Online Learning Tools
• Virtual Services
• Changing Landscapes
Extending Physical Services
• Checking Out Materials
• Maker Bags to Go
• Virtual Hangouts
• Sending 3D Prints To Library
Checking Out Materials
• Circulate Items – there are suggested guidelines to follow:
• Ozobot: https://ozobot.com/blog/covid-19-and-your-classroom-how-to-clean-
your-bots-and-keep-the-coding-going
• Apple: https://support.apple.com/en-us/HT204172
• Mobile Hotspots?
• E-rate funding available
Maker Bags to Go
Make And Take Kits:
• Check out BrownDogGadgets.com
Griddly Games
• https://www.griddlygames.com/
Squishy Circuits
https://squishycircuits.com/collections/kits
Make Zooms Interactive
STEM Programming Ideas at the Library.pdf
Virtual Hands On Learning
Fully Engage An Audience (Extreme Level)
Source: https://www.upwvirtual.com/upw
Leverage Online Learning
• Canvas – Free on their site (or self host your own for free)
• Moodle – Host your own Moodle Site for free (need server space)
STEM Programming Ideas at the Library.pdf
Course Ideas
• Teach Programming
• Have people code a game and share the link using Scratch
• Teach Robotics
• Video them building using a robotics kit
Virtual Services
We’ve been using AR/VR for a while now
Headsets
Spatial
Lightup.io
More Ideas
Edu Tech Activities
• Which products do you have that you want to make into a virtual
program?
• What’s easy to wipe down, distribute, and set up?
• What’s low cost and can be done as a make and take activity?
Helpful Links for Tech You May Have
• https://sphero.com/pages/learning-at-home
• https://ozobot.com/educate/1-1program
• https://www.makewonder.com/toolkits/
• https://the3doodler.com/products/create-learn-from-home
Changing Landscapes – Digital Twins / AI
• More reliance and leveraging an
AI or Digital Twins – from
support, shopping, and home
interactions
STEM Programming Ideas at the Library.pdf
Tools for Coding
Scratch
Games | Animations | Story Telling
Getting Started
• Remixed Template
• Pong: https://scratch.mit.edu/projects/461613269
• Story Telling: https://scratch.mit.edu/projects/461833045/
Resources
• https://day.scratch.mit.edu/static/files/resources/ScratchDayActivityId
eas.b0b4cb0d49e5.pdf
• List of Tutorials:
• https://scratch.mit.edu/projects/editor/?tutorial=all
CODING
WITH
ROBOTS
31
• SafeTo Fail
Environment
• GatewaysTo
New Ideas
• Provide New
Tools and
Resources
• The Next Big
Entrepreneurial
Startup
• In school, your
younger patrons
are not given
opportunities to
learn by failure
or
experimentation
• You can spark
interest into fields
such as engineering,
programming,
business
development…and
more
• Libraries are
about providing
access.These
tools are not
always easily
accessible for our
patrons.
• What if your
library helped
launch the next
big super star in
the competitive
tech community?
WHY HAVE THIS “STUFF”?
Screen Free Robots
Bee Bots
MSRP: $89.95
Learn how to code without a computer.
Either using tactile squares or pressing the
buttons on the bot, program your robot to
move.
https://www.terrapinlogo.com/beebot.html
Blue-Bot
MSRP: $120
Code a robot with tiles
OZOBOT
MSRP
Learn how to program by drawing
https://ozobot.com/
STEM Programming Ideas at the Library.pdf
Resources
• https://ozobot.com/stem-education their main education page
• https://portal.ozobot.com/lessons the lesson page
• Teachers Guide:
• https://files.ozobot.com/stem-education/ozobot-teachers-guide.pdf
Advance Robotics
Sphero – BOLT
MSRP: $180
Itty Bitty Buggy
MSRP: $59.99
The Itty Bitty Buggy kit comes with a base
Buggy plus four opportunities to build a
sloth, a ladybug, a dodo bird and an alien.
Learn to code, have your robot detect light,
lines, voice control, color, and more.
https://microduinoinc.com/itty-bitty-buggy/
https://idealab.microduinoinc.com/asset
Finch
MSRP: $140
The Finch was designed to allow students to
write richly interactive programs. On-board
features include:
Light, temperature, and obstacle sensors,
Accelerometers, Motors, Buzzer, Full-color
beak LED, Pen mount for drawing capability.
https://www.birdbraintechnologies.com/finch/
US Educators – borrow a Finch for free
for 2 months! TRY A DEMO
STEM Programming Ideas at the Library.pdf
Resources
• Loan Program:
• https://www.birdbraintechnologies.com/finch-robot-loan-program/
• Curriculum Guides
• https://www.birdbraintechnologies.com/finch/curriculum/scratch/
PiTop
MSRP: ~400
Advance coding robotics kit with
curriculum that guides you through
builds and coding
https://www.pi-top.com/education?hsLang=en
Phase Dock
Makes prototyping and lending of electronics
projects easier and more beautiful
Zumi
MSRP: $180
Zumi is the first educational self-driving car
kit that teaches artificial intelligence (AI) to
everyone, from beginner programmers to
robot enthusiasts. Build Zumi from the
ground-up to see how a self-driving car works
from the inside-out, then code in Blockly or
Python. This is the perfect way to hone your
coding skills.
CoDrone
Learn to program a drone with automatous
flying
Kais Clan
Botzees
STEM Programming Ideas at the Library.pdf
More Screen Free Programming Tools
Thinkfun – Robot Turtles and Code Master
STEM Programming Ideas at the Library.pdf
STEM Programming Ideas at the Library.pdf
Hello Ruby: Adventures
in Coding
Cubetto
https://www.primotoys.com/
STEM Programming Ideas at the Library.pdf
STEM Programming Ideas at the Library.pdf
Incorporating Ideas Into Spaces
• Things to keep in mind:
• Don’t need to buy large kits – start off small and see what your patrons like
• Storage can be as easy as a clear bin – but you want to show case what you have
• Don’t hide the resources from your community, have staff using it, show its accessible.
Evolve Project | Brian Pichman
60
The importance of coding is everywhere
Why Code?
• Can help teach troubleshooting in a more
meaningful way
• Make a “computer” do what you want it
to do
• Job market opportunities
• Build something useful and start a
business
• Most of todays technological
advancements are through the use of
code
• Automation of repetitive tasks or
procedures
Evolve Project | Brian Pichman
61
A set of commands that a computer can understand
So What Is Coding?
Coding is involved in almost every aspect of our lives. From posting on Facebook, to your smart phones, to games, to websites, to this very
webinar. Coding makes things happen, and they are simply instructions to make the “magic” happen.
Think of coding for computer programs as writing down the steps needed to do something.
Evolve Project | Brian Pichman
62
How Do Computers Work
Coding is made up of three things
Algorithm
An ordered set of steps to solve a
problem (not always a mathematical
problem)
Process
A series of actions/steps to
achieve an end result
(do THIS to get THAT)
Procedure
A series of actions performed in a specific order.
(Follow these STEPS to get THAT)
Peanut Butter and Jelly
Describe in “Natural Language” how to make a peanut butter and jelly
sandwich
Evolve Project | Brian Pichman
64
To Get You Started
Resources
Codecademy is an online interactive platform that offers free
coding classes in 12 different programming languages
including Python, Java, JavaScript, Ruby, SQL, and Sass, as well
as markup languages HTML and CSS
The Open Education Consortium (OEC) is a non-profit,
global, members-based network of open education
institutions and organizations. OEC represents its members
and provides advocacy and leadership around
advancement of open education globally.
Evolve Project | Brian Pichman
65
To Get You Started
Resources
Coursera is an online learning platform founded by Stanford
professors Andrew Ng and Daphne Koller that offers *free*
courses, specializations, and degrees.
Code Avengers is an online education company based out
of Hamilton, NZ and founded in 2012 by Dr Michael
Walmsley (PhD computer-assisted learning). It is
subscription based and is made to make coding fun and
engaging.
Evolve Project | Brian Pichman
66
To Get You Started
Resources
CoderDojo is a global volunteer-led community of free
programming workshops for young people between 7 and 17.
The movement is a grassroots organization with individual
clubs acting independently.
Khan Academy is a non-profit educational organization
created in 2008 by Salman Khan with the goal of creating a
set of online tools that help educate students. The
organization produces short lessons in the form of
YouTube videos. Its website also includes supplementary
practice exercises and materials for educators
Evolve Project | Brian Pichman
67
So Many Options!
Evolve Project | Brian Pichman
68
To Get You Started
There are even great apps
GetHopscotch.com – an app that teaches coding through
building games. Make your own Pokemon Go game, frogger,
and more.
LightBot is an app that teaches programming concepts
through solving puzzles.
Evolve Project | Brian Pichman
69
Some Other Coding Resources
Code.org:
• Code.org® is a nonprofit dedicated to expanding access to computer science in
schools and incr easing par tic ipation by w omen and under repr esented minorities.
Our vision is that every student in every school has the opportunity to learn
computer science, just like biology, chemistry or algebra. Code.org provides the
leading curriculum for K-12 computer science in the largest school districts in the
United S tates and Code.org also organizes the annual Hour of Code campaign
which has engaged 10% of all students in the world. Code.org is supported by
generous donors including Amazon, Facebook, Google, the Infosys Foundation,
Microsoft, and many more.
• S cratch 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.kodable.com gives children opportunities to program in order to solve puzzles.
Looking for inspiration: https://medium.freecodecamp.org/successfully-teaching-
yourself-how-to-code-f6aac23db44a
Evolve Project | Brian Pichman
70
What is a programming language?
A programming language is set of rules that provide a way of telling a computer:
What operations to perform
Communicating an algorithm
Receives an input from the user and generates an output.
A programming language is a system for describing a computation (math) or algorithms (logic) in a machine-readable
and human-readable form.
Has words, symbols, and grammatical rules (natural language)
Grammatical rules = Syntax
Each language has a different set of syntax rules
Has semantics (meaning)
Evolve Project | Brian Pichman
71
Few Basic Programming Terms
Coding Basics
Variables and Arrays Operators Flow Control Functions
Evolve Project | Brian Pichman
72
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
Variables & Arrays
Coding Basics
Examples (concept)
$string_myhomelibrary = “Montgomery
Library”;
$numeric_variable= 100;
$myname = “Brian”;
Evolve Project | Brian Pichman
73
An array is a type of variable (or bucket) that holds many pieces of
information.
Variables and Arrays
Coding Basics
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”
Evolve Project | Brian Pichman
74
• 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
Operators
Coding Basics
Evolve Project | Brian Pichman
75
Flow Control – Readable Programming Languages
Coding Basics
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.
Choice
With choice, instructions are executed based on
variables, commands, outputs, etc.
Continual
With continual, instructions are executed based
on variables, commands, outputs, etc … as they
remain true
Evolve Project | Brian Pichman
76
Flow Control – Readable Programming Languages
Coding Basics
Sequence
OPEN the door
WALK inside the room
SIT on a chair
PICKUP a book
READ the book.
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
}
Continual
While (or repeat)
while (something is true) {
do something here
}
for
for (something is true) {
do something here
}
Evolve Project | Brian Pichman
77
Putting Flow Control 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.
Evolve Project | Brian Pichman
78
A function is type of procedure or routine
• A function 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.
Functions
Coding Basics
What could you “code” for
79
Coding Platforms
With coding websites and web
apps; there are front end (what
users see) and back end (what
admins see) that have to be
considered
Websites and Web
Apps
Web Based
You may not realize it, but the
servers and databases that run
the things you use every day
also has a level of coding
involved
Infrastructure
Databases / Servers
As more new technology for
self-driving cars and digital
assistants grows, there will be a
need for these kinds of
engineers
The Hottest Trend
Machine Learning / AI
Often referred to as “thick”
clients, applications that can be
installed are coded – and each
different operating systems
requires different code
Software
Applications
What could you “code” for
80
Coding Platforms
Video Gaming
Video games is much more
than great graphics, every
character interaction, move,
and story has to be coded
Make Games Work
Apps that run on mobile
devices need specialized coders
as well!
There’s an app for that
Mobile Apps
Evolve Project | Brian Pichman
81
Flash Light Examples
Understanding AI
If an ML algorithm makes an
inaccurate prediction, then the
engineer needs to correct. In DL,
the algorithms can determine on
their own if a prediction is accurate
or not.
Deep Learning
Allow machines to make to
their own accurate decisions
without intervention from
engineer
Neural Networks
If detects {dark} turn on {light}
Logic Rules
it’s performing a function with the
data given and gets progressively
better at that function
Machine Learning
Eventually, the system can
turn on the light with other
queues such as “I can’t see”
DL “Code”
Flashlight will turn on
automatically as it learns other
words for “dark” picking up on
phrases that contains the word
ML “Code”:
STEM Programming Ideas at the Library.pdf
Evolve Project | Brian Pichman
83
Coding for Websites
Evolve Project | Brian Pichman
84
Create AI Art – Lensa App
Evolve Project | Brian Pichman
85
There are many ways to program
Requirements
Getting Started
If you’re programming, you’ll need a spot to “host” your code. If its web facing, you could
use sites like Blue Host or Google Cloud computing. For internal applications, you can set
up a “LAMP” stack, and often be able to host everything off a single computer. Lastly,
you’ll need to run software to actually code
There are are also different ways to code:
These would be often hardware specific applications that allow the
creation or customization of physical hardware, drivers, or firmware.
Machine Languages
Operating Systems like Mac, Windows, and Linux can be given commands
to do things. Job Control, Shell Scripting, Text Processing
Scripting
Use a computer screen to do most of the coding for you. For example, you don’t
need to code the dimensions of a “text box” just put one in and resize it to what you
need
GUI – Graphical User Interface
Evolve Project | Brian Pichman
86
Software to code: Microsoft Visual Studio
Evolve Project | Brian Pichman
87
Software to code: Dreamweaver
Evolve Project | Brian Pichman
88
Software to code: Notepad++
Source: https://www.udemy.com/
Source: https://www.udemy.com/
Source: https://www.udemy.com/
Source: https://www.udemy.com/
Evolve Project | Brian Pichman
93
No Coding Tools
Luka!
The company's core product, Luka, empowers education
with artificial intelligence technologies, such as computer
vision and natural language interaction, and realizes multisensory
and multi-modal interaction with functions as
point and read, follow reading
Evolve Project | Brian Pichman
94
Tonies
• The Toniebox is a screen-free
digital listening device that plays
stories, songs and more
Evolve Project | Brian Pichman
95
Evolve Project | Brian Pichman
96
Flycatcher Smart Sketcher 2.0
Evolve Project | Brian Pichman
97
SquareOff
Evolve Project | Brian Pichman
98
Evolve Project | Brian Pichman
99
Feel free to reach out!
Questions / Contacts
815-534-0403
www.evolveproject.org
bpichman@evolveproject.org
Twitter: @bpichman
linkedin.com/in/bpichman
slideshare.net/bpichman

More Related Content

STEM Programming Ideas at the Library.pdf

  • 1. STEM Programming Ideas at the Library BRIAN PICHMAN | Evolve Project
  • 2. What Code Should I Learn? Welcome With all the latest gadgets, gizmos, and everything in between, what are the latest programming ideas within library spaces? How can we use AI in different ways to engage our community? What about low costs or low-tech opportunities? Join Brian Pichman of the Evolve Project as he highlights some awesome programming ideas that you can implement within your library spaces! Bring in more patrons, build more collaboration, and improve your community outreach with some out-of-the-box STEM activities that really get your creative minds flowing.
  • 3. How Do We Expand Services? • Extending Physical Services • Leverage Online Learning Tools • Virtual Services • Changing Landscapes
  • 4. Extending Physical Services • Checking Out Materials • Maker Bags to Go • Virtual Hangouts • Sending 3D Prints To Library
  • 5. Checking Out Materials • Circulate Items – there are suggested guidelines to follow: • Ozobot: https://ozobot.com/blog/covid-19-and-your-classroom-how-to-clean- your-bots-and-keep-the-coding-going • Apple: https://support.apple.com/en-us/HT204172 • Mobile Hotspots? • E-rate funding available
  • 7. Make And Take Kits: • Check out BrownDogGadgets.com
  • 12. Virtual Hands On Learning
  • 13. Fully Engage An Audience (Extreme Level) Source: https://www.upwvirtual.com/upw
  • 14. Leverage Online Learning • Canvas – Free on their site (or self host your own for free) • Moodle – Host your own Moodle Site for free (need server space)
  • 16. Course Ideas • Teach Programming • Have people code a game and share the link using Scratch • Teach Robotics • Video them building using a robotics kit
  • 17. Virtual Services We’ve been using AR/VR for a while now
  • 22. Edu Tech Activities • Which products do you have that you want to make into a virtual program? • What’s easy to wipe down, distribute, and set up? • What’s low cost and can be done as a make and take activity?
  • 23. Helpful Links for Tech You May Have • https://sphero.com/pages/learning-at-home • https://ozobot.com/educate/1-1program • https://www.makewonder.com/toolkits/ • https://the3doodler.com/products/create-learn-from-home
  • 24. Changing Landscapes – Digital Twins / AI • More reliance and leveraging an AI or Digital Twins – from support, shopping, and home interactions
  • 27. Scratch Games | Animations | Story Telling
  • 28. Getting Started • Remixed Template • Pong: https://scratch.mit.edu/projects/461613269 • Story Telling: https://scratch.mit.edu/projects/461833045/
  • 31. 31 • SafeTo Fail Environment • GatewaysTo New Ideas • Provide New Tools and Resources • The Next Big Entrepreneurial Startup • In school, your younger patrons are not given opportunities to learn by failure or experimentation • You can spark interest into fields such as engineering, programming, business development…and more • Libraries are about providing access.These tools are not always easily accessible for our patrons. • What if your library helped launch the next big super star in the competitive tech community? WHY HAVE THIS “STUFF”?
  • 33. Bee Bots MSRP: $89.95 Learn how to code without a computer. Either using tactile squares or pressing the buttons on the bot, program your robot to move. https://www.terrapinlogo.com/beebot.html
  • 34. Blue-Bot MSRP: $120 Code a robot with tiles
  • 35. OZOBOT MSRP Learn how to program by drawing https://ozobot.com/
  • 37. Resources • https://ozobot.com/stem-education their main education page • https://portal.ozobot.com/lessons the lesson page • Teachers Guide: • https://files.ozobot.com/stem-education/ozobot-teachers-guide.pdf
  • 40. Itty Bitty Buggy MSRP: $59.99 The Itty Bitty Buggy kit comes with a base Buggy plus four opportunities to build a sloth, a ladybug, a dodo bird and an alien. Learn to code, have your robot detect light, lines, voice control, color, and more. https://microduinoinc.com/itty-bitty-buggy/ https://idealab.microduinoinc.com/asset
  • 41. Finch MSRP: $140 The Finch was designed to allow students to write richly interactive programs. On-board features include: Light, temperature, and obstacle sensors, Accelerometers, Motors, Buzzer, Full-color beak LED, Pen mount for drawing capability. https://www.birdbraintechnologies.com/finch/ US Educators – borrow a Finch for free for 2 months! TRY A DEMO
  • 43. Resources • Loan Program: • https://www.birdbraintechnologies.com/finch-robot-loan-program/ • Curriculum Guides • https://www.birdbraintechnologies.com/finch/curriculum/scratch/
  • 44. PiTop MSRP: ~400 Advance coding robotics kit with curriculum that guides you through builds and coding https://www.pi-top.com/education?hsLang=en
  • 45. Phase Dock Makes prototyping and lending of electronics projects easier and more beautiful
  • 46. Zumi MSRP: $180 Zumi is the first educational self-driving car kit that teaches artificial intelligence (AI) to everyone, from beginner programmers to robot enthusiasts. Build Zumi from the ground-up to see how a self-driving car works from the inside-out, then code in Blockly or Python. This is the perfect way to hone your coding skills.
  • 47. CoDrone Learn to program a drone with automatous flying
  • 51. More Screen Free Programming Tools
  • 52. Thinkfun – Robot Turtles and Code Master
  • 59. Incorporating Ideas Into Spaces • Things to keep in mind: • Don’t need to buy large kits – start off small and see what your patrons like • Storage can be as easy as a clear bin – but you want to show case what you have • Don’t hide the resources from your community, have staff using it, show its accessible.
  • 60. Evolve Project | Brian Pichman 60 The importance of coding is everywhere Why Code? • Can help teach troubleshooting in a more meaningful way • Make a “computer” do what you want it to do • Job market opportunities • Build something useful and start a business • Most of todays technological advancements are through the use of code • Automation of repetitive tasks or procedures
  • 61. Evolve Project | Brian Pichman 61 A set of commands that a computer can understand So What Is Coding? Coding is involved in almost every aspect of our lives. From posting on Facebook, to your smart phones, to games, to websites, to this very webinar. Coding makes things happen, and they are simply instructions to make the “magic” happen. Think of coding for computer programs as writing down the steps needed to do something.
  • 62. Evolve Project | Brian Pichman 62 How Do Computers Work Coding is made up of three things Algorithm An ordered set of steps to solve a problem (not always a mathematical problem) Process A series of actions/steps to achieve an end result (do THIS to get THAT) Procedure A series of actions performed in a specific order. (Follow these STEPS to get THAT)
  • 63. Peanut Butter and Jelly Describe in “Natural Language” how to make a peanut butter and jelly sandwich
  • 64. Evolve Project | Brian Pichman 64 To Get You Started Resources Codecademy is an online interactive platform that offers free coding classes in 12 different programming languages including Python, Java, JavaScript, Ruby, SQL, and Sass, as well as markup languages HTML and CSS The Open Education Consortium (OEC) is a non-profit, global, members-based network of open education institutions and organizations. OEC represents its members and provides advocacy and leadership around advancement of open education globally.
  • 65. Evolve Project | Brian Pichman 65 To Get You Started Resources Coursera is an online learning platform founded by Stanford professors Andrew Ng and Daphne Koller that offers *free* courses, specializations, and degrees. Code Avengers is an online education company based out of Hamilton, NZ and founded in 2012 by Dr Michael Walmsley (PhD computer-assisted learning). It is subscription based and is made to make coding fun and engaging.
  • 66. Evolve Project | Brian Pichman 66 To Get You Started Resources CoderDojo is a global volunteer-led community of free programming workshops for young people between 7 and 17. The movement is a grassroots organization with individual clubs acting independently. Khan Academy is a non-profit educational organization created in 2008 by Salman Khan with the goal of creating a set of online tools that help educate students. The organization produces short lessons in the form of YouTube videos. Its website also includes supplementary practice exercises and materials for educators
  • 67. Evolve Project | Brian Pichman 67 So Many Options!
  • 68. Evolve Project | Brian Pichman 68 To Get You Started There are even great apps GetHopscotch.com – an app that teaches coding through building games. Make your own Pokemon Go game, frogger, and more. LightBot is an app that teaches programming concepts through solving puzzles.
  • 69. Evolve Project | Brian Pichman 69 Some Other Coding Resources Code.org: • Code.org® is a nonprofit dedicated to expanding access to computer science in schools and incr easing par tic ipation by w omen and under repr esented minorities. Our vision is that every student in every school has the opportunity to learn computer science, just like biology, chemistry or algebra. Code.org provides the leading curriculum for K-12 computer science in the largest school districts in the United S tates and Code.org also organizes the annual Hour of Code campaign which has engaged 10% of all students in the world. Code.org is supported by generous donors including Amazon, Facebook, Google, the Infosys Foundation, Microsoft, and many more. • S cratch 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.kodable.com gives children opportunities to program in order to solve puzzles. Looking for inspiration: https://medium.freecodecamp.org/successfully-teaching- yourself-how-to-code-f6aac23db44a
  • 70. Evolve Project | Brian Pichman 70 What is a programming language? A programming language is set of rules that provide a way of telling a computer: What operations to perform Communicating an algorithm Receives an input from the user and generates an output. A programming language is a system for describing a computation (math) or algorithms (logic) in a machine-readable and human-readable form. Has words, symbols, and grammatical rules (natural language) Grammatical rules = Syntax Each language has a different set of syntax rules Has semantics (meaning)
  • 71. Evolve Project | Brian Pichman 71 Few Basic Programming Terms Coding Basics Variables and Arrays Operators Flow Control Functions
  • 72. Evolve Project | Brian Pichman 72 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 Variables & Arrays Coding Basics Examples (concept) $string_myhomelibrary = “Montgomery Library”; $numeric_variable= 100; $myname = “Brian”;
  • 73. Evolve Project | Brian Pichman 73 An array is a type of variable (or bucket) that holds many pieces of information. Variables and Arrays Coding Basics 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”
  • 74. Evolve Project | Brian Pichman 74 • 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 Operators Coding Basics
  • 75. Evolve Project | Brian Pichman 75 Flow Control – Readable Programming Languages Coding Basics 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. Choice With choice, instructions are executed based on variables, commands, outputs, etc. Continual With continual, instructions are executed based on variables, commands, outputs, etc … as they remain true
  • 76. Evolve Project | Brian Pichman 76 Flow Control – Readable Programming Languages Coding Basics Sequence OPEN the door WALK inside the room SIT on a chair PICKUP a book READ the book. 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 } Continual While (or repeat) while (something is true) { do something here } for for (something is true) { do something here }
  • 77. Evolve Project | Brian Pichman 77 Putting Flow Control 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.
  • 78. Evolve Project | Brian Pichman 78 A function is type of procedure or routine • A function 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. Functions Coding Basics
  • 79. What could you “code” for 79 Coding Platforms With coding websites and web apps; there are front end (what users see) and back end (what admins see) that have to be considered Websites and Web Apps Web Based You may not realize it, but the servers and databases that run the things you use every day also has a level of coding involved Infrastructure Databases / Servers As more new technology for self-driving cars and digital assistants grows, there will be a need for these kinds of engineers The Hottest Trend Machine Learning / AI Often referred to as “thick” clients, applications that can be installed are coded – and each different operating systems requires different code Software Applications
  • 80. What could you “code” for 80 Coding Platforms Video Gaming Video games is much more than great graphics, every character interaction, move, and story has to be coded Make Games Work Apps that run on mobile devices need specialized coders as well! There’s an app for that Mobile Apps
  • 81. Evolve Project | Brian Pichman 81 Flash Light Examples Understanding AI If an ML algorithm makes an inaccurate prediction, then the engineer needs to correct. In DL, the algorithms can determine on their own if a prediction is accurate or not. Deep Learning Allow machines to make to their own accurate decisions without intervention from engineer Neural Networks If detects {dark} turn on {light} Logic Rules it’s performing a function with the data given and gets progressively better at that function Machine Learning Eventually, the system can turn on the light with other queues such as “I can’t see” DL “Code” Flashlight will turn on automatically as it learns other words for “dark” picking up on phrases that contains the word ML “Code”:
  • 83. Evolve Project | Brian Pichman 83 Coding for Websites
  • 84. Evolve Project | Brian Pichman 84 Create AI Art – Lensa App
  • 85. Evolve Project | Brian Pichman 85 There are many ways to program Requirements Getting Started If you’re programming, you’ll need a spot to “host” your code. If its web facing, you could use sites like Blue Host or Google Cloud computing. For internal applications, you can set up a “LAMP” stack, and often be able to host everything off a single computer. Lastly, you’ll need to run software to actually code There are are also different ways to code: These would be often hardware specific applications that allow the creation or customization of physical hardware, drivers, or firmware. Machine Languages Operating Systems like Mac, Windows, and Linux can be given commands to do things. Job Control, Shell Scripting, Text Processing Scripting Use a computer screen to do most of the coding for you. For example, you don’t need to code the dimensions of a “text box” just put one in and resize it to what you need GUI – Graphical User Interface
  • 86. Evolve Project | Brian Pichman 86 Software to code: Microsoft Visual Studio
  • 87. Evolve Project | Brian Pichman 87 Software to code: Dreamweaver
  • 88. Evolve Project | Brian Pichman 88 Software to code: Notepad++
  • 93. Evolve Project | Brian Pichman 93 No Coding Tools Luka! The company's core product, Luka, empowers education with artificial intelligence technologies, such as computer vision and natural language interaction, and realizes multisensory and multi-modal interaction with functions as point and read, follow reading
  • 94. Evolve Project | Brian Pichman 94 Tonies • The Toniebox is a screen-free digital listening device that plays stories, songs and more
  • 95. Evolve Project | Brian Pichman 95
  • 96. Evolve Project | Brian Pichman 96 Flycatcher Smart Sketcher 2.0
  • 97. Evolve Project | Brian Pichman 97 SquareOff
  • 98. Evolve Project | Brian Pichman 98
  • 99. Evolve Project | Brian Pichman 99 Feel free to reach out! Questions / Contacts 815-534-0403 www.evolveproject.org bpichman@evolveproject.org Twitter: @bpichman linkedin.com/in/bpichman slideshare.net/bpichman