SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Programming for non-tech
     Entrepreneurs
    AKA Programming Kindergarten
Introduction - Who am I!
Rodrigo Gil

T +351 967 566 932
E rodrigo@digitalager.com
E rodrigo@mycrogifts.com
Twitter @rgilpt



Founder Mycrogifts          Founder DigitalAger
Introduction - What is
Programming
Definition:

A programming language is an artificial
language designed to communicate instructions
to a machine, particularly a computer.
Introduction - Programming
History I
In 1801 Joseph Marie Jacquard created
Jacquard Loom that simplifies the process of
manufacturing textiles with complex patterns.
The Loom is controlled by punched cards.
●   Ada Lovelace
●   Turing Machine
●   IBM
●   Apple
●   Microsoft
Introduction - Programming
History II                                             Programming Languages
 1957   FORTRAN       first compiler

 1959   COBOL         Still used a lot in business applications

 1964   BASIC

 1972   C             Unix, Linux and Windows OS

 1978   SQL           Database main language

 1980   C++           Object oriented language used in many fields

 1986   Objective-C   iOS, Mac OS

 1991   Python        Django used a lot for web apps                 Youtube, Google

 1991   HTML          Web

 1993   Ruby          Ruby on Rails used a lot for web apps          Twitter, Groupon, Hulu

 1995   Java          Web, Android, etc...

 1995   PHP                                                          Wikipedia, Facebook

 2001   C#            Microsoft
Architectures
●   Landing Pages - Static Pages
●   Web oriented - Dynamic Pages
●   Mobile oriented - Android, iOS
●   Backends - Web Services
●   Databases - MySQL, MongoDB,
    PostgresSQL, MS SQL
Architectures
● APIs - Facebook API, Foursquare API,
  Google APIs ( Google maps API),
  ○ Means to communicate between systems.
● Arduino - Controllers and electronic systems
Roles in Programming
● Programmer
  ○ Coder, create modules, programs and algorithms
● Project Manager
  ○ Prioritize, manage development process, timing,
    risks
● User Experience/User Interface Designer
  ○ Develop views, usability by interviewing users to
    improve apps.
● Software Architect
  ○ Design software modules and systems.
● Quality Assurance
  ○ Check the quality of products and services
Processes
Waterfall

●   Requirements
●   Design
●   Implementation
●   Verification
●   Maintenance
Processes - Agile Dev.
SCRUM
● Product Backlog
● Sprint Backlog
● Sprints
Processes - Other
Design
● Design Thinking
● Systems Thinking
TDD
● Test Driven Development
Processes - Where to Start?
Planning
● Brainstorm
● Research (interviews, surveys, use cases)
● IA (Information architecture)
● Flow diagram or Sitemap
Design
● Wireframes
● UI/UX
● Specifications
Develop
● Start coding!
Tools - IDEs
Definition:
● Integrated Development Environment

Tool to code your application!

    Examples:   ●   Eclipse
                ●   NetBeans
                ●   Visual Studio
                ●   XCode
Tools - How to Start?
Editors
● Coda
● Textmate
● Sublime Text
● TextEdit
Hosting
● Shared vs Dedicated
● Cloud processing (Amazon, Heroku, etc)
● CMS (Wordpress, etc)
FTP
● FileZilla
● Cyberduck
Tools - Revision Control
 Concepts:                                                      Tools:
Baseline - An approved revision of a document or source file;   Git
Branch - A set of files under version control may be branched
or forked at a point in time;
Checkout - A check-out (or co) is the act of creating a local
working copy from the repository;
                                                                SVN
Commit - is the action of writing or merging the changes
made in the working copy back to the repository;
Merge - A merge or integration is an operation in which two     Team
sets of changes are applied to a file or set of files;
                                                                Foundation
Repository - The repository is where files' current and
historical data are stored, often on a server;
Basic Programming Concepts
Code (Java):
● Variables:
    ○ int age = 23;
    ○ String name = "Marco Polo";
    ○ float height = "1.70";
● Expressions:
    ○ if (age == 23) (...)
● Cycles:
    ○ for(int i = 0; i < age; i++){ //Happy birthday}
● Classes:
    ○ class BetaStartEntrepreneur (...)
● Objects:
    ○ BetaStartEntrepreneur marco = new BetaStartEntrepreneur()
Basic Concepts
● Debug:
  ○ Find Errors (bugs) in code
● Test:
  ○ Automated tests (unit tests) to find bugs
  ○ Users or colleagues test your code to find bugs
● Deploy:
  ○ Actions that make a software system available to use
Not so Basic Concepts
                Design Patterns
MVC
● Model - A database, a file or object state
● View - Output representation of the model
● Controller - Manipulates the model, send
  commands to the view

Others: MVVM, MVP, MVT
Why create a web page?
●   The perfect business card for your enterprise
●   A detailed and permanent ad
●   A place that's open 24/7 all year round
●   Increased competitiveness
●   Better responsiveness
●   Increased credibility
Landing Pages
Launch Rock:
  http://launchrock.com/
WordPress.com:
  Blogs and Product presentation
Facebook Pages

● It’s the first page the visitors view
● Good source of getting details and contact information
  from visitors
● Visitors become familiar with your product; more likely
  they spread the word of your product.
Web Apps - Frontend
Languages and frameworks:

●   HTML
●   Javascript, JQuery
●   CSS
●   AJAX
Web Apps - Backend & APIs
Languages and frameworks:
● Ruby on Rails
● Django (Python)
● Java
● ASP.Net
● PHP

Languages:
● JSON
● XML
Mobile Apps
Why not?
● Increased number of mobile devices
● Create Mobile Websites
● Be closer to the end user
● Earn money with mobile paid apps
● Promotions, coupons and other related
● Location based Services
● Mobile campaigns and ads
● People spend more time with tablets and
  smartphones than PC
Mobile Apps
Why not!
● Mobile apps need to add new value for the
  users
● Can be expensive: "you need to be the first,
  the best or have the most money"
Mobile Apps - Non Native
Frameworks:
Phone Gap - http://phonegap.com/
● HTML, CSS, Javascript
● Free
Monotouch - http://xamarin.com/monotouch
● C#
● Paid
Titanium - http://www.appcelerator.com/
● JavaScript-based SDK
● Free and paid
Mobile Apps - Native
iOS - Apple iPhone, iPad
● IDE: XCode
● Needs to have a Mac
● Programming Language: Objective-C

Android - Google
● IDE: Eclipse
● Programming Language: Java

Others - Windows Phone, RIM (Java), Symbian
Advanced Stuff
Gamification
● Increase User Engagement
● User feedback
● User Onboarding
● Create Fun
● Improve Business Objectives
● Examples
  ○   FourSquare
  ○   StackOverflow
  ○   Fitocracy
  ○   LinkedIn
Advanced Stuff
● Machine Learning
● Analysis
● Business Intelligence
Where to go next
W3Schools
Codeacademy
Code School
Google
Koding
Coursera
Stack Overflow

Find a Tech partner
References
~ http://www.w3schools.com/
~ http://en.wikipedia.org/wiki/Model–view–controller
~ http://en.wikipedia.org/wiki/Software_deployment
~ http://en.wikipedia.org/wiki/Revision_control
~ http://en.wikipedia.org/wiki/Computer_programming#History
~ http://en.wikipedia.org/wiki/History_of_programming_languages
~ http://www.webself.net/why-create-a-website.ws
~ http://www.inc.com/ss/6-reasons-why-you-need-a-mobile-strategy#0
~ http://lifebyexperimentation.com/2011/06/why-you-should-not-have-a-mobile-app/
~ http://www.codecademy.com/
~ http://www.codeschool.com/
~ http://code.google.com/intl/pt-PT/edu/languages/google-python-class/
~ https://koding.com/
~ https://www.coursera.org/course/programming1
~ https://www.coursera.org/course/interactivepython
~ http://stackoverflow.com/
~ http://www.entrepreneur.com/article/220416
~ http://phonegap.com/
~ http://xamarin.com/monotouch
~ http://www.entrepreneur.com/article/220416
Thanks To
Beta-Start (Super - Mega - Faster Accelerator)
Miguel Campião (iOS Champion)
   Reviewer
Luis Reis (Tech Superstar)
   Reviewer
Hugo Bernardo (Entrepreneur - Easy Vino)
   Reviewer
All Beta-Starters

Mais conteúdo relacionado

Semelhante a Programming for non tech entrepreneurs

Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform UpdateIdo Green
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Runwesley chun
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 
Rohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStackRohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStackShapeBlue
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback frameworkThomas Papaspiros
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to presentwesley chun
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudwesley chun
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
Griffon for the Enterprise
Griffon for the EnterpriseGriffon for the Enterprise
Griffon for the EnterpriseJames Williams
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloudwesley chun
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App EngineVlad Filippov
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Giovanni Toraldo
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Ido Green
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at workSammy Fung
 
Django on app engine
Django on app engineDjango on app engine
Django on app enginebenpotato
 

Semelhante a Programming for non tech entrepreneurs (20)

Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Rohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStackRohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStack
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to present
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloud
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Dominion over domains
Dominion over domainsDominion over domains
Dominion over domains
 
Griffon for the Enterprise
Griffon for the EnterpriseGriffon for the Enterprise
Griffon for the Enterprise
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
Django on app engine
Django on app engineDjango on app engine
Django on app engine
 

Último

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 

Último (20)

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 

Programming for non tech entrepreneurs

  • 1. Programming for non-tech Entrepreneurs AKA Programming Kindergarten
  • 2. Introduction - Who am I! Rodrigo Gil T +351 967 566 932 E rodrigo@digitalager.com E rodrigo@mycrogifts.com Twitter @rgilpt Founder Mycrogifts Founder DigitalAger
  • 3. Introduction - What is Programming Definition: A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer.
  • 4. Introduction - Programming History I In 1801 Joseph Marie Jacquard created Jacquard Loom that simplifies the process of manufacturing textiles with complex patterns. The Loom is controlled by punched cards. ● Ada Lovelace ● Turing Machine ● IBM ● Apple ● Microsoft
  • 5. Introduction - Programming History II Programming Languages 1957 FORTRAN first compiler 1959 COBOL Still used a lot in business applications 1964 BASIC 1972 C Unix, Linux and Windows OS 1978 SQL Database main language 1980 C++ Object oriented language used in many fields 1986 Objective-C iOS, Mac OS 1991 Python Django used a lot for web apps Youtube, Google 1991 HTML Web 1993 Ruby Ruby on Rails used a lot for web apps Twitter, Groupon, Hulu 1995 Java Web, Android, etc... 1995 PHP Wikipedia, Facebook 2001 C# Microsoft
  • 6. Architectures ● Landing Pages - Static Pages ● Web oriented - Dynamic Pages ● Mobile oriented - Android, iOS ● Backends - Web Services ● Databases - MySQL, MongoDB, PostgresSQL, MS SQL
  • 7. Architectures ● APIs - Facebook API, Foursquare API, Google APIs ( Google maps API), ○ Means to communicate between systems. ● Arduino - Controllers and electronic systems
  • 8. Roles in Programming ● Programmer ○ Coder, create modules, programs and algorithms ● Project Manager ○ Prioritize, manage development process, timing, risks ● User Experience/User Interface Designer ○ Develop views, usability by interviewing users to improve apps. ● Software Architect ○ Design software modules and systems. ● Quality Assurance ○ Check the quality of products and services
  • 9. Processes Waterfall ● Requirements ● Design ● Implementation ● Verification ● Maintenance
  • 10. Processes - Agile Dev. SCRUM ● Product Backlog ● Sprint Backlog ● Sprints
  • 11. Processes - Other Design ● Design Thinking ● Systems Thinking TDD ● Test Driven Development
  • 12. Processes - Where to Start? Planning ● Brainstorm ● Research (interviews, surveys, use cases) ● IA (Information architecture) ● Flow diagram or Sitemap Design ● Wireframes ● UI/UX ● Specifications Develop ● Start coding!
  • 13. Tools - IDEs Definition: ● Integrated Development Environment Tool to code your application! Examples: ● Eclipse ● NetBeans ● Visual Studio ● XCode
  • 14. Tools - How to Start? Editors ● Coda ● Textmate ● Sublime Text ● TextEdit Hosting ● Shared vs Dedicated ● Cloud processing (Amazon, Heroku, etc) ● CMS (Wordpress, etc) FTP ● FileZilla ● Cyberduck
  • 15. Tools - Revision Control Concepts: Tools: Baseline - An approved revision of a document or source file; Git Branch - A set of files under version control may be branched or forked at a point in time; Checkout - A check-out (or co) is the act of creating a local working copy from the repository; SVN Commit - is the action of writing or merging the changes made in the working copy back to the repository; Merge - A merge or integration is an operation in which two Team sets of changes are applied to a file or set of files; Foundation Repository - The repository is where files' current and historical data are stored, often on a server;
  • 16. Basic Programming Concepts Code (Java): ● Variables: ○ int age = 23; ○ String name = "Marco Polo"; ○ float height = "1.70"; ● Expressions: ○ if (age == 23) (...) ● Cycles: ○ for(int i = 0; i < age; i++){ //Happy birthday} ● Classes: ○ class BetaStartEntrepreneur (...) ● Objects: ○ BetaStartEntrepreneur marco = new BetaStartEntrepreneur()
  • 17. Basic Concepts ● Debug: ○ Find Errors (bugs) in code ● Test: ○ Automated tests (unit tests) to find bugs ○ Users or colleagues test your code to find bugs ● Deploy: ○ Actions that make a software system available to use
  • 18. Not so Basic Concepts Design Patterns MVC ● Model - A database, a file or object state ● View - Output representation of the model ● Controller - Manipulates the model, send commands to the view Others: MVVM, MVP, MVT
  • 19. Why create a web page? ● The perfect business card for your enterprise ● A detailed and permanent ad ● A place that's open 24/7 all year round ● Increased competitiveness ● Better responsiveness ● Increased credibility
  • 20. Landing Pages Launch Rock: http://launchrock.com/ WordPress.com: Blogs and Product presentation Facebook Pages ● It’s the first page the visitors view ● Good source of getting details and contact information from visitors ● Visitors become familiar with your product; more likely they spread the word of your product.
  • 21. Web Apps - Frontend Languages and frameworks: ● HTML ● Javascript, JQuery ● CSS ● AJAX
  • 22. Web Apps - Backend & APIs Languages and frameworks: ● Ruby on Rails ● Django (Python) ● Java ● ASP.Net ● PHP Languages: ● JSON ● XML
  • 23. Mobile Apps Why not? ● Increased number of mobile devices ● Create Mobile Websites ● Be closer to the end user ● Earn money with mobile paid apps ● Promotions, coupons and other related ● Location based Services ● Mobile campaigns and ads ● People spend more time with tablets and smartphones than PC
  • 24. Mobile Apps Why not! ● Mobile apps need to add new value for the users ● Can be expensive: "you need to be the first, the best or have the most money"
  • 25. Mobile Apps - Non Native Frameworks: Phone Gap - http://phonegap.com/ ● HTML, CSS, Javascript ● Free Monotouch - http://xamarin.com/monotouch ● C# ● Paid Titanium - http://www.appcelerator.com/ ● JavaScript-based SDK ● Free and paid
  • 26. Mobile Apps - Native iOS - Apple iPhone, iPad ● IDE: XCode ● Needs to have a Mac ● Programming Language: Objective-C Android - Google ● IDE: Eclipse ● Programming Language: Java Others - Windows Phone, RIM (Java), Symbian
  • 27. Advanced Stuff Gamification ● Increase User Engagement ● User feedback ● User Onboarding ● Create Fun ● Improve Business Objectives ● Examples ○ FourSquare ○ StackOverflow ○ Fitocracy ○ LinkedIn
  • 28. Advanced Stuff ● Machine Learning ● Analysis ● Business Intelligence
  • 29. Where to go next W3Schools Codeacademy Code School Google Koding Coursera Stack Overflow Find a Tech partner
  • 30. References ~ http://www.w3schools.com/ ~ http://en.wikipedia.org/wiki/Model–view–controller ~ http://en.wikipedia.org/wiki/Software_deployment ~ http://en.wikipedia.org/wiki/Revision_control ~ http://en.wikipedia.org/wiki/Computer_programming#History ~ http://en.wikipedia.org/wiki/History_of_programming_languages ~ http://www.webself.net/why-create-a-website.ws ~ http://www.inc.com/ss/6-reasons-why-you-need-a-mobile-strategy#0 ~ http://lifebyexperimentation.com/2011/06/why-you-should-not-have-a-mobile-app/ ~ http://www.codecademy.com/ ~ http://www.codeschool.com/ ~ http://code.google.com/intl/pt-PT/edu/languages/google-python-class/ ~ https://koding.com/ ~ https://www.coursera.org/course/programming1 ~ https://www.coursera.org/course/interactivepython ~ http://stackoverflow.com/ ~ http://www.entrepreneur.com/article/220416 ~ http://phonegap.com/ ~ http://xamarin.com/monotouch ~ http://www.entrepreneur.com/article/220416
  • 31. Thanks To Beta-Start (Super - Mega - Faster Accelerator) Miguel Campião (iOS Champion) Reviewer Luis Reis (Tech Superstar) Reviewer Hugo Bernardo (Entrepreneur - Easy Vino) Reviewer All Beta-Starters