Use best-practices and libraries to write, share, and deploy high-quality code.
- Define 'scope' in the context of programming
- Describe the rules of scope in Javascript
- Describe the impact of hoisting on variable scope
- Explain Javascript 'context' and what the value of the 'this' keyword refers to
- Explain what the default context of Javascript executing in the browser is.
- Use the 'this' keyword to set and retrieve a property in a Javascript function
- Use bind to create a new method bound to an object context
- Use apply/call to execute a method in a different context
- Define what a closure is
- Explain why closures are used
- Explain why and from what we are trying to protect data
- Write a function that uses a closure to control access to data
- Explain the concept of a 'callback' and how we can pass functions as arguments to other functions
- Describe the difference between asynchronous and synchronous program execution
- Explain why callbacks are important to asynchronous program flow
- Identify when to reference a function and when to invoke a function
- Describe what an anonymous function is and when you would use one
- Explain JS context and what the value of the
this
keyword refers to - Explain what the default context of JS in the browser is
- Pass a named function as a callback to another function
- Pass an anonymous function as a callback to another function
- Explain what a branch is in git
- Create, merge and delete branches on local and remote repositories
- Deploy a project to Github Pages
- Describe how branching and merging allows for collaboration during development
- Describe the "git flow" model of collaborative development (?)
- Label elements on a webpage as being blocks, inline, or inline-blocks
- List use cases for using relative, static, absolute, and fixed positioning, and floats
- Contrast the ways in which inline, inline-block, and block elements can be centered horizontally
inline
andinline-block
istext-align:center
,block
ismargin:0 auto
- Describe a use case for the
:before
and:after
selectors - Select any element without relying on classes and IDs
:nth-child(1)
,:nth-of-type(odd)
,input:checked + label
,section:target > element
,input[type=checkbox]
- Embed a font in a website using either a CDN or uploaded fonts
- Define what a "library" is in programming
- Differentiate between jQuery objects and DOM objects
- Explain when to use "vanilla" Javascript vs jQuery.
- Import Javascript libraries.
- Explain what a CDN is.
- Use jQuery functionality to select elements in the DOM as Jquery objects
- Use jQuery to modify the DOM
- Use jQuery to add event listeners
- Utilize jQuery documentation in order to implement jQuery functionality
- Provide a general overview of what "Agile" means and contrast it to Waterfall
- Identify the components of a good user story
- Explain what Trello is, and why we use it.
- Create user stories for existing web applications
- Differentiate MVP from application.
- Generate user stories in order to create proof of concept for MVP(minimum viable product)