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
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
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 ?
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.