Mastering the Fundamentals of Programming
“The Importance of Mastering the Basic”
By Edwin S. Garcia – December 4, 2021
OBJECTIVES
What is Programming? LO1
How do you write a computer
LO2 program?
Rules of programming
languages?
LO3
Data types, Variables and
LO4 Operators?
Logic Control Structures LO5
LO6 Easier real-world programming
PREREQUISITES
KNOWLEDGE
No Prior Knowledge Required
PL or OS
No Programming Language or Operating Systems
DOWNLOAD
Nothing to Download and nothing to Install
What is Programming?
Learn C# Learn JavaScript
Console.WriteLine("Hello World!"); 06 // the hello world program
console.log('Hello World');
Learn Android Learn C++
<TextView int main() { std::cout << "Hello
android:text="Hello World!" /> World!"; return 0; }
Learn PHP Learn Python
# This program prints Hello,
<?php
world! print('Hello, world!')
echo "Hello World!";
?>
03
LEARN PROGRAMMING
HOW… HOW…
01 How to THINK ABOUT IT
02 How to TALK ABOUT IT
HOW… HOW…
04 How to APPLY IT
03 How to DO IT
PROGRAMMING TERMINOLOGIES & JARGONS
Algorithms Machine Code Pseudocode Assembly
Syntax Static Typing Recursion Bytecode
Data Types Binary Compiling Debugging
Variables Functions Objects Interpreter
Hexadecimal Conditional Logic and lots more…
for some PROGRAMMING is…
You attended this Webinar because of the following reasons:
SOFTWARE DEVELOPER
You want to become a You want to build programs for desktop PC or laptop, for the
01 Programmer web for the phone whether its Mac or Windows or Linux or
whatever else may come in the future.
PROGRAMMERS WORLD
You may have no intention of becoming a programmer right You don't want to become a
now. But you do work with them or live with one and you've
been thinking it might be useful to know more about their programmer 02
world and what's important to them.
You aren't sure you want to PROGRAMMING PASSION
What if you are not completely sure about this perhaps you are
03 become a programmer. worried this might not be for you, or maybe its too late, maybe
if not because of family and friends
What is a Computer Program?
A computer program is a way
Definition
01 to tell a computer what to do
Computer
Program
Definition
A computer program is a list
02 of instructions.
Computer Instructions need to be more specific
INSTRUCTION:
Add one number to another number
INSTRUCTION:
Display “Hello, World!” on the screen
INSTRUCTION:
Beep for 5 seconds and pause 2 seconds
These INSTRUCTIONS are …
SPECIFIC, SELF CONTAINED, and VERY SMALL INSTRUCTIONS
Hello, World! in different Programming Languages
01 JAVA 02 PYTHON 03 C#
class HelloWorld { # This program prints Hello, world! namespace HelloWorld {
public static void main(String[] args) { class Hello {
static void Main(string[] args) {
System.out.println("Hello, World!");
print('Hello, world!') System.Console.WriteLine("Hello World!");
} }}}
}
04 C++ 05 JAVASCRIPT 06 SWIFT
#include <iostream> // Hello World program // Swift "Hello, World!" Program
int main() { console.log('Hello World');
std::cout << "Hello World!"; alert("Hello, World!"); print("Hello, World!")
return 0; document.write('Hello, World!');
}
Hello, World! VS Hello World of Warcraft
Recipe in a Cookbook
IDEA Number 1:
In programming, we build incredibly complex results from
combining lots of simple instructions.
IDEA No 2:
In programming, Its the Order of the Instructions that is incredibly
important.
What is a Computer Program?
A computer program is a list of
instructions
…that we write using a programming
language the computer understands.
Some of the Programming Languages…
C C++
Some of the Programming Languages…
SWIFT RUBY
Some of the Programming Languages…
COBOL Python
Some of the Programming Languages…
PHP Visual Basic
Applications YOU need to Install before Beginning Programming…
ZERO = NONE = NOTHING
Text Editors
Notepad (Windows) | TextEdit (Mac)
THINGS A PROGRAMMING LANGUAGE DOES NOT CARE ABOUT
BOLD text
Italic text
custom fonts
different font sizes
Programming Languages written in Plain Text = ?
Specialized Editors Designed for Programmers [IDE]
Why CODES looks LIKE CODE?
This is why CODES looks LIKE CODE
What is a Computer Program?
A computer program is a list of
instructions
…that we write using a programming
language the computer understands*
*not entirely true
Because the Computer DOES NOT UNDERSTAND our SOURCE CODE…
The piece of hardware the executes our source code…
MACHINE CODE
The instructions your computer actually understands.
EYES CLOSE! This looks like gibberish its intended for Machine
THAT IS WHY?
The entire point of
PROGRAMMING LANGUAGES
is that WE DON’T
have to write
MACHINE CODE
Converting Source Code to Machine Code
Converting Source Code to Machine Code
CONVERSION PROCESS
Compiler compiles source code converts to machine code output executable file
CONVERSION PROCESS
Interpreter (copy of source code sent) bundles in OS or Browsers
COMPARISON
CONVERSION PROCESS
SUMMARY
MACHINE CODE
Computer CPU = Hardware
BINARY CODE
One Switch, Two Values
BINARY CODE
Two Switches, Four Values
BINARY CODE
Each Addition Doubles the Options
BINARY CODE
With Four Switches, 16 Arrangements
BINARY CODE
Eight Switches: 256 Arrangements
(and 252 more…)
BINARY DIGITS
Eight BITS: 256 Arrangements
BINARY DIGITS
Need Bigger Values? Use More BITS
CPU BITS ARCHITECTURE
Binary to Hexadecimal
MACHINE CODE
THE RULES OF PROGRAMMING LANGUAGES
SYNTAX: The rules of the Programming Languages
WORKING WITH DATA
• Input, Output and Everything in Between
• Creating and Naming Variables
• Using Variables and Operators
• Choosing and Using Data Types
• Creating Constants
• Understanding Language Differences
MANAGING PROGRAM FLOW
• Making Choices and Conditions
• Creating Complex Conditions
• Creating Loops
MAKING THINGS MODULAR
• Creating Functions
• Returning Values and Using Parameters
• Using Recursion
• Creating and Using Composite Data Types
• Arrays and Collections
• Introductions to OOP
PROGRAMMING IN THE REAL WORLD
• Introductions: Frameworks and Libraries
• What is SDK?
• What is API?
• Choosing a Programming Language
Software Development Areas
Game Development [ Unity (C#) | Unreal Engine (C++) ]
Web Development [ Ruby on Rails, ASP.NET (C#), Angular JS (JavaScript), PHP]
Mobile Development [ iOS (Swift) Android (Java) ]
Enterprise Applications [ Java, C#, VB.NET ]
Data Visualization [ Python, R ]
Specialized Area [ Robotics, Computer Vision, Audio, AR, VR, AI, ML, etc. ]
FINAL TIPS
How do you Master Basics in Programming?
• Select a Programming Language as per your requirements.
• Get Your Fundamentals (Basic) Clear.
• Move from Basics to the Advanced Level.
• Practice, Practice, and Practice.
• Build Minor and Major Projects.
• Share your Code and Knowledge with Others.
QUOTES TO PONDER
“Failure is part of learning; we should never give up the
struggle in life.”
Don’t Live on “Someday Island”
“Find Your Life Purpose and Manage Your Time”
END OF PRESENTATION