際際滷

際際滷Share a Scribd company logo
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

 Its 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/Modelviewcontroller
~ 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
Ad

Recommended

PDF
Begining Android Development
Hayi Nukman
PDF
Build a real app with react native
John Pham
PDF
Counterclockwise past present future
lolopetit
PDF
Resume
PeterTao7
PDF
How to approach building GUIs using PyQT
Jerlyn Manohar
PDF
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
PPTX
Talk v71
USI
PPTX
Systems Concepts for Agile Practitioners
Roger Brown
PDF
Google Cloud Platform Update
Ido Green
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
wesley chun
PDF
Introduction to serverless computing on Google Cloud
wesley chun
PDF
Rohit Yadav - Modern UI for CloudStack
ShapeBlue
PDF
Rapid app building with loopback framework
Thomas Papaspiros
PDF
Google's serverless journey: past to present
wesley chun
PDF
Serverless computing with Google Cloud
wesley chun
PDF
Run your code serverlessly on Google's open cloud
wesley chun
PDF
Multi-Agent Era will Define the Future of Software
Ivo Andreev
PDF
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
PDF
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
PDF
Google App Engine Overview and Update
Chris Schalk
PDF
Exploring Google APIs with Python
wesley chun
PPTX
Dominion over domains
SadhanaParameswaran
PDF
Griffon for the Enterprise
James Williams
PDF
Web App Prototypes with Google App Engine
Vlad Filippov
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
PDF
Google Platform Overview (April 2014)
Ido Green
PDF
Use open source software to develop ideas at work
Sammy Fung
PDF
Django on app engine
benpotato
PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
PPTX
How to Manage Wins & Losses in Odoo 18 CRM
Celine George

More Related Content

Similar to Programming for non tech entrepreneurs (20)

PDF
Google Cloud Platform Update
Ido Green
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
wesley chun
PDF
Introduction to serverless computing on Google Cloud
wesley chun
PDF
Rohit Yadav - Modern UI for CloudStack
ShapeBlue
PDF
Rapid app building with loopback framework
Thomas Papaspiros
PDF
Google's serverless journey: past to present
wesley chun
PDF
Serverless computing with Google Cloud
wesley chun
PDF
Run your code serverlessly on Google's open cloud
wesley chun
PDF
Multi-Agent Era will Define the Future of Software
Ivo Andreev
PDF
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
PDF
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
PDF
Google App Engine Overview and Update
Chris Schalk
PDF
Exploring Google APIs with Python
wesley chun
PPTX
Dominion over domains
SadhanaParameswaran
PDF
Griffon for the Enterprise
James Williams
PDF
Web App Prototypes with Google App Engine
Vlad Filippov
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
PDF
Google Platform Overview (April 2014)
Ido Green
PDF
Use open source software to develop ideas at work
Sammy Fung
PDF
Django on app engine
benpotato
Google Cloud Platform Update
Ido Green
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
wesley chun
Introduction to serverless computing on Google Cloud
wesley chun
Rohit Yadav - Modern UI for CloudStack
ShapeBlue
Rapid app building with loopback framework
Thomas Papaspiros
Google's serverless journey: past to present
wesley chun
Serverless computing with Google Cloud
wesley chun
Run your code serverlessly on Google's open cloud
wesley chun
Multi-Agent Era will Define the Future of Software
Ivo Andreev
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
Google App Engine Overview and Update
Chris Schalk
Exploring Google APIs with Python
wesley chun
Dominion over domains
SadhanaParameswaran
Griffon for the Enterprise
James Williams
Web App Prototypes with Google App Engine
Vlad Filippov
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
Google Platform Overview (April 2014)
Ido Green
Use open source software to develop ideas at work
Sammy Fung
Django on app engine
benpotato

Recently uploaded (20)

PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
PPTX
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
PPTX
How to Setup Automatic Reordering Rule in Odoo 18 Inventory
Celine George
PDF
COM and NET Component Services 1st Edition Juval L旦wy
kboqcyuw976
PDF
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
PPT
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
PDF
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
PPTX
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
PPTX
Comparing Translational and Rotational Motion.pptx
AngeliqueTolentinoDe
PDF
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
PPTX
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
PDF
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
PDF
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
PPTX
Peer Teaching Observations During School Internship
AjayaMohanty7
PPTX
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
PDF
Learning Styles Inventory for Senior High School Students
Thelma Villaflores
PPTX
ENGLISH -PPT- Week1 Quarter1 -day-1.pptx
garcialhavz
DOCX
ANNOTATION on objective 10 on pmes 2022-2025
joviejanesegundo1
PDF
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
PDF
Supply Chain Security A Comprehensive Approach 1st Edition Arthur G. Arway
rxgnika452
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
How to Setup Automatic Reordering Rule in Odoo 18 Inventory
Celine George
COM and NET Component Services 1st Edition Juval L旦wy
kboqcyuw976
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
Comparing Translational and Rotational Motion.pptx
AngeliqueTolentinoDe
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
Peer Teaching Observations During School Internship
AjayaMohanty7
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
Learning Styles Inventory for Senior High School Students
Thelma Villaflores
ENGLISH -PPT- Week1 Quarter1 -day-1.pptx
garcialhavz
ANNOTATION on objective 10 on pmes 2022-2025
joviejanesegundo1
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
Supply Chain Security A Comprehensive Approach 1st Edition Arthur G. Arway
rxgnika452
Ad

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 Its 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/Modelviewcontroller ~ 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