Back-End Development with JavaScript
- Format: Instructor-Led
- Duration: 4 Days • 32 Hours
- Instructor: TBD
Overview
Back-end development powers the logic, data, and infrastructure that make modern web applications function. In this course, the learner will develop foundational and intermediate skills in back-end programming using JavaScript, focusing on server-side logic, API design, data persistence, and secure deployment practices. The learner will also explore key aspects of working with frameworks and databases to create scalable, efficient web applications that support front-end interfaces.
Across four units, the course progresses from the fundamentals of server-side JavaScript to database design, API development, and application deployment. Through guided labs and practical projects, learners will build real-world back-end solutions, culminating in a capstone project: a functional, data-driven web service or application. Along the way, learners will practice writing clean, modular code, managing dependencies, and debugging complex systems in a professional development workflow.
By the end of the course, learners will have both the technical foundation and the confidence to design, build, and deploy robust back-end systems aligned with modern software engineering practices.
Outcomes
- Understand how server-side JavaScript operates, including runtime environments and module systems.
- Build and configure back-end servers using modern JavaScript environments.
- Create and document RESTful APIs for structured communication between front-end and back-end applications.
- Implement database models, queries, and persistence layers to manage and retrieve application data.
- Integrate authentication and authorization to protect data and maintain secure user sessions.
- Deploy and monitor server applications to cloud or platform-as-a-service environments.
- Debug, test, and refactor code using industry-standard workflows and version control systems.
- Demonstrate mastery by building and deploying a full-stack capstone project with a functional back-end
Prerequisites
None. This is a beginner level-friendly course with no technical prerequisites. Learners should bring curiosity about how websites are built and a willingness to experiment with visual design and problem-solving. Comfort with basic computer operations—such as organizing files, navigating browsers, and using online tools—will increase speed in learning new concepts.
System Requirements
Technical Requirements: Back-End Development with JavaScript (Online)
Technical requirements - operating system
The following OSs are supported in the Back-End Development with JavaScript course:
- Windows: The most recent public release of Windows 11.
- macOS: The last two major public releases of macOS.
- Ubuntu: The most recent LTS release of Ubuntu.
Technical requirements - hardware
All hardware should meet the minimum requirements to support the software requirements stated above, in addition to the following:
- An Intel or AMD dual-core processor with at least a 2.0Ghz base clock speed or any Apple Silicon chip. Note that dual-core processors have a reduced frame rate when screen sharing on Zoom.
- 8GB of RAM.
- Laptops should have at least a 13” screen size.
- At least 40GB of free hard disk space.
Back-End Development with JavaScript systems and tools
Below are details covering the course systems and accounts you need on Day 1. You’ll receive additional information about the remaining required tools when the course begins. Your instructor may add or remove tools from your course. You will receive a full setup document as part of your course materials.
| System used | Needed on day 1? | How to download/access |
| Canvas | Yes | You will receive access to Canvas after enrollment. |
| Google Chrome | Yes | Download Chrome here. |
| Slack | Yes | Download the Slack app here. |
| Zoom | Yes | Download the Zoom Desktop Client here. |
| LLM | Yes | It is up to you what LLM you choose. Some options you can consider include: - ChatGPT by OpenAI - Claude by Anthropic - Gemini by GoogleYou only need one LLM to be successful in this course. |
| GitHub | Yes | Visit https://github.com/ to sign up for a free account. |
| Visual Studio Code | Yes | Follow the instructions found here to download Visual Studio Code. |
| Node.js (v18 LTS or later) | Yes | Download Node.js |
| PostgreSQL | Yes | Download PostgreSQL |
Module Repos
| # | Module Name | Module Overview | Associated Labs |
|---|---|---|---|
| 1 | Introduction To Back-End Development | Learners are introduced to how servers handle data, manage client requests, and form the backbone of web applications. The focus is on understanding server-side architecture and key back-end roles. | Visualizing Client-Server Communication Diagram a client-server interaction and build a minimal HTTP server that returns a text response. |
| 2 | Setting Up The Development Environment | Learners configure Node.js, npm, and project structure to establish a professional development workflow, including package management and environment configuration. | Setting Up a Node.js Project Environment Initialize a Node.js project, install dependencies, and create a local development environment. |
| 3 | Javascript Foundations For Back-End Engineers | Learners deepen JavaScript fluency by reviewing core syntax, functions, and modern ES6+ features relevant for server-side programming. | Writing Modular JavaScript with ES6 Features Write modular JavaScript code using ES6 import/export and arrow functions. |
| 4 | Introduction To Typescript | Learners explore TypeScript fundamentals to improve code quality, readability, and reliability in back-end projects. | Refactoring JavaScript into TypeScript Refactor a small JavaScript module into TypeScript using interfaces and type annotations. |
| 5 | Node.js Core Modules And Event Loop | Learners analyze how Node.js manages asynchronous operations through its event loop, streams, and core modules. | Handling Asynchronous File Operations in Node.js Implement asynchronous file operations using the Node.js fs and events modules. |
| 6 | Building With express.js | Learners use Express.js to handle routing, middleware, and RESTful APIs that form the foundation of modern web back-ends. | Building and Testing a REST API with Postman Build a REST API with multiple endpoints and test routes using Postman. |
| 7 | Error Handling And Logging | Learners implement structured error handling, logging, and debugging practices to ensure reliable and maintainable back-end applications. | Adding Middleware for Logging and Error Handling Add middleware to log requests and capture server-side errors for an existing Express app. |
| 8 | Database Design And Sql Basics | Learners explore relational database concepts, normalization, and SQL syntax to design scalable data models. | Designing and Querying a PostgreSQL Database Create a database schema and run SQL queries to manipulate records in PostgreSQL. |
| 9 | Connecting Node.js With Postgresql | Learners connect Node.js applications to PostgreSQL databases and interact through ORM tools to persist and retrieve data. | Building a Persistent CRUD App with Express and PostgreSQL Build a database-connected Express app that supports persistent CRUD operations. |
| 10 | Authentication And Authorization | Learners secure applications by implementing authentication, managing sessions, and controlling access with user roles. | Implementing Authentication with Tokens and User Login Add user login and token-based authentication to an existing API. |
| 11 | Security Best Practices In Back-End Development | Learners apply secure coding techniques including input validation, encryption, and environmental variable management. | Securing API Endpoints with Validation and Environment Variables Implement input validation and environmental variable configuration to secure API endpoints. |
| 12 | Testing And Code Quality With Jest | Learners write and execute automated tests using Jest and Supertest to validate back-end functionality and ensure code quality. | Testing and Automating API Workflows with GitHub Actions Write unit and integration tests for existing API routes and automate test execution in GitHub Actions. |
| 13 | Advanced API Patterns: Graphql And grpc | Learners explore modern API communication patterns using GraphQL and gRPC to build scalable, efficient systems. | Extending an API with GraphQL and gRPC Communication Extend an existing API with a GraphQL layer and add gRPC service communication between microservices. |
| 14 | Performance Optimization And Caching | Learners enhance back-end performance through caching strategies, asynchronous optimization, and scalability techniques. | Improving Performance with Redis Caching Implement a caching layer using Redis to reduce response times for API requests. |
| 15 | Deployment And CI/CD For Back-End Systems | Learners deploy Node.js applications using cloud hosting platforms and integrate CI/CD pipelines for continuous delivery. | Deploying an Express API with Continuous Deployment Deploy an Express API to Render and set up GitHub Actions for continuous deployment. |
| 16 | Capstone Project: Full-Stack Back-End Application | Learners integrate all competencies to design, build, and deploy a full-stack application demonstrating mastery in back-end development and best practices. | Developing and Presenting a Full-Stack Task Manager App Develop a complete full-stack “Task Manager” app and present the deployed solution with documentation. |
Instructional Resources
For teaching notes, preparation steps, and facilitation guidance, see:
- Link to instructor guide
- Link to pacing guide
- Link to tech setup guide