- First, you need a computer
- You need a fun attitude and some spare time
- You need a great source for learning
- Instal code editor, install helpful packages & plugins
- Learn basics of using a code editor and how to get around
- Build a first basic webpage
- How HTML tags and attributes work
- The main 20 tags HTML
- folder structure and how to navigate between pages
- <style tags,
- Creating CSS rules, how CSS selectors work, changing basic properties
- Get really good at drawing boxes (Layouts) with flexbox and grid
- Start learning the tricks to doing things you don't know how to do ce show an image as a circle, fade colors When you hover
- Using a CSS reset
- Learn to build entire websites from just a design/mockup
- What is a Javascript
- Inserting Inline vs External JS File
- JS plugins VSCode
- Variables: let, const & var
- Data Types
- Math Operators
- Arrays (single and multi dimensional)
- Loops & Conditions (Include looping on arrays)
- Classes and Objects
- OOP: Abstraction
- OOP: Encapsulation
- OOP: Inheritance
- OOP: Polymorphism
- Arrow Functions
- What is a DOM?
- Accessing the DOM
- Select Element by ID
- Select Element by Tag Name
- Select Element by Class Name
- Get and Set Content with textContent and innerHTML
- Change Element Attributes
- Set Inline Styles with the style Property
- Create New DOM Elements
- Insert HTML at Specified Positions
- What is an event?
- Listening for Events
- Introduction to Asynchronous Javascript
- Understanding Synchronous and Asynchronous Code
- Async Programming and Callback Functions
- Implement a Callback
- What is a Promise?
- Create a Promise
- From Callbacks to Promises
- Handle Multiple Promises with Promise.all
- The finally() function
- Using Fetch
- What is Async/Await?
- Convert Promise Handling to Async/Await
- Error Handling with try...catch
- Cloning a repository
- Fetch vs Pull
- What is a branch?
- Branch naming conventions
- Creating New Branch
- Making changes on the code
- Publishing the branch
- What is a pull request?
- Making a pull request
- Approving and merging the code to master branch
- Exploring the repository