This document provides an overview of basics of computer coding and programming languages. It discusses the importance of coding and different types of coding environments like apps, websites, and programs. It then covers common coding terms like variables, arrays, operators, and flow control. It also discusses different programming languages like Python, PHP, CSS, Java, and resources for learning coding like Codecademy. The document aims to help people understand coding, types of code, and "building block" languages to achieve their coding goals.
How to Add a New Field in Existing Kanban View in Odoo 17
Basics of Computer Coding: Understanding Coding Languages
1. Basics of Computer Coding:
Understanding Coding Languages
BRIAN PICHMAN | Evolve Project
!
2. What Code Should I Learn?
Welcome
In this webinar, we will cover the different types of environments one may want to code for; whether that is apps, websites, programs that run on
Windows, scripting, and more. Are you interested in learning code and considering if Java, PHP, CSS, Python or another language help bring a
project to life? If you have a high-level approach to coding or are working on teaching patrons how to code or providing guidance to others, this will
be a great resource to have.
We will learn about coding, types of code, and your " building-block" languages that eventually get you (or patrons) to the end goal of being a
wizard coder. Resources for further education will be discussed in this webinar so you will have excellent next steps to continue your journey in a
world of 1's and 0's.
3. Evolve Project | Brian Pichman
3
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
4. Evolve Project | Brian Pichman
4
What we will cover today
Agenda !
2
Resources
What you could use to get started
4
Coding Platforms
What could you “code”
3
Coding Basics
Understand the commonly used
coding terms
1
Introduction
5
Requirements
What do you need to be
successful?
7
Job Applications
Understand what careers require
what languages
6
Coding Languages
What are the different languages
and what do they look like
8
Fun Things!
5. Evolve Project | Brian Pichman
5
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.
6. Evolve Project | Brian Pichman
6
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)
7. Peanut Butter and Jelly! Describe in “Natural Language” how to make a peanut butter and jelly
sandwich
8. Evolve Project | Brian Pichman
8
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.
9. Evolve Project | Brian Pichman
9
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.
10. Evolve Project | Brian Pichman
10
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
12. Evolve Project | Brian Pichman
12
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.
13. Evolve Project | Brian Pichman
13
Some Other Coding Resources
Cod e.org:
• Cod e.org® is a nonp rofit d ed icated to exp and ing access to comp uter science in
schools and increasing p articip ation b y women and und errep resented minorities. Our
vision is that every stud ent in every school has the op p ortunity to learn comp uter
science, just like b iology, chemistry or algeb ra. Cod e.org provides the leading
curriculum f or K-12 comp uter science in the largest school d istricts in the United
States and Cod e.org also organizes the annual Hour of Code camp aign which has
engaged 10% of all stud ents in the world . Cod e.org is sup p orted b y generous d onors
includ ing Amazon, F aceb ook, Google, the Inf osys F ound ation, Microsof t, and many
more.
• Scratch help s child ren create stories, games, animations, and also lets them share these
projects with others around the world. More info at http://scratch.mit.edu/.
• www.kod ab le.com gives children opportunities to program in order to solve puzzles.
Looking f or insp iration: https://medium.freecodecamp.org/successfully-teaching-
yourself-how-to-cod e-f6aac23db44a
14. Evolve Project | Brian Pichman
14
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)
15. Evolve Project | Brian Pichman
15
!
Few Basic Programming Terms
Coding Basics "
#$%
Variables and Arrays Operators Flow Control Functions
16. Evolve Project | Brian Pichman
16
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”;
17. Evolve Project | Brian Pichman
17
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”
18. Evolve Project | Brian Pichman
18
• 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 !
19. Evolve Project | Brian Pichman
19
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
20. Evolve Project | Brian Pichman
20
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
}
21. Evolve Project | Brian Pichman
21
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.
22. Evolve Project | Brian Pichman
22
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 !
23. What could you “code” for
23
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
24. What could you “code” for
24
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
25. Evolve Project | Brian Pichman
25
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”: %
♥
'
26. Evolve Project | Brian Pichman
26
• When editing or using filters in photos (do X to eyes and Y to ears)
• Identification of license plates from an image in a toll violation
• Facebook’s ability to identify and recommend faces in photos
• iPhone users can have their phone categorize people by facial
patterns – in which you then define their name
• Google’s Image Recognition
Examples
How we see AI In Everyday Life
Image Recognition !
Think of how we can use facial imaging
to determine moods
28. Evolve Project | Brian Pichman
28
You probably see this everyday if you use Siri, Google Home, or an Echo
Product.
Overtime or with training, a system can tailored results based on
identifying the user asking. For example, Google Home will provide my
personal driving times to work if it hears me ask “how long will it take me
to get to work” versus a friend asking who it has no data on.
Examples
How we see AI In Everyday Life
Voice Recognition !
Think of how a system can respond
and remember a user based solely
on their voice
30. Evolve Project | Brian Pichman
30
And How We Use It
Other Forms of AI !
Optical Character Recognition
Think of how a picture of your license plate allows
a machine to translate that to text and run a query
to determine who violated a toll.
Also see this in scanners that can take an image
and convert this to text.
Consider how you can take a photo of another
language and have it translate to yours
Advance User Preferences
This is the concept of an AI providing solutions
based on historic user’s preferences and
comparing it to similar users.
Compare how Amazon or Netflix makes
recommendations based on your purchases or
views – or even how Amazon guesses when you
might run out of a specific product.
Sensory Data Analysis
Your wearables that detect heart rate for instance
can determine without user intervention if you
are working out and even what kind of work out
such as jogging or bicycling.
31. What do you need to know to be an AI Engineer?
31
Skills For Learning !
Understanding data and how to
read data sets is valuable
https://dzone.com/articles/ten-machine-
learning-algorithms-you-should-know-to
Math and Algorithms
Statistics
Learning how inputs of code can
interact physical parts
Hardware + Software
Robotics
Learning to code at a basic level
with syntax and flow; then move
to Python (most common)
https://www.geeksforgeeks.org/top-5-best-
programming-languages-for-artificial-
intelligence-field/
Coding Languages
Coding
Learning this is a huge skill to
master, along with object
recognition
https://www.pyimagesearch.com/start-
here-learn-computer-vision-opencv/
How Do Computers See
Computer Vision
33. Evolve Project | Brian Pichman
33
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
$
#
$
"
34. Evolve Project | Brian Pichman
34
Software to code: Microsoft Visual Studio
37. Traditional Programming Languages
• FORTRAN
• FORmula TRANslation.
• Developed at IBM in the mid-1950s.
• First programming language
• Designed for scientific and mathematical applications by
scientists and engineers.
38. Traditional Programming Languages (cont’d.)
• COBOL
• Common Business Oriented Language.
• Developed in 1959.
• Typically used for business applications.
39. Traditional Programming Languages (cont’d.)
• BASIC
• Beginner s All-purpose Symbolic Instruction Code.
• Developed at Dartmouth College in mid 1960s.
• Developed as a simple language for students to write programs
with which they could interact through terminals.
40. Traditional Programming Languages (cont’d.)
• C
• Developed by Bell Laboratories in the early 1970s.
• Provides control and efficiency of assembly language
• Often used for system programs.
• UNIX is written in C.
41. Object-Oriented Programming Languages
• C++
• It is C language with additional features.
• Widely used for developing system and application software.
• Graphical user interfaces can be developed easily with visual
programming tools.
• Windows Based
42. Object-Oriented Programming Languages
• JAVA
• An object-oriented language similar to C++ that eliminates lots
of C++ s problematic features
• Allows a web page developer to create programs for applications,
called applets that can be used through a browser.
• Objective of JAVA developers is that it be machine, platform and
operating system independent.
43. Special Programming Languages
• Scripting Languages
• JavaScript and VBScript
• PHP and ASP
• Perl and Python
• Command Languages
• sh, csh, bash, cmd
44. Special Programming Languages
• HTML
• HyperText Markup Language.
• Used on the Internet and the World Wide Web (WWW).
• Web page developer puts brief codes called tags in the page to
indicate how the page should be formatted.
• XML
• Extensible Markup Language.
• A language for defining other languages.
45. Considerations when choose languages
• Proprietary
• Microsoft Languages (C#, C++, Visual Basic)
• Oracle (Java)
• Open Source
• PHP
• Python
• Standardized Languages
• HTML
• Databases
• Microsoft SQL (Microsoft), MySQL (Open Source), NoSQL (now Apples)
46. • Formerly: Run-time performance
• At one point, a well performing computer was costly, so
lightweight languages had to be used, concise commands, and
less “flashy” design
• Now: Life cycle (human) cost is more important
• Ease of use for both user and programmer
• Cost of maintenance (debugging, updates, etc)
What determines a “right” language
53. Evolve Project | Brian Pichman
53
Looking “Under the Hood” with Developer Tools
https://developers.google.com/web/tools/chrome-devtools/beginners/html
54. .mit.edu
Scratch is a programming language for everyone. Create
interactive stories, games, music and art and share them online.