SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 

Dernier (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 

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