Module 4 Learning Goals
Skill Proficiencies
Academic success in B4 means that students demonstrate proficiency and comfort with the concepts below. The expected mastery level can be understood with the following scale:
- Mastery: Student is able to explain and implement the concept independently or with light reference
- Functional: Student recognizes when to use the concept and can implement it with the support of documentation and/or a collaborator
- Familiarity: Student can recognize and describe the concept when needed/appropriate, but is not able to implement the technology/technique
Mastery
Project Planning
- Create detailed user stories from project acceptance requirements
- Track project progress using an Agile board
Technical Communication
- Document intent, set-up, and usage of their code for effective collaboration
- Use pull requests to organize and effectively communicate updates and changes to code base
- Explain intent and execution of code
JavaScript Fundamentals
- Apply good development patterns (DRY, SRP, etc.) to JavaScript functions
- Create and use functions with parameters
- Apply and articulate differences between a function expression and a function declaration
- Describe different variable declarations and scoping
GraphQL
- Explain GraphQL and REST API standards
Functional
Technical Communication
- Formulate questions by synthesizing what was expected versus what was observed
- Apply feedback from a code review to improve quality
JavaScript
- Write unit tests for JavaScript
- Organize functions into classes and objects
JavaScript Tools & Libraries
- Implement a stand-alone web service with Node and Express
- Use the Node Package Manager to manage dependencies
GraphQL
- Implement a Node and GraphQL API server
Technical Skills
- Coordinate data and events across applications
- Build applications that execute in multiple environments (development, test, continuous integration, and production)
Familiarity
JavaScript Fundamentals
- Translate between JavaScript written in ES5 and ES6
JavaScript in the Browser
- Read form content and manipulate DOM via JavaScript
- Integrate outside data sources in the browser (Fetch)
- Utilize event listeners to attach code to even-element combinations including document-ready and element-click