Skip to content

Latest commit

 

History

History
78 lines (60 loc) · 3.26 KB

readme.md

File metadata and controls

78 lines (60 loc) · 3.26 KB

Intermediate Front-End

Use best-practices and libraries to write, share, and deploy high-quality code.

Scope, Context, and Closures

Scope

  • Define 'scope' in the context of programming
  • Describe the rules of scope in Javascript
  • Describe the impact of hoisting on variable scope

Context

  • 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

Closures

  • 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

Events and Callbacks

  • 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

Intermediate Git

  • 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 (?)

CSS 2

  • 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 and inline-block is text-align:center, block is margin: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

Jquery

  • 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

User Stories/MVP/Agile Software Development

  • 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)