Loading...

Course Description

JavaScript can be used on both the front-end and back-end of a web application. The term "JavaScript Back-end" refers to the use of JavaScript as the programming language for server-side development. Developers with expertise in JavaScript can work across the entire stack of a web application without having to switch between different languages. Plus, the JavaScript ecosystem has a vast number of libraries, frameworks, and tools available to make development faster and more convenient.

This class is an introduction to creating server-side web applications in JavaScript. Participants will learn how to create server-side APIs and render websites. This is a blended class with at least 50% of self-directed online theory and 50% of instructor-led coaching.

Course Outline

  1. Introduction to Backend Foundations with JavaScript: Includes Why Backend, Node, Express, setup, Nodemon, Postman, Exploring the Starter App, Using Handlebars to Loop, Loop Through an Array, Loop Through an Array of Objects.
  2. HTTP Request and Response: Includes HTTP      Request Lifecycle, HTTP Verbs, HTTP Verbs with Postman, Request and      Response Objects, Defining Parameters in URL, Checking Against an Array,      Using req.body, Handling Forms, Response Codes, Viewing JSON, Viewing HTML, Viewing XML.
  3. Routing: Models, Views, Controllers, Routing, Basic Routing, add data, req.url(), app.js File Walkthrough.
  4. Using SQL with Express: Includes using a Database, SQLite in Express, setup, Performing Queries, Queries Within Routes, Query Id from Database, Prepared Statements in SQLite, and Using a Form.
  5. Sequelize: Includes Sequelize, Using Sequelize, Models, Migrations, test database, Running Queries, Query Based on ID, Query Based on Operators, Post to the Database, Provide Data to Front-End.
  6. RESTful: Includes RESTful APIs, RESTful Best Practices, Full CRUD with Sequelize and RESTful APIs, walkthrough.
  7. Authorization and Authentication Basics: Includes Authentication vs. Authorization, Differences, User Sign up and Login, Passport, and Authenticate Users.
  8. Advanced Auth: Includes JSON Web Tokens, Using JWT, Logout with JWT, Bcrypt, Using Bcrypt, OAuth, Using Github OAuth.
  9. Front-End Integration: Includes working with a React Application, and working with an Angular Application.
  10. Final Project: Using JavaScript and Node, create a full Back-End application that has two tables, users, and posts. Create a sign-in form that allows users to create, edit, and delete. Users should be able to view their profile page, while admins should be able to see a list of all users. Admins should be able to delete users and their posts, but not edit them. 

Learner Outcomes

In this class, you will:
  • Learn the basics of the request/response cycle
  • Learn how to render HTML in response to a request
  • Learn how to render JSON or XML in response to a request
  • Understand how to build a REST endpoint
  • Learn how to interface with a database system from a web application

Notes

Target Audience:

The target population for learning JavaScript back-end typically includes individuals who want to become web developers or enhance their existing web development skills. While JavaScript is more commonly associated with front-end development due to its extensive use in web browsers, it has also gained popularity as a back-end language, thanks to frameworks like Node.js. Businesses are adopting JavaScript for their back-end infrastructure due to its speed, scalability, and the ability to have a unified codebase with the front-end. The main groups within the target population for learning JavaScript back-end include:

Front-end developers: Those who are already familiar with JavaScript for front-end development and want to extend their skills to work on server-side logic, databases, and back-end architecture.

Aspiring full-stack developers: Individuals who want to work on both front-end and back-end development to build complete web applications.

Web developers with experience in other back-end languages: Developers experienced in languages like Python, Ruby, PHP, or Java may be interested in learning JavaScript for back-end development to diversify their skill set or work on specific projects.

Entrepreneurs and tech enthusiasts: People looking to build their own web-based projects, startups, or personal websites and who prefer using JavaScript for both front-end and back-end development due to its consistency and ability to share code between the two ends.

 

Occupational Outlook:

According to the Department of Labor, employment of web developers is projected to grow 13 percent from 2018 to 2028, much faster than the average for all occupations. 

JavaScript is a versatile and widely-used programming language, primarily used for front-end web development. Its applications have expanded over the years, and it is now utilized for back-end development (Node.js), mobile app development (React Native), and even desktop applications (Electron).

Here are some key points contributing to the positive outlook for JavaScript developers:

High demand: With the rise of web-based applications and the shift towards interactive and responsive user interfaces, the demand for skilled JavaScript developers has been consistently high.

Web development growth: The proliferation of websites and web applications across various industries has further increased the need for JavaScript expertise.

Cross-platform development: JavaScript frameworks like React Native and Electron have made it possible to build mobile and desktop applications, increasing the demand for JavaScript developers in these domains.

Salary potential: JavaScript developers often receive competitive salaries due to their crucial role in modern software development.

Continuous development: The JavaScript ecosystem is dynamic, and new libraries, frameworks, and tools are constantly being introduced, providing developers with opportunities to learn and grow in their careers.

Remote work opportunities: The nature of web development allows for remote work possibilities, which can be attractive to both developers and employers.
Entrepreneurship and startups: JavaScript's versatility has contributed to its popularity among entrepreneurs and startups who require cost-effective and flexible solutions.

 

Central Piedmont Community College Continuing Ed Certificate:

This course is part of the JavaScript Full Stack Developer Certificate. Certificates are awarded with the completion of all required courses (no substitutions).

 

Industry Certification:

Unlike some other fields like cybersecurity or project management, JavaScript certification programs are not as prevalent or standardized. Instead of relying solely on certifications, employers often focus on a candidate's practical skills, experience, and ability to showcase their projects or contributions to open-source initiatives. Building a strong portfolio and demonstrating your expertise through real-world projects is often more valuable in the field of web development and JavaScript.

 

Method of Instruction:

Blended learning with lectures, videos, class discussions, live demonstrations, hands-on exercises, and projects. Outside homework is assigned.


Evaluation:

Participation and completion of all skill lab practices are expected. Class attendance is required for successful completion.

  • Class participation and attendance (50%) 
  • Projects/Competencies/Research  (50%)  
     

Prerequisites

  • PRG-7925 Web Development Fundamentals or equivalent knowledge.
  • PRG-7926 JavaScript Front-End Foundations or equivalent knowledge.
  • Required Resources: Participants are required to have a laptop or desktop computer with dual monitors and internet access.
    • Minimum: PC (Windows) or MacBook laptop. 4GB ram, 256GB HD, Core i5
    • Recommended: PC (Windows) or MacBook laptop. 8GB ram, 256GB SSD, Core i5
    • You must be able to download programming resources to your laptop/desktop for this class.
SEF-PRG7926 JavaScript Front-end Foundations: In this class, students will create a modern and robust web application without leveraging any advanced frameworks; plus strengthen their foundational knowledge of how web applications and client-side coding work while learning modern web development with JavaScript.
Loading...
Please call our Customer Service Center at 704.330.4223 for information on the next available section.
Required fields are indicated by .