You are on page 1of 42

Personal Introduction

Am I Fit To Talk About Programming


Programming is Not Easy
Programming & What it Entails
Web Development RoadMap

INTRODUCTION

Websites?
Mobile (Android, Blackberry, IOS) Apps
Embedded Systems
Games?
A startup that makes you rich?
Interactive art?
Automate a tedious task ?
Application Software?
Just Want to Learn to Code?

WHAT DO YOU WANT TO CODE

Computer Programming
A computer is a programmable machine. This means it can
execute a programmed list of instructions and respond to new
instructions that it is given.
Computers are Stupid
Computer Programming is the process of developing and
implementing various sets of instructions to enable a computer
to do a certain task.
Programs are written to solve problems or perform tasks on a
computer.

Programmers make lots of money.


Programming really is fun.
Programming is very intellectually rewarding.
Programming makes you feel superior to other people.
Programming gives you complete control over an
innocent, vulnerable machine, which will do your evil
bidding with a loyalty.

Why you should be a


programmer

ANYONE
TO BE A GOOD ONE
Logical
Patient
Perceptive
At least moderately intelligent
Enjoys an intellectual challenge
Star Trek fan
Female

Who can be a programmer

Write a program (Not English, Pick a language)


Compile it
Run the program
Debug the program
Repeat the whole process until the program is finished.

WHATS INVOLVED?

Help you build softwares


A source code editor
A compiler
Build automation tools
Debugger

IDE

ALGORITHM
PSEUDOCODE
FLOWCHART
UML
SOURCE CODE

LET TALK ABOUTCODING

MACHINE CODE
ASSEMBLY LANGUAGE / LOW LEVEL
HIGH LEVEL LANGUAGES
FORTRAN
JAVA
VISUAL BASIC

COMPILERS & INTERPRETERS (Perl, PHP)


HIGH LEVEL -> COMPILER -> EXECUTABLE
EXECUTABLE -> CPU ->RESULTS

OVER 2500 LANGUAGES

PROGRAMMING
LANGUAGES

C
C++
C#
PASCAL
DELPHI
VISUAL BASIC
JAVA
PYTHON

SOFTWARE DEVT LANG

SOFTWARE DEVELOPER
COMPUTER /SOFTWARE PROGRAMMER
SOFTWARE ANALYST
SOFTWARE ENGINEER
APPLICATIONS DEVELOPER
WEB APPLICATIONS DEVELOPER
MOBILE APPLICATIONS DEVELOPER
WEBSITE DESIGNER

CAREER JOB ROLES

HTML (describes and defines the content STRUCTURE)


CSS (webpage's appearance/presentation -LOOK)
JAVASCRIPT / VBSCRIPT (functionality)
PHP
JAVA
.NET
RUBY

WEB PROGRAMMING

WHAT DOES A WEB DEVELOPER DO?


WHERE DO THEY WORK?
WEB DEVT JOBS & CAREERS
FRONTEND VS BACKEND VS FULLSTACK
WEB DEVELOPER VS WEB DESIGNER
WEBSITES VS WEB APPLICATIONS

WEB DEVELOPMENT

TOOLS OF THE TRADE


CPU
GOOGLE
TEXT EDITOR
CLI
STACKOVERFLOW
GIT/GITHUB

WEB DEVELOPMENT COMMUNITIES

MEETUPS
HACKATHON
CONFERENCES
CLUBS
ONLINE (REDDIT, GITHUB, STACKOVERFLOW, MEDIUM)
TYPICAL SOFTWARE FIRM
HOW CAN I GET A JOB - (KEEP BUILDING)

WEB FRONTEND WEB


DATABASE
BACKEND

OTHER
LIBRARIES

HTML

PHP

SQL

JQUERY

C++

CSS

PYTHON

MYSQL

ANGULARJS

C#

JAVASCRIPT

JAVA

NOSQL

JSON

VB

RUBY

XML

JAVA

NODEJS

AJAX

PYTHON

BOOTSTRAP

- FRAMEWORKS
- GIT
- SERVERS, CLOUD, HOSTING
- SECURITY, SSL, FTP, PERFORMANCES, WEB SERVICES,
COMPATIBILITY, BEST PRACTICES

HOW SHOULD I LEARN?

HTML is the standard markup language for creating Web pages.


HTML stands for Hyper Text Markup Language
HTML describes the structure of Web pages using markup
HTML elements are the building blocks of HTML pages
HTML elements are represented by tags
HTML tags label pieces of content such as "heading",
"paragraph", "table", and so on
Browsers do not display the HTML tags, but use them to render
the content of the page

<hTML />

All HTML documents must start with a document type


declaration: <!DOCTYPE html>.
Every Opening tag must have a closing tag
Elements can be nested
Elements can have properties
Webpage is divided into 2 segment (head and body)

Rules

Page Structure

<tagname>content</tagname>
<tagname />
<tagname property=value>
<another-tag>content</another-tag>
</tagname>
examples
<b>This must be bold</b>
<p>This is a paragraph</p>

SYNTAX

<html>

</html>

<html>
<head></head>
<body></body>
</html>

<html>
<head>
<title>My Website</title>
</head>
<body></body>
</html>

<html>
<head>
<title>My Website</title>
</head>
<body>
<p>Hello World !</p>
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
<a href=about.html>Go To About Us</a>
<br />
</body>
</html>
<tagname>content goes here...</tagname>

Headings
Paragraphs
Formatting (b, strong, I, em, mark, del, sub, sup)
Blocks & Inlines (div
Comments
List
Links
Tables
Images
Forms
Styles

CSS stands for Cascading Style Sheets


CSS describes how HTML elements are to be displayed
on screen, paper, or in other media
CSS saves a lot of work. It can control the layout of
multiple web pages all at once
External stylesheets are stored in CSS files
CSS is used to define styles for your web pages, including
the design, layout and variations in display for different
devices and screen sizes.

css

tagname{
Property: value
}
#id-name{
Property: value
}
.class-name{
Property: value
}

SYNTAX

body {
background-color: lightblue;
}
h1 {
color: white;
text-align: center;
}
p{
font-family: verdana;
font-size: 20px;
}

<script type=text/javascript>
alert(hello world);
documement.getElementById(mybox).innerHTML
= Hello inside box;
</script>

JAVASCRIPT

http://www.w3schools.com/
https://www.codecademy.com/learn/web
https://developer.mozilla.org/en-US/docs/Learn
https://www.sololearn.com/

Which programming languages are hot right now?


Which languages seem most likely to grow in usage and
importance in the future?
Which languages offer the most employment opportunities?
Which languages are most powerful for the tasks you need to
complete?
Which languages are easiest to learn and use?

WHAT SHOULD I BE CODING IN 2017?

Tiobe language index

IEEE RANKING

FULL
STACK

FRONTEND

BACK-END

MOBILE

MATHS DATA

JAVASCRIPT JAVASCRIPT JAVASCRIPT

ANDROID

PYTHON

C#

ANGULAR

JAVA

JAVA

JAVA

PHP

PHP

PHP

IOS / SWIFT

C++

ANGULAR

NODEJS

ASP/ASP.NET

OBJECTIVE C JAVASCRIPT

PYTHON

JAVASCRIPT

STACK OVERFLOW STATS

JavaScript is the most commonly used programming


language on earth. Even Back-End developers are more
likely to use it than any other language.
More respondents consider themselves Full-stack
Developers
Full-stack developers are comfortable coding with 5 to 6
major languages or frameworks
95% of developers identify as either a Developer,
Programmer, Engineer, Senior Developer or Full-Stack
Developer. Embedded Application Developers are most
likely to identify as Engineers

The median Full-Stack Developer has 8 years experience


69% of all developers tell us they are at least partly selftaught. (13% of respondents across the globe tell us they
are only self-taught.) 43% of developers have either a BA
or BS in computer science or a related field. 2% of
developers have a PhD.
More people use JavaScript than use any other
programming language.

It is interpreted rather than compiled


A little slower for intensive operations
Easier to learn, Not as powerful & Flexible
Excellent for beginners
A point will come, you will need to move.

Programming is Programming (all look alike, No wrong


language to start with)

Scripting

Learn any language well before you move on


Understand why you need to use a technology
Use version Control like your life depends on it
Use Frameworks if you can
Test your code (TDD)
Build your online reputation & appreciate other
(stackoverflow)
Keep Getting Better (Fast Moving & Dynamic) technically
& non technically
Meet with other Developers (meetups, hackathon, codecamps, tech news & events)
Give back (Contribute to open source)
View Online Jobs & Technology Updates for relevance

THINGS YOU SHOULD DO

E-mail:
iginla.omotayo@gmail.com
Phone:
07035361770

THANK YOU