Curriculum
Here is a list of topics of subjects we think are important to try and hit for the continued education as well as employability of our students. When weβre doing sprint brainstormings and plannings, or any changes to the course itself, we should keep these goals in mind and push for things that accomplish them. Skills we want our learners to achieve:
Soft skills
Teamwork
Task management
Task specification
Feature specification as a stretch goal
Project management negotiation
Proactive communication (speaking their mind/don't be afraid to ask)
Self-learning (Career descriptors & expectations as a stretch goal)
Hard skills (frontend/backend)
React
Client/server comms
Reusable components
Dataflow
Complex data manipulation (useReducer, redux)
Storage options on client
Session
Cookies
indexedDB
axios/fetch
Node.js / express
REST APIs
Mentioning different js runtimes
SQLite NoSQL
Web frontend
Implementing common and consistent design
Important UI/UX concepts
Responsive Design
Testing
Manual
Automated (Unit + UI)
Tooling
Vscode extensions
Package managers/registries (how to deal with unforeseen circumstances?)
Git merging
Debugging
Clean code
DRY
Naming & conventions (code, docs)
Documentation (README.md, Changelogs)
The final product that we want to produce:
A project with a frontend communicating with a backend connected to a data store, transmitting data back and forth and modifying data on the backend
The project represents an understanding of testing, debugging and clean code principles
One meaningful visual test and one meaningful behavior/unit test set
One meaningful complexity level apart from a plain backend/frontend communication (ex.: maps, complex auth, 3rd party API integration, realtime comms)
Log of tickets/cards/milestones in the project
Last updated