Module 4 Learning Goals

Professional Skills

Agile Processes

Mastery

  • Students use an agile process to turn acceptance requirements into deployed software
  • Students translate acceptance requirements into user stories that are ready for work
  • Students verify acceptance requirements using automated testing

Functional

  • Students estimate complexity of user stories

Technical Communication

Mastery

  • Students formulate questions by synthesizing what was expected vs what was observed
  • Students explain intent and execution of their code

Functional

  • Students document intent and usage of their code for effective collaboration
  • Students use pull requests to organize discussion about features
  • Students implement feedback from a code review to improve quality

Familiarity

  • Students provide feedback in the form of a code review to improve quality and share knowledge

Core Technical Skills

Architecting for Scalability

Functional

  • Students divide applications into components and domains of responsibilities to facilitate multi-developer teams
  • Students integrate outside data sources (Files, APIs, databases)
  • Students coordinate data and events across applications
  • Students build applications that execute in development, test, CI and production environments
  • Students securely apply authentication and authorization patterns

Familiarity

  • Students apply cacheing patterns to improve application performance
  • Students abstract external dependencies and services to provide flexibility

JavaScript Essentials

Mastery

  • Students apply knowledge of Ruby collections to JavaScript arrays (mastery)
  • Students create and use functions with parameters (mastery)
  • Students apply good development patterns, like DRY and separation of concerns, to JavaScript functions (mastery)
  • Students differentiate between JavaScript written in ES5 and ES6 (mastery)

Functional

  • Students organize functions into classes and objects
  • Students unit test JavaScript
  • Students make effective use of this in multiple contexts

Familiarity

  • Students translate between JavaScript written in ES5 and ES6

JavaScript in the Browser

Functional

  • Students use event listeners to attach code to event-element combinations including document-ready and element-click
  • Students write precise CSS-style selectors in multiple contexts like DOM manipulation and integration testing
  • Students read form content and manipulate DOM via JavaScript
  • Students integrate outside data sources in the browser (Fetch, local storage)
  • Students use integration testing to verify JavaScript functionality

JavaScript Tools and Libraries

Functional

  • Students implement a stand-alone web service with Node and Express
  • Students use the Node Package Manager to manage dependencies
  • Students use WebPack as a build tool for organizing their code into modules

PostgreSQL & SQL

Functional

  • Students write basic SQL statements without the assistance of an ORM

Familiarity

  • Students use the CLI to understand the structure and data of their database (ex: list databases, tables, table structure)