-
Build Single Page Applications (SPAs) with Angular
Assessment Strategies
Individual Project, Skill Demonstration in Lab
Criteria
Investigate Single Page Application (SPA) architecture
Differentiate between traditional, server-rendered, web development and SPAs
Characterize nuances of SR (server rendered), CSR (client side rendered), and SSR (server side rendered) and associated vocabulary
Explain the basics of MVVM (model, view, view model) and related MV* (model-view-star) approaches including data binding and virtual document object models (DOMs)
Install and setup NodeJS and Angular command line interface (CLI) tools
Create and run Angular and React projects
Gain intermediate to advanced level experience with npm and its various uses when writing front-end applications
Explore and apply Angular and React architectural concepts such as services, components, dependency injection, routing, react-hooks, state management, and others
Scaffold application components, services using the Angular and npm CLIs
Use various Angular directives and React JSX for simple and complex data binding scenarios
Polish application UI/UX (user interface/experience) with Angular animations
Apply multiple CSS libraries including Angular Material Design and Bootstrap to Angular and React apps
-
Code with Functional Programming (FP) techniques common in front-end web development
Assessment Strategies
Individual Project, Skill Demonstration in Lab
Criteria
Explore and use the power of map(), filter(), and reduce() JS array methods
Distinguish between imperative and declarative programming approaches
Experience never having to write imperative looping code in your front-end applications
Gain awareness of other array methods to simplify your application development tasks
Investigate the basics of reactive, functional programming with RxJS (reactive extensions for JS)
Explain RxJS Observables and their relationship to JS promises for asynchronous programming
Become comfortable switching between JS Promise "thenables" and the newer async/await techniques
-
Demonstrate real world, intermediate/advanced, team software development with Git
Assessment Strategies
Individual Project, Skill Demonstration in Lab
Criteria
Explore DAGs (directed acyclic graphs), the underlying basis of git source control systems
Characterize the benefits of a DVCS (distributed version control system) and how to work with local and shared repositories
Master cloning git repositories from GitHub
Master local git branching strategies and techniques
Practice merging changes with other developers on your team
Resolve merge conflicts
Introduction to GitHub Desktop to manage local git repositories
Use GitHub PRs (pull requests) to get your changes into your team’s repository
Deploy SPAs to your personal GitHub Pages to build a portfolio of your work to share with prospective employers and others