What is Programming? A Handbook for Beginners
What is Programming? A Handbook for Beginners
What is Programming? A
Handbook for Beginners
Estefania Cassingena Navone
amazing world of
programming.
:
This is one of the
most useful and
powerful skills
that you can learn
Help stay
and use to make
secure with
your visions come built-in phishing
true. and spam
protection in
In this handbook, we Gmail.
will dive into why
programming is
important, its
applications, its basic Sign up
How
programming is
related to
binary
numbers.
Real-world
applications of
programming.
Tips for
learning how to
code.
Basic
programming
concepts.
Types of
programming
:
languages.
How to
contribute to
open source
projects.
And more...
What is
Programming?
Programming is
essential for our
everyday lives.
was planned,
developed, and
written by developers.
This code creates the
WhistleOut
programming is all
about. It is the process
of writing code to NBN
Internet
solve a particular
:
eOut
histleOut
problem or to
implement a particular
Internet
task.
Plans
Programming is what 1. Select Speeds 2.
allows your computer Compare Plans, Speeds
to Search
run the programs
11,300+ tutorials
& Pricing 3. Get Internet
you use every day and In Your Area
Learn to code — free 3,000-hour curr
your smartphone to WhistleOut
know it.
Code is a sequence of
:
Code is a sequence of
instructions that a
programmer writes to
tell a device (like a
computer) what to do.
A developer (or
programmer) is the
:
programmer) is the
person who analyzes a
problem and
implements a solution
in code.
You, as a
developer.
Let's put you in a
developer's shoes for a
moment. Imagine that
you are developing a
mobile app, like the
ones that you probably
have installed on your
smartphone right now.
Analyzing the
problem. What are you
trying to build?
As a developer, you
would start by
ADVERTISEMENT
designing the layout of
the app, how it will
work, its different
screens and
functionality, and all
the small details that
will make your app an
awesome tool for Alexis
What is a
Programing
Language?
Logos of popular
programming languages.
A programming
language is a language
:
that computers can
understand.
"Computer,
solve this task!"
Every programming
language has its own
set of rules that
determine if a line of
code is valid or not.
Because of this, the
code you write in one
programming
language will be
:
slightly different from
others.
Tip: Some
programming
languages are more
complex than others
but most of them
share core concepts
and functionality. If
you learn how to code
in one programming
language, you will
likely be able to learn
another one faster.
Tip: a program is a
:
Tip: a program is a
set of instructions
written in a
programming
language for the
computer to execute.
We usually write the
code for our program
WhistleOut
in one or multiple files.
Internet
print("Hello, World!")
Plans
But if we write the 1. Select Speeds 2.
same line of code in Compare Plans, Speeds
& Pricing 3. Get Internet
JavaScript (a
In Your Area
programming
WhistleOut
language mainly used
:
t
WhistleOut
language mainly used
for web development),
we will get an error
Open
because it will not be
valid.
To do something very
similar in JavaScript,
we would write this
line of code instead:
console.log("Hello, World!");
Tip: built-in
functions are basically
tasks that are already
defined in the
:
programming
language. This lets us
use them directly in
our code by writing
their names and by
specifying the values
they need.
In our examples,
**print()** is a built-
in function in Python
while
**console.log()** is
a function that we can
use in JavaScript to
see the message in the
console (an interactive
tool) if we run our
code in the browser.
Examples of
programming
languages include
Python, JavaScript,
TypeScript, Java, C,
:
C#, C++, PHP, Go,
WhistleOut
Developer Survey 2022.
WhistleOut
in the developer
community.
NBN
Internet
There are many other
programming
languages (hundreds
or even thousands!)
but usually, you will
Plans
learn and work with 1. Select Speeds 2.
some of the most Compare Plans, Speeds
popular ones. Some of & Pricing 3. Get Internet
them have broader In Your Area
applications like WhistleOut
Programming
:
Programming
and Binary
Numbers
When you think about
programming, perhaps
the first thing that
comes to your mind is
something like the
below image, right? A
sequence of 0 s and
1 s on your computer.
Programming is
indeed related to
binary numbers ( 0
and 1 ) but in an
indirect way.
Developers do not
:
actually write their
code using zeros and
ones.
We usually write
programs in a high-
level programming
language, a
programming
language with a syntax
that recognizes
specific words (called
keywords), symbols,
and values of different ADVERTISEMENT
data types.
Basically, we write
code in a way that
humans can
understand.
as elif in try
Securely
assert else is while
async except lambda with
store over
await finally nonlocal yield
break for not
Where does
the binary
number system
come into play
here?
Process of transforming
a program into binary
code.
This transformation of
source code that
humans can
understand into binary
code that the
computer can
understand is called
compilation.
According to
:
According to
Britannica, a compiler
is defined as:
Computer
software that
translates
(compiles)
source code
written in a
high-level
language (e.g.,
C++) into a set
of machine-
language
instructions that
can be
WhistleOut
understood by a ADVERTISEMENT
digital
computer’s CPU.
Britannica also
mentions that:
Whistle
The term
compiler was
NBN
coined by
Internet
:
eOut
histleOut
coined by
American Internet
Plans
computer
scientist Grace
Hopper, who
designed one of 1. Select Speeds 2.
Compare Plans, Speeds
the first
& Pricing 3. Get Internet
compilers in the In Your Area
early 1950s.
WhistleOut
Some programming
languages can be
Open
classified as compiled
programming
languages while others
can be classified as
interpreted
programming
languages based on
how to they are
transformed into
machine-language
instructions.
understand.
Real-
World
Applications
:
Applications
of
Programming
Programming has
many different
applications in many
different industries.
This is truly amazing
because you can apply
your knowledge in
virtually any industry
that you are interested
in.
From engineering to
farming, from game
:
farming, from game
development to
physics, the
possibilities are
endless if you learn ADVERTISEMENT
how to code.
Front-End Web
Development
WhistleOut
WhistleOut
Front-End Web
Developers develop the
NBN
parts of websites and
web applications that
Internet
users can see and
interact with. Plans
If you learn how to 1. Select Speeds 2.
:
eOut
If you learn how to 1. Select Speeds 2.
code, you can use your Compare Plans, Speeds
& Pricing 3. Get Internet
programming skills to
In Your Area
design and develop WhistleOut
Front-End Web
Developers use HTML
and CSS to create the
structure of the
website (these are
markup languages,
which are used to
present information)
and they write
JavaScript code to add
functionality and
interactivity.
:
interactivity.
learning front-end
web development, you
can learn HTML and
CSS with these free
courses on
freeCodeCamp's
YouTube Channel:
Learn HTML5
and CSS3 From
Scratch - Full
Course
Beginners
Frontend Web
Development
Bootcamp
Course
Draft a
(JavaScript,
HTML, CSS)
blog post
Introduction To
in seconds
:
Introduction To
in seconds
Responsive with Gemini
Web Design - in Docs.
HTML & CSS
Tutorial
Sign up
Learn
JavaScript - Full
Course for
Beginners
JavaScript
Programming -
Full Course
JavaScript
DOM
Manipulation –
Full Course for
Beginners
Learn
JavaScript by
:
JavaScript by
Building 7
Games - Full
Course
Back-End Web
Development
Back-End Web
Developers develop
servers and databases
to handle everything
that runs behind the
:
scenes to make more
complex web
applications work
correctly.
Back-End Web
Developers are in
charge of developing
the code for these
servers. They decide
how to handle the
different requests,
:
how to send
appropriate resources,
A real-world example
of back-end web
development is what
happens when you ADVERTISEMENT
create an account on
freeCodeCamp and
complete a challenge.
Your information is
stored on a database
and you can access it
later when you sign in
with your email and
password.
:
WhistleOut
A freeCodeCamp
interactive challenge.
WhistleOut
This amazing
interactive
functionality was NBN
Internet
implemented by back-
end web developers.
areas.
educational platforms,
use servers and back-
end web development
to power their
amazing functionality.
Python is an example
of a powerful
programming
language used for this
purpose. This is one of
the most popular
programming
languages out there,
and its popularity
continues to rise every
year. This is partly
because it is simple
and easy to learn and
yet powerful and
versatile enough to be
used in real-world
applications.
:
Tip: if you are
curious about the
specific applications of
Python, this is an
article I wrote on this
topic.
Other programming
languages used to
develop web servers
are PHP, Ruby, C#, and
Java.
Python
:
Python
Backend Web
Development
Course (with
Django)
Node.js and
Express.js - Full
Course
MongoDB)
Node.js /
Express Course
- Build 4
Projects
Tip: freeCodeCamp
also has a free Back
End Development and
APIs certification.
:
histleOut
APIs certification.
WhistleOut
Mobile App
Development
NBN
Internet
Plans
Mobile app developers
1. Select Speeds 2.
design and develop the Compare Plans, Speeds
mobile apps we use & Pricing 3. Get Internet
every day. In Your Area
WhistleOut
Developers focused on
mobile app
development are in
charge of planning,
designing, and
developing the user
interface and
functionality of these
apps. They identify a
gap in the existing
:
apps and they try to
create a working
product to make
Tip: regardless of
the field you choose,
your goal as a
developer should
always be making
people's lives better.
Apps are not just apps,
they have the
potential to change
our lives. You should
always remember this
when you are planning
your projects. Your
code can make
someone's life better
and that is a very
important
responsibility.
WhistleOut
Frameworks like
NBN
Flutter and React
Native are super
helpful to build cross-
platform mobile apps
(that is, apps that run
Internet
smoothly on multiple
different operating
Plans
systems like Android
1. Select Speeds 2.
and iOS).
Compare Plans, Speeds
& Pricing 3. Get Internet
According to Flutter's In Your Area
official WhistleOut
documentation:
Flutter is an Open
open source
framework by
Google for
building
beautiful,
natively
:
natively
compiled, multi-
platform
applications
from a single
codebase.
Flutter Course
for Beginners –
37-hour Cross
Platform App
Development
Tutorial
Flutter Course
- Full Tutorial
for Beginners
(Build iOS and
Android Apps)
:
React Native -
Intro Course
for Beginners
Learn React
Native
Gestures and
Animations -
Tutorial
Game
Development
Game developers
envision, design, plan,
and implement the
functionality of a
game. They also need
to find or create assets
such as characters,
obstacles,
backgrounds, music,
sound effects, and
more.
Popular programming
languages used for
game development
include JavaScript,
C++, Python, and C#.
JavaScript
Game
Development
:
Development
Course for
Beginners
Learn
JavaScript by
Building 7
Games - Full
Course
Learn Unity -
Beginner's
Game
Development
Tutorial
Learn Python
by Building
Five Games -
Full Course
Code a 2D
Game Using
JavaScript,
HTML, and CSS
(w/ Free Game
Assets) –
Tutorial
2D Game
:
Development
with GDevelop
- Crash Course
Pokémon
Coding Tutorial
- CS50's Intro
to Game
Development
Biology, Physics,
and Chemistry
Programming can be
applied in every
scientific field that you
can imagine, including
biology, physics,
chemistry, and even
astronomy. Yes!
Scientists use
:
Scientists use
programming all the
time to collect and
analyze data. They can
even run simulations
to test hypotheses.
Biology
In biology, computer
programs can simulate
population genetics
and population
ADVERTISEMENT
dynamics. There is
even an entire field
called bioinformatics.
According to this
article.)
"Bioinformatics" by
Ardeshir Bayat,
member of the Centre
for Integrated
Genomic Medical
Research at the
University of
Manchester:
:
Manchester:
Bioinformatics is
defined as the
application of
tools of
computation
and analysis to
the capture and
interpretation of
biological data.
Frequently used
programming
languages for
:
bioinformatics include
Python, R, PHP, PERL,
and Java.
Tip: R is a
programming
"language and
environment for
statistical computing
and graphics" (source).
An example of a great
tool that scientists can
use for biology is
Biopython. This is a
Python framework
with "freely available
tools for biological
computation."
Python for
Bioinformatics
- Drug
Discovery
Using Machine
Learning and
Data Analysis
R Programming
Tutorial - Learn
the Basics of
Statistical
Computing
Learn Python -
Full Course for
Beginners
[Tutorial]
Physics
Physics requires
running many
simulations and ADVERTISEMENT
:
simulations and ADVERTISEMENT
programming is
perfect for doing
exactly that. With
programming,
scientists can program
and run simulations
based on specific
scenarios that would
be hard to replicate in
real life. This is much
more efficient.
Programming
languages that are
commonly used for
physics simulations
include C, Java,
Python, MATLAB, and
JavaScript.
Chemistry
Chemistry also relies
on simulations and
data analysis, so it's a
field where
:
field where
programming can be a
very helpful tool.
The design of
entirely new
syntheses, and
the classification
and
documentation
of structures,
substructures,
and reactons are
examples of new
applications of
computers to
chemistry.
:
Scientific experiments
also generate detailed
data and results that
can be analyzed with
computer programs
developed by
scientists.
visualization library.
This is be very helpful to
analyze data, right?
American Chemical
Society. These
simulations were
programmed by
developers and they
are helping thousands
of students and
teachers around the
world.
Python for
Bioinformatics
- Drug
Discovery
Using Machine
Learning and
Data Analysis
Python for
:
Python for
Data Science -
Course for
Beginners
(Learn Python,
Pandas,
NumPy,
Matplotlib)
Data Science
and Engineering
Talking about
data...programming is
also essential for a
field called Data
Science. If you are
interested in
answering questions
through data and
:
through data and
statistics, this field
might be exactly what
you are looking for and
having programming
skills will help you to
achieve your goals.
Effective data
scientists are
able to identify
relevant
questions,
collect data from
a multitude of
different data
sources,
:
ADVERTISEMENT
organize the
information,
translate results
into solutions,
and
communicate
their findings in
a way that
positively affects
business
decisions.
This is an example of
the type of data
visualizations that you
:
visualizations that you
can create with
Python. They are very
helpful to analyze data
Learn Data
Science
Tutorial - Full
Course for
Beginners
Intro to Data
Science - Crash
Course for
Beginners
Python for
Data Science -
Course for
Beginners
(Learn Python,
Pandas,
NumPy,
Matplotlib)
Build 12 Data
Science Apps
with Python
and Streamlit -
:
and Streamlit -
Full Course
Data Analysis
with Python -
Full Course for
Beginners
(Numpy,
Pandas,
Matplotlib,
Seaborn)
Data
Visualization
Data Analysis
with Python
Engineering
Engineering is another
field where
programming can help
:
programming can help
you to succeed. Being
able to write your own
computer programs
can make your work
MATLAB is a
programming
:
programming
and numeric
computing
platform used by
millions of
engineers and
scientists to
analyze data,
develop
algorithms, and
create models.
AutoCAD for
Beginners - Full
University
Course
Medicine and
Pharmacology
Programming has
helped scientists to
develop new medical
techniques and devices.
Medicine and
pharmacology are
constantly evolving by
:
constantly evolving by
finding new ADVERTISEMENT
treatments and
procedures. Let's see
how you can apply
your programming
skills in these fields.
Medicine
Programming is really
everywhere. If you are
interested in the field
of medicine, learning
how to code can be
very helpful for you
too. Even if you would
like to focus on
computer science and
software
development, you can
apply your knowledge
in both fields.
Specialized developers
are in charge of
developing and writing
the code that powers
:
the code that powers
and controls the
devices and machines
that are used by
modern medicine.
According to the
scientific article
Application of
Computer Techniques
in Medicine:
:
Major uses of
computers in
medicine include
hospital
information
system, data
analysis in
medicine,
medical imaging
laboratory
computing,
computer
assisted medical
decision making,
care of critically
ill patients,
computer
assisted therapy
and so on.
Pharmacology
Programming and
computer science can
also be applied to
develop new drugs in
:
develop new drugs in
the field of
pharmacology.
A remarkable example
Artificial
intelligence,
which can help
compute the
combinations of
compounds that
would be better
:
for a particular
drug, can reduce
trial-and-error
time and ideally
quicken the
process of
designing new
medicines.
Another example of a
real-world application
of programming in
pharmacology is
related to Python (yes,
Python has many
applications!). Among
its success stories, we
find that Python was
selected by
AstraZeneca to
develop techniques
and programs that can
help scientists to
discover new drugs
faster and more
efficiently.
:
efficiently.
The documentation
explains that:
YouTube channel on
programming for
healthcare imaging:
PyTorch and
Monai for AI
Healthcare
Imaging -
Python
Machine
Learning
Course
Education
Programming can be
:
Programming can be
used to create tools that
ADVERTISEMENT
help teachers and
students to have a more
productive and engaging
learning experience.
Teaching students to
code also develops their
problem-solving skills.
a class through an
online meeting
platform,
programming is
making that possible.
As a programmer or as
a teacher who knows
how to code, you can
create the next great
app that will enhance
the learning
experience of students
around the world.
Perhaps it will be a
note-taking app, an
online learning
platform, a
presentation app, an
educational game, or
:
educational game, or
any other app that
could be helpful for
students.
According to the
official Scratch
website:
for educational
purposes, these are
courses that you may
find helpful on
freeCodeCamp's
YouTube channel:
Scratch
Tutorial for
Beginners -
Make a Flappy
Bird Game
Computational
Thinking &
Scratch - Intro
to Computer
Science -
Harvard's CS50
(2018)
Android
Development
:
Development
for Beginners -
Full Course
Flutter Course
for Beginners –
37-hour Cross
Platform App
Development
Tutorial
Learn Unity -
Beginner's
Game
Development
Tutorial
Machine
Learning,
Artificial
Intelligence, and
Robotics
:
Machine Learning and
Artificial Intelligence are
very popular nowadays
Artificial Intelligence
is defined by
Britannica as:
The project of
developing
:
systems
endowed with
ADVERTISEMENT
the intellectual
processes
characteristic of
humans, such as
the ability to
reason, discover
meaning,
generalize, or
learn from past
experience.
Machine learning is a
branch or a subset of
the field of Artificial
Intelligence in which
systems can learn on
their own based on
data. The goal of this
learning process is to
predict the expected
output. These models
continuously learn
how to "think" and
how to analyze
:
how to analyze
situations based on
their previous training.
Artificial intelligence
and Machine Learning
have amazing
applications in various
industries, such as:
Image and
object
detection.
Making
predictions
based on
patterns.
Text
recognition.
Recommendati
:
Recommendati
on engines (like
when an online
shopping
platform shows
you products
that you may
like or when
YouTube shows
you videos that
you may like).
Spam detection
for emails.
Fraud
detection.
Social media
features like
personalized
feeds.
Many more...
there are
literally
millions of
applications in
virtually every
:
virtually every
industry.
Machine
Learning for
Everybody –
Full Course
ADVERTISEMENT
Machine
Learning
Course for
Beginners
PyTorch for
Deep Learning
& Machine
Learning – Full
Course
TensorFlow 2.0
:
TensorFlow 2.0
Complete
Course -
Python Neural
Networks for
Beginners
Tutorial
Self-Driving
Car with
JavaScript
Course –
Neural
Networks and
Machine
Learning
Python
TensorFlow for
Machine
Learning –
Neural
Network Text
Classification
Tutorial
Practical Deep
Learning for
Coders - Full
:
Coders - Full
Course from
fast.ai and
Jeremy
Howard
Deep Learning
Crash Course
for Beginners
Advanced
Computer
Vision with
Python - Full
Course
Robotics
Programming is also
very important for
robotics. Yes, robots
are programmed too!
:
Robotics is defined by
Britannica as the:
Design,
construction,
and use of
machines
(robots) to
perform tasks
done
traditionally by
human beings.
Arduino
Course for
Beginners -
Open-Source
Electronics
Platform
Other
Applications
There are many other
fascinating
applications of
programming in
almost every field.
:
almost every field.
These are some
highlights:
Agriculture: in
this article by
MIT News, a
farmer
developed an
autonomous
tractor app
after learning
how to code.
Self-driving
cars:
autonomous
cars rely on
software to
analyze their
surroundings
and to make
quick and
accurate
decisions on
the road. If you
are interested
:
are interested
in this area, this
is a course on
this topic on
freeCodeCamp'
s YouTube
channel.
Finance:
programming
can also be
helpful to
develop
programs and
models that
predict
financial
indicators and
trends. For
example, this is
a course on
algorithmic
trading on
freeCodeCamp'
s YouTube
channel.
:
The possibilities are
Skills of a
Successful
Programmer
:
After going through
the diverse range of
applications of
programming, you
must be curious to
know what skills are
needed to succeed in
this field.
Curiosity
A programmer should
be curious. Whether
you are just starting to
learn how to code or
you already have 20
years of experience,
coding projects will
always present you
with new challenges
and learning
opportunities. If you
take these
opportunities, you will
:
continously improve
your skills and
succeed.
Enthusiasm
Enthusiasm is a key
trait of a successful
programmer but this
applies in general to
any field if you want to
succeed. Enthusiasm
will keep you happy
and curious about
what you are creating
and learning.
Resilience
Programming can be
challenging. That is
true. But what defines
you is not how many
challenges you face,
it's how you face them.
If you thrive despite
these challenges, you
will become a better
programmer and you
could create
something that could
:
something that could
ADVERTISEMENT
Creativity
Programmers must be
creative because even
though every
programming
language has a
particular set of rules
for writing the code,
coding is like using
LEGOs. You have the
building-blocks but
you need to decide
what to create and
how to create it. The
process of writing the
code requires
creativity while
following the
established best
practices.
Problem-solving
:
Problem-solving
and Analysis
Programming is
basically analyzing and
solving problems with
code. Depending on
your field of choice,
those problems will be
simpler or more
complex but they will
all require some level
of problem-solving
skills and a thorough
analysis of the
situation.
Questions like:
What should I
build?
What is the
best way to
build this?
:
Are part of the
everyday routine of a
programmer.
Ability to Focus
for Long Periods
of Time
When you are working
on a coding project,
you will need to focus
on a task for long
periods of time. From
creating the design, to
planning and writing
the code, to testing the
result, and to fixing
bugs (issues with the
code), you will
dedicate many hours
to a particular task.
This is why it's
essential to be able to
focus and to keep your
final goal in mind.
Taking Detailed
:
Taking Detailed
Notes
This skill is very
important for
programmers,
particularly when you
are learning how to
code. Taking detailed
notes can be help you
to understand and
remember the
concepts and tools you
learn. This also applies
for experienced
programmers, since
being a programmer
involves life-long ADVERTISEMENT
learning.
Communication
Initially, you might
think that
programming is a
solitary activity and
imagine that a
programmer spends
:
programmer spends
hundreds of hours
alone sitting on a desk.
Open to
Feedback
In programming, there
is usually more than
one way to implement
the same functionality.
Different alternatives
may work similarly,
but some may be
easier to read or more
efficient in terms of
time or resource
:
time or resource
consumption.
Life-long
Learning
Programming equals
life-long learning. If
you are interested in
learning how to code,
you must know that
you will always need to
be learning new things
as new technologies
emerge and existing
:
technologies are
updated. Think about
it... that is great
because there is
always something
interesting and new to
learn!
Open to Trying
New Things
Finally, an essential
skill to be a successful
programmer is to be
open to trying new
things. Step out of
your comfort zone and
be open to new
technologies and
products. In the
technology industry,
things evolve very
quickly and adapting
to change is essential.
Tips for
:
Tips for
Learning
How to Code
ADVERTISEMENT
programming
language to
learn first.
When you are
learning how to
code, it's easy
to feel
overwhelmed
with the
number of
options and
entry paths. My
advice would
be to focus on
understanding
the essential
computer
science
concepts and
one
programming
language first.
Python and
JavaScript are
:
great options
to start
learning the
fundamentals.
Take detailed
notes. Note-
taking skills are
essential to
record and to
analyze the
topics you are
learning. You
can add custom
comments and
annotations to
explain what
you are
learning.
Practice
constantly. You
can only
improve your
problem-
solving skills by
practicing and
:
practicing and
by learning new
techniques and
tools. Try to
practice every
day.
Tip: There is a
challenge called the
#100DaysOfCode
challenge that you can
join to practice every
day.
Always try
again. If you
can't solve a
problem on
ADVERTISEMENT
your first try,
take a break
and come back
again and again
until you solve
it. That is the
only way to
learn. Learn
:
learn. Learn
from your
mistakes and
learn new
approaches.
Learn how to
research and
how to find
answers.
Programming
languages,
libraries, and
frameworks
usually have
official
documentation
s that explain
their built-in
elements and
tools and how
you can use
them. This is a
precious
resource that
you should
definitely refer
:
definitely refer
to.
Browse Stack
Overflow. This
is an amazing
platform. It is
like an online
encyclopedia of
answers to
common
programming
questions. You
can find
answers to
existing
questions and
ask new
questions to
get help from
the community.
Set goals.
Motivation is
one of the most
important
factors for
success. Setting
:
success. Setting
goals is very
important to
keep you
focused,
motivated, and
enthusiastic.
Once you reach
your goals, set
new ones that
you find
challenging and
exciting.
Create
projects. When
you are
learning how to
code, applying
your skills will
help you to
expand your
knowledge and
remember
things better.
Creating
projects is the
:
projects is the
perfect way to
practice and to
create a
portfolio that
you can show ADVERTISEMENT
to potential
employers.
Basic
Programming
Concepts
Variable: a
variable is a
name that we
assign to a
value in a
computer
program. When
we define a
variable, we
assign a value
to a name and
we allocate a
space in
memory to
store that
value. The
value of a
variable can be
updated during
the program.
:
the program.
Constant: a
constant is
similar to a
variable. It
stores a value
but it cannot be
modified. Once
you assign a
value to a
constant, you
cannot change
it during the
entire program.
Conditional: a
conditional is a
programming
structure that
lets developers
choose what
the computer
should do
based on a
condition. If the
condition is
:
True,
something will
happen but if
the condition is
False,
something
different can
happen.
Loop: a loop is a
programming
structure that
let us run a
code block (a
sequence of
instructions)
multiple times.
They are super
helpful to avoid ADVERTISEMENT
code repetition
and to
implement
more complex
functionality.
Function: a
function helps
:
function helps
us to avoid
code repetition
and to reuse
our code. It is
like a code
block to which
we assign a
name but it also
has some
special
characteristics.
We can write
the name of the
function to run
that sequence
of instructions
without writing
them again.
Class: a class is
used as a
blueprint to
define the
characteristics
and
functionality of
a type of
object. Just like
we have
objects in our
real world, we
can represent
objects in our
programs.
Bug: a bug is an
error in the
logic or
implementatio
n of a program
that results in
an unexpected
:
an unexpected
or incorrect
output.
Debugging:
debugging is
the process of
finding and
fixing bugs in a
program.
IDE: this
acronym stands
for Integrated
Development
Environment. It
is a software
development
environment
that has the
most helpful
tools that you
will need to
write computer
programs such
as a file editor,
an explorer, a
:
terminal, and
helpful menu
options.
Tip: a commonly
used and free IDE is ADVERTISEMENT
Visual Studio Code,
created by Microsoft.
Types of
Programming
Languages
:
Languages
Programming
languages can be
classified based on
different criteria. If
you want to learn how
to code, it's important
for you to learn these
basic classifications:
Complexity
High-level
programming
languages: they
are designed to
be understood
by humans and
they have to be
converted into
machine code
:
machine code
before the
computer can
understand
Low-level
programming
languages: they
are more
difficult to
understand
because they
are not
designed for
humans. They
are designed to
:
are designed to
be understood
and processed
efficiently by
machines.
Conversion into
Machine Code
Compiled
programming
languages:
programs
written with
this type of
programming
language are
converted
directly into
machine code ADVERTISEMENT
by a compiler.
Examples
include C, C++,
Haskell, and
Go.
Interpreted
:
programming
languages:
programs
written with
this type of
programming
language rely
on another
program called
the interpreter,
which is in
charge of
running the
code line by
line. Examples
include Python,
JavaScript,
PHP, and Ruby.
Tip: according to
this article on
freeCodeCamp's
publication:
Most
:
Most
programming
languages can
have both
compiled and
interpreted
implementations
– the language
itself is not
necessarily
compiled or
interpreted.
However, for
simplicity’s sake,
they’re typically
referred to as
such.
Procedural
programming
languages
:
languages
Functional
programming
languages
Object-
oriented
programming
languages
Scripting
languages
Logic
programming
languages
How to
Contribute
to Open
Source ADVERTISEMENT
Projects
Software with
source code that
anyone can
inspect, modify,
and enhance.
GitHub is an online
platform for hosting
projects with version
control. There, you can
find many open source
projects (like
freeCodeCamp) that
you can contribute to
and practice your
skills.
freeCodeCamp's GitHub
repository.
Contributing to open
source projects on
GitHub is great to
acquire new
experience working
and communicating
with other developers.
ADVERTISEMENT
This is another
important skill for
finding a job in this
field.
:
GitHub tracks your [this GitHub article]
(https://docs.github.com/en/account-and-
profile/setting-up-and-managing-your-
github-profile/managing-contribution-
settings-on-your-profile/viewing-
contributions-on-your-
profile">contributions and shows them on
your profile. These are shown as
interactive gray and green squares that
represent days of the current year. A
darker shade of green means that more
contributions were made on that day.
Image taken from <a
href="https://docs.github.com/en/account-
and-profile/setting-up-and-managing-
your-github-profile/managing-
contribution-settings-on-your-
profile/viewing-contributions-on-your-
profile).
Working on a team is a
great experience. I
:
great experience. I
totally recommend it
once you feel
comfortable enough
with your skills and
knowledge.
In
Summary
Programming is
a very powerful
skill. If you
learn how to
code, you can
make your
vision come
true.
:
true.
Programming
has many
different
applications in
many different
Programming
languages can
be classified
based on
different
criteria and
they share
basic concepts
such as
variables,
conditionals,
loops, and
functions.
:
functions.
Always set
goals and take
detailed notes.
To succeed as a
programmer,
you need to be
ADVERTISEMENT
enthusiastic
and consistent.
I invite you to
follow me on Twitter
(@EstefaniaCassN)
and YouTube (Coding
with Estefania) to find
coding tutorials.
:
Estefania Cassingena Navone
I'm a software developer, technical writer and online instructor. I love
writing detailed articles with diagrams and step by step explanations.
If you read this far, thank the author to show them you
care. Say Thanks
ADVERTISEMENT
Donations to freeCodeCamp go toward our education initiatives, and help pay for
servers, services, and staff.
Mobile App
: