SlideShare una empresa de Scribd logo
1 de 35
What is this WebDev thing?
PART 1: Front-end and Development basics
Our part 1 will bring you this :
Week 1 is focused on approaching programming problems and the basic
toolkit - Javascript.
Week 2 will introduce you to the browser environment and you will begin
learning how to integrate your JS programs into an interactive web page.
Week 3 introduces the principles of application design and expands your
knowledge of interactive web pages to suit.
Week 4 ties it all together with a legit, documented front-end application.
1
INDEX
1) Some expectations
2) What’s programming?
3) What’s an algorithm?
4) What’s a programming language?
5) What’s web development?
6) What languages and programs will we use?
Some expectations
Learn to be Uncomfortable
You are never going to stop feeling lost!
Learn to enjoy it
0
If you’re not confused, you’re not learning.
Don’t try getting everything perfect at first
Concepts are not going to get easier,
but you are going to get smarter
Learn to be Patient
0
Stay positive and never give up!!!
Any problem is easy because you can solve it
Learn to be Positive
0
Work hard
We work very hard to teach you,
But you need to work harder to learn!
In average you should work 60h+ per week to succeed in this bootcamp
Expect to work overtime and weekends
0
Communication with your teachers :
Think before you ask, but ask often
Except for the first week, whenever you have a question you should:
1) Make sure you have a very clear questions
a) What is that you don’t understand.
b) What seems to be the problem.
c) What was you approach to solve it.
2) Don't wait too long, ask lots of questions
a) Ask lots of hows
b) Ask for resources
c) Ask questions even if out of topic - but not during the lecture :)
0
Make sure you get what you need out of us
and your classmates!
0
Take responsibility for your own learning
Always be present with your mind and body in
the academy
Each week we will schedule at least 1 private meeting with us,
during which we will review your progress and make sure to cover important points
that you might be missing.
One lecture missed can considerably delay your progress!!!
0
What is programming ?
Key word is automation.
1
Programing is creating digitals tools to do your
work for you
You have to understand the problem you’re trying to automate, the
stepsyou want automated, and the tools you’re using.
BUT you don’t need to be able to do it yourself!
1
Why is it so great ?
Every technology you learn to use in this course is an automating solution to
some common problem developers face.
Written by developers for developers.
This is ‘open source’.
We’ll be talking about this all 3 months.
1
Automated tools
What is an algorithm?
An algorithm is a series of precisely executable
steps to reach a solution for either specific or
general types of tasks.
That’s all. Some are fancy some aren’t.
2
What is an algorithm
If you write a general solution in plain English and it is well done,
you can almost line-by-line convert it into JS and it will work.
If you are working with heuristics this won’t be possible.
To practice this concept, in week 1 we’ll be focusing on this process:
english sentences -> english pseudocode -> JS pseudocode -> JS
2
Algorithm vs heuristic : precise vs imprecise steps
BUT If you write a heuristic in plain English and it is well done,
you can almost line-by-line convert it into JS and it will
work.
Heuristic is like an algorithm, but with suggestions instead of concrete steps.
They are designed to make the best decision in uncertain situations.
An algorithm will find the right answer, a heuristic will tell you how to.
2
Algorithm vs heuristic
To practice this concept in week 1 we’ll be focusing on this process:
english sentences -> english pseudocode -> JS pseudocode -> JS
But that is tomorrow’s lecture topic
2
Algorithm vs heuristic
What is a programming
language ?
Programming languages are tools for humans to control
processes without caring how they work - an abstraction.
3
What is a programming language ?
Programs are (to varying degrees of success) designed to
support human-style reasoning of algorithmic solutions.
3
What is a programming language ?
They are several layers of abstraction above processors,
but we don’t care.
Compilers and runtimes translate our human thoughts into
computer tasks
3
What is a programming language ?
WARNING!
Learning to program is NOT like learning another language.
When learning another language, you already have the types of thoughts,
competencies, and experiences that all natural languages are meant to express.
(i know, sapir-whorf. This is that to the n’th)
http://jamesclear.com/feynman-mental-models
3
What is a programming language ?
What is web development ?
Web development is programming applications
that run over the internet.
4
Applications? Chunks of software that lie between data and users.
And programming is automation.
So ...
4
What is web development ?
web development is automating users’ interaction with data over the internet.
QED
4
What is web development ?
Languages and tools we will use
5
We will only be using one programming language
We’ll be using many many different programming tools. These tools are all programs other people wrote
so you don’t have to. They address one particular task in one particular conte.
Back to definitions, they are pre-built programs that fit together via API’s to save you the time of having
to write it all yourself
But we’ll be learning a lot more about how this process works, so don’t sweat it today
5
Languages and tools we will use
TAKE AWAY: languages, modules, design patterns, … are all programs other humans wrote. There
is no reason asking why they are the way they are, there is no way to deduce how a function works
(besides perhaps months of scientific method), just read the documentation.
Everything you’ll be using is a tool someone else wrote - for the rest of your dev career. Tools
generally work best when used as intended, so always ask the inventor.
To this end we will have a strong focus on reading and writing legible code as well as documenting
your own
5
Languages and tools we will use
The rest of today will be
individual meetings.
Be sure to follow today’s installation instructions
so you’re ready to go tomorrow!
And take a look at the week’s project.
Contact me : evan@elium.academy (or on slack)

Más contenido relacionado

La actualidad más candente

Developing Better Software
Developing Better SoftwareDeveloping Better Software
Developing Better SoftwareHean Hong Leong
 
PyGotham opening the magic box
PyGotham  opening the magic boxPyGotham  opening the magic box
PyGotham opening the magic boxMeg Ray
 
Unlocking your team's potential with pair programming (workshop)
Unlocking your team's potential with pair programming (workshop)Unlocking your team's potential with pair programming (workshop)
Unlocking your team's potential with pair programming (workshop)Mattia Battiston
 
Tips for Learning Programming
Tips for Learning ProgrammingTips for Learning Programming
Tips for Learning ProgrammingHaim Michael
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015Ikuru Kanuma
 
Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Julien Fiegehenn
 
Never show a design you haven't tested
Never show a design you haven't testedNever show a design you haven't tested
Never show a design you haven't testedIda Aalen
 
How to choose a programming language 2.20.18 sd
How to choose a programming language   2.20.18 sdHow to choose a programming language   2.20.18 sd
How to choose a programming language 2.20.18 sdJordan Zurowski
 
Test driven development - why you should test first?
Test driven development - why you should test first?Test driven development - why you should test first?
Test driven development - why you should test first?Abimbola Idowu
 

La actualidad más candente (19)

Developing Better Software
Developing Better SoftwareDeveloping Better Software
Developing Better Software
 
Info session
Info sessionInfo session
Info session
 
Codesters
CodestersCodesters
Codesters
 
Hello to code
Hello to codeHello to code
Hello to code
 
PyGotham opening the magic box
PyGotham  opening the magic boxPyGotham  opening the magic box
PyGotham opening the magic box
 
Unlocking your team's potential with pair programming (workshop)
Unlocking your team's potential with pair programming (workshop)Unlocking your team's potential with pair programming (workshop)
Unlocking your team's potential with pair programming (workshop)
 
Christopher Hunter CV
Christopher Hunter CVChristopher Hunter CV
Christopher Hunter CV
 
Tips for Learning Programming
Tips for Learning ProgrammingTips for Learning Programming
Tips for Learning Programming
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Report1
Report1Report1
Report1
 
Thinking like a Programmer
Thinking like a ProgrammerThinking like a Programmer
Thinking like a Programmer
 
Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017
 
Never show a design you haven't tested
Never show a design you haven't testedNever show a design you haven't tested
Never show a design you haven't tested
 
Programming Process
Programming ProcessProgramming Process
Programming Process
 
General Tips
General TipsGeneral Tips
General Tips
 
How to choose a programming language 2.20.18 sd
How to choose a programming language   2.20.18 sdHow to choose a programming language   2.20.18 sd
How to choose a programming language 2.20.18 sd
 
Test driven development - why you should test first?
Test driven development - why you should test first?Test driven development - why you should test first?
Test driven development - why you should test first?
 
Chapter 4 presentation
Chapter 4 presentationChapter 4 presentation
Chapter 4 presentation
 

Similar a Webdev and programming

Advanced java script essentials v1
Advanced java script essentials v1Advanced java script essentials v1
Advanced java script essentials v1ASHUTOSHPATKAR1
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonTharindu Weerasinghe
 
Boost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaBoost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaStack Learner
 
The Ring programming language version 1.9 book - Part 97 of 210
The Ring programming language version 1.9 book - Part 97 of 210The Ring programming language version 1.9 book - Part 97 of 210
The Ring programming language version 1.9 book - Part 97 of 210Mahmoud Samir Fayed
 
Upwork time log and difficulty 20160523
Upwork time log and difficulty 20160523Upwork time log and difficulty 20160523
Upwork time log and difficulty 20160523Sharon Liu
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Raja Hamid
 
M256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with JavaM256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with JavaYaseen
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designsdavis6b
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbookGabriel Paunescu 🤖
 
Programming Fundamentals using C++
Programming Fundamentals using C++Programming Fundamentals using C++
Programming Fundamentals using C++ALI RAZA
 
Microsoft + Agile
Microsoft + AgileMicrosoft + Agile
Microsoft + AgileAndrea Tino
 
E4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfE4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfAnna Gandrabura
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++Michael Heron
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCupbryanbibat
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersManjunath.R -
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community SupportWilliam Grosso
 
The Ring programming language version 1.2 book - Part 77 of 84
The Ring programming language version 1.2 book - Part 77 of 84The Ring programming language version 1.2 book - Part 77 of 84
The Ring programming language version 1.2 book - Part 77 of 84Mahmoud Samir Fayed
 

Similar a Webdev and programming (20)

Best pratice
Best praticeBest pratice
Best pratice
 
Advanced java script essentials v1
Advanced java script essentials v1Advanced java script essentials v1
Advanced java script essentials v1
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
 
Boost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaBoost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In Bangla
 
The Ring programming language version 1.9 book - Part 97 of 210
The Ring programming language version 1.9 book - Part 97 of 210The Ring programming language version 1.9 book - Part 97 of 210
The Ring programming language version 1.9 book - Part 97 of 210
 
Upwork time log and difficulty 20160523
Upwork time log and difficulty 20160523Upwork time log and difficulty 20160523
Upwork time log and difficulty 20160523
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototyping
 
M256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with JavaM256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with Java
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction design
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
Programming Fundamentals using C++
Programming Fundamentals using C++Programming Fundamentals using C++
Programming Fundamentals using C++
 
Microsoft + Agile
Microsoft + AgileMicrosoft + Agile
Microsoft + Agile
 
E4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfE4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdf
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
The Ring programming language version 1.2 book - Part 77 of 84
The Ring programming language version 1.2 book - Part 77 of 84The Ring programming language version 1.2 book - Part 77 of 84
The Ring programming language version 1.2 book - Part 77 of 84
 

Último

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Webdev and programming

  • 1. What is this WebDev thing?
  • 2. PART 1: Front-end and Development basics Our part 1 will bring you this : Week 1 is focused on approaching programming problems and the basic toolkit - Javascript. Week 2 will introduce you to the browser environment and you will begin learning how to integrate your JS programs into an interactive web page. Week 3 introduces the principles of application design and expands your knowledge of interactive web pages to suit. Week 4 ties it all together with a legit, documented front-end application. 1
  • 3. INDEX 1) Some expectations 2) What’s programming? 3) What’s an algorithm? 4) What’s a programming language? 5) What’s web development? 6) What languages and programs will we use?
  • 5. Learn to be Uncomfortable You are never going to stop feeling lost! Learn to enjoy it 0 If you’re not confused, you’re not learning.
  • 6. Don’t try getting everything perfect at first Concepts are not going to get easier, but you are going to get smarter Learn to be Patient 0
  • 7. Stay positive and never give up!!! Any problem is easy because you can solve it Learn to be Positive 0
  • 8. Work hard We work very hard to teach you, But you need to work harder to learn! In average you should work 60h+ per week to succeed in this bootcamp Expect to work overtime and weekends 0
  • 9. Communication with your teachers : Think before you ask, but ask often Except for the first week, whenever you have a question you should: 1) Make sure you have a very clear questions a) What is that you don’t understand. b) What seems to be the problem. c) What was you approach to solve it. 2) Don't wait too long, ask lots of questions a) Ask lots of hows b) Ask for resources c) Ask questions even if out of topic - but not during the lecture :) 0
  • 10. Make sure you get what you need out of us and your classmates! 0 Take responsibility for your own learning
  • 11. Always be present with your mind and body in the academy Each week we will schedule at least 1 private meeting with us, during which we will review your progress and make sure to cover important points that you might be missing. One lecture missed can considerably delay your progress!!! 0
  • 13. Key word is automation. 1 Programing is creating digitals tools to do your work for you
  • 14. You have to understand the problem you’re trying to automate, the stepsyou want automated, and the tools you’re using. BUT you don’t need to be able to do it yourself! 1 Why is it so great ?
  • 15. Every technology you learn to use in this course is an automating solution to some common problem developers face. Written by developers for developers. This is ‘open source’. We’ll be talking about this all 3 months. 1 Automated tools
  • 16. What is an algorithm?
  • 17. An algorithm is a series of precisely executable steps to reach a solution for either specific or general types of tasks. That’s all. Some are fancy some aren’t. 2 What is an algorithm
  • 18. If you write a general solution in plain English and it is well done, you can almost line-by-line convert it into JS and it will work. If you are working with heuristics this won’t be possible. To practice this concept, in week 1 we’ll be focusing on this process: english sentences -> english pseudocode -> JS pseudocode -> JS 2 Algorithm vs heuristic : precise vs imprecise steps
  • 19. BUT If you write a heuristic in plain English and it is well done, you can almost line-by-line convert it into JS and it will work. Heuristic is like an algorithm, but with suggestions instead of concrete steps. They are designed to make the best decision in uncertain situations. An algorithm will find the right answer, a heuristic will tell you how to. 2 Algorithm vs heuristic
  • 20. To practice this concept in week 1 we’ll be focusing on this process: english sentences -> english pseudocode -> JS pseudocode -> JS But that is tomorrow’s lecture topic 2 Algorithm vs heuristic
  • 21. What is a programming language ?
  • 22. Programming languages are tools for humans to control processes without caring how they work - an abstraction. 3 What is a programming language ?
  • 23. Programs are (to varying degrees of success) designed to support human-style reasoning of algorithmic solutions. 3 What is a programming language ?
  • 24. They are several layers of abstraction above processors, but we don’t care. Compilers and runtimes translate our human thoughts into computer tasks 3 What is a programming language ?
  • 25. WARNING! Learning to program is NOT like learning another language. When learning another language, you already have the types of thoughts, competencies, and experiences that all natural languages are meant to express. (i know, sapir-whorf. This is that to the n’th) http://jamesclear.com/feynman-mental-models 3 What is a programming language ?
  • 26. What is web development ?
  • 27. Web development is programming applications that run over the internet. 4
  • 28. Applications? Chunks of software that lie between data and users. And programming is automation. So ... 4 What is web development ?
  • 29. web development is automating users’ interaction with data over the internet. QED 4 What is web development ?
  • 30. Languages and tools we will use
  • 31. 5 We will only be using one programming language
  • 32. We’ll be using many many different programming tools. These tools are all programs other people wrote so you don’t have to. They address one particular task in one particular conte. Back to definitions, they are pre-built programs that fit together via API’s to save you the time of having to write it all yourself But we’ll be learning a lot more about how this process works, so don’t sweat it today 5 Languages and tools we will use
  • 33. TAKE AWAY: languages, modules, design patterns, … are all programs other humans wrote. There is no reason asking why they are the way they are, there is no way to deduce how a function works (besides perhaps months of scientific method), just read the documentation. Everything you’ll be using is a tool someone else wrote - for the rest of your dev career. Tools generally work best when used as intended, so always ask the inventor. To this end we will have a strong focus on reading and writing legible code as well as documenting your own 5 Languages and tools we will use
  • 34. The rest of today will be individual meetings. Be sure to follow today’s installation instructions so you’re ready to go tomorrow! And take a look at the week’s project.
  • 35. Contact me : evan@elium.academy (or on slack)