Node.js Curriculum Launched!
At Launch Academy, we teach in-demand software engineering skills that provide a sound foundation of knowledge and set our graduates apart during job interviews. A key aspect of our curriculum development process includes input from hiring managers at companies who are seeking to hire engineers for their teams in the next 3-6 months.
Armed with this information, we make significant quarterly updates to ensure our graduates are walking into job interviews with the skills being sought by companies. The result is more confident candidates who have greater success during the job application and interview process.
In addition to serving current students, Launch Academy alumni also receive free access to all our quarterly curriculum updates through our Lifetime Access to Alumni Support, (dating back to our first cohort from 2013!). This ongoing access ensures that our alumni working in the field as software engineers can learn new skills to continue advancing in their careers.
We’re very excited to announce the release of our NodeJS curriculum!
Read on for more information on the new curriculum, including an overview of the stack, a syllabus explaining the specific tools covered, and information on how to sign up as a new student, or access the curriculum updates for free as an alumnus.
The NodeJS curriculum teaches a PERN stack: Postgres, Express, React, and Node.
Students advance to using Express to build servers for their web applications, first using Handlebars for the templating of their webpages, before moving on to learn the React framework! Finally, in the last two weeks of the curriculum, students learn how to interact with their Postgres databases within their Express applications using Knex (for migrations) and Objection (for their ORM). They get comfortable building out API endpoints for their React frontends to access via the Fetch API, and learn to test their websites using Cypress for acceptance testing.
Phase 1: 8-Weeks Part-Time Virtual Flex
Week 1: Using the Command Line, Values, Variables, and User Input/Output Here, we get introduced to different data types, how to use `prompt`, `alert`, and `console.log`, how to store values in variables, and different ways to work with and formulate strings.
Week 2: Flow Control, Looping, and Debugger We learn conditional flow control, do/while loops, how to validate user input, and how to effectively use a debugger.
Week 3: Functions, Looping, and Arrays We introduce arrays as a data structure, how to iterate and different looping methods, and how to declare, define, and invoke functions.
Week 4: Objects We learn about objects as a data structure, combining state and behavior via properties and methods, beginner concepts of object-oriented programming, and how to build multi-file projects in Node.
Week 6: SQL In our first introduction to databases, we learn how to write SQL code to interact with data in a database, and cover how to relate data with joins.
Phase 2: 10-Weeks Full-Time In Person or Online
Week 2: HTTP and Express We build their first web servers using the Express framework! We learn about the HTTP request/response cycle, how to implement an MVC (Model-View-Controller) pattern within our Express applications, and how to set up routing in our apps. We generate dynamic web pages using Handlebars as our templating language, and begin to use Cypress to acceptance test our apps. We also start to look at the Fetch API and how to handle asynchronous code with async/await.
Week 3: Intro to React We dive into the React framework, learning about how to build reusable components and hand props between components, how to handle state with the `useState` hook, and how to conditionally render certain information to the page.
Week 4: Advanced React With a deeper dive into React, we learn how to build forms in React, how to validate user input, how to load data with the `useEffect` hook, and how to implement React Router to set up streamlined navigation around the site without page reloads. We get a brief introduction to interacting with third-party APIs to retrieve and use open source data from the web. Students learn about how to integrate our backend Express JS framework and front-end React framework together using the Fetch API in their React code.
Week 5: Migrations, Models, and Data Validation Perhaps one of the most exciting updates is that students get to work with the Objection ORM, a fast and flexible query builder built over Knex.js. Using Knex for our migrations and Objection as the Object-Relational Mapping for our models, we begin to connect a database to our Express backend. Objection helps us leverage the full power of SQL without the need for SQL statements, allowing us a way to fetch, insert, update and delete objects with Objection models. We validate data in Objection with built-in model-level validation courtesy of `jsonSchema`, set up simple API endpoints for our React frontend to access, and learn how to use Cypress to test our full-stack “monolith” applications.
Week 6: Database Associations and Serializers We review how to build joins in our database tables, and learn about how to set up associations in our Objection models. We also learn how to serialize our data in order to build API endpoints for our React frontend to utilize. Finally, students round out their experience with lessons on sessions, middlewares, user authentication via Passport.js and custom data serialization.
Weeks 7-8: Small Group Projects In small groups of 4-5, students build out a full-stack “monolith” app, while learning about Git workflow and how to work effectively on a software team. Student learn both technical and soft skills during these two weeks and gain valuable experience which will be helpful in job interviews following graduation from the program.
Weeks 9-10: Breakable Toys / Capstone Projects With a focus on portfolio and career prep, students build a from-scratch “monolith” application in the PERN stack!
If you’re a prospective student looking to join us for an upcoming cohort, start your application today!