British Columbia Institute of

Important Notice: COVID-19 Institute response


COMP 3012 - Back-End Web Development with Node.js

Computer Systems Part-time Studies Course

School of Computing and Academic Studies

BCIT is planning for a substantial return to on-campus activity for the fall 2021 term as informed by BC Public Health Officer guidelines. Refer to each course listing for details.

Course Details

​This hands-on course follows on from COMP 2132 and was designed for students with prior experience developing web pages using HTML5, CSS3 and JavaScript. Students must provide their own current model PC, i5 or higher equivalent processor, 8 GB of RAM minimum, and 256 GB minimum storage. Highspeed internet access is needed for online sections and for homework. Starting with how Node.js fits into client-server software architecture, participants will focus on the Node.js programming model. Labs and exercises cover creating, installing and using node modules. Web frameworks like Express.js and Jest as used to build and test powerful web applications. Students will experience how Node.js is used by enterprise environments and modern web stacks like MEAN and MERN. Topics include: how to build, and deploy a RESTful API following best-practices, and learn error handling strategies. Typescript integration with Node.js as well as how to connect to databases will also be discussed. Please Note: Attendance, participation in class and the BCIT Learning Hub are required. Students may have an average total time commitment of 11 hours each week; with 3 hours of class time, and 8 hours of homework. Web developers should also consider multiple advanced JavaScript tools including: COMP 2909 -Angular and Vue.js Fundamentals or COMP 2913 -React and Modern JavaScript. COMP 3012 is an elective in several BCIT Computing applied associate certificates; Web Development (AWD), Web and Mobile Application Development (WMA), Advanced Java Development (AJD) and Advanced .NET Development; as well as the CST/PTS Diploma. It is also preparation for the follow-on COMP 3916 Docker for DevOps. Upon completion, successful students will be able to use Node.js to build robust, scalable, data intensive web applications with user authentication. This course replaces COMP 2912 as of September 2021.


COMP 2132





Fall 2021

Below is one offering of this course for the Fall 2021 term.

CRN 48301

Tue Sep 21 - Tue Dec 07 12 Weeks

Class Meeting Times

Dates Days Times Locations
Sep 21 - Dec 07 Tue 18:00 - 21:00 Online


Armaan Dhanji

Course Outline




  1. Internet delivery format.
  2. Departmental approval needed
  3. Please email for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. The class meets once per week for 3 hours face to face (virtual classroom). Late registration is not permitted. The start and end date have been changed from September 14 – November 30 to September 21 – December 7.
  4. Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.

This course offering is in progress. Please check back next term, subscribe to receive email updates or contact us with your comments or questions.

In Progress

Learning Outcomes

Upon successful completion of this course, the student will be able to:

  • Explain how Node.js fits into client-server software architecture.
  • Create, install and make use node modules to extend the capabilities of the Node.js platform.
  • Use a web framework like Express.js to build web applications.
  • Make use of testing frameworks like Jest to automate the testing of code.
  • Connect to, insert and retrieve data from a database.
  • Use modern Node.js techniques for efficiently working with files and network requests through asynchronous IO.
  • Prevent your Node.js applications from crashing by applying best-practice error handling strategies to ensure your server can gracefully recover in the event of an error
  • Gain an understanding of how Node.js fits into modern web stacks like MEAN or MERN.
  • Build a complete user authentication system that allows for registering and login of users.
  • Build, deploy, and consume a RESTful API.
  • Use static type checking through Typescript to build more robust, scalable Node.js applications.
  • Use static type checking through Typescript to build more robust, scalable Node.js applications.

Effective as of Spring/Summer 2021

Related Programs

COMP 3012 is offered as a part of the following programs:

School of Computing and Academic Studies

  1. Advanced .NET Development
    Part-time   Associate Certificate
  2. Advanced Java Development
    Part-time   Associate Certificate
  3. Applied Web Development
    Part-time   Associate Certificate
  4. Computer Systems
    Part-time   Diploma
  5. Web Development Fundamentals
    Part-time   Statement of Completion
  6. Web and Mobile Application Development
    Part-time   Associate Certificate

Contact Us

If you have a comment or question about this course, please complete and submit the form below.

Contact Information

The personal information on this form is collected under the authority of the College and Institute Act (RSBC 1996, Ch.52). BCIT will use this information to communicate with you regarding relevant BCIT programs, courses and services. This information is only used by authorized BCIT staff. Email communication sent to and from BCIT is routed through the United States of America. If you have any questions about BCIT's collection and use of this information, please contact BCIT’s manager of Information Access and Privacy.


Interested in being notified about future offerings of COMP 3012 - Back-End Web Development with Node.js? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.

Privacy Notice: The information you provide will be used to respond your request related to BCIT course information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5A 3H2, email:

Programs and courses are subject to change without notice.

Find Courses

English Language Proficiency

BCIT's Part-time Studies English Language Proficiency Standard is English 12 (or equivalency). Students who do not meet this requirement should upgrade their English skills prior to any future registration.

Payment Changes At BCIT

We've changed the way we accept payments.

Find out more

Course Navigation, Related Links & Tools

Registration News

Registration is currently open for the Fall 2021 term.

The sneak preview for the Winter 2022 term starts Fri, Oct 22 at 8:30 am (PDT).

Students may register for Winter 2022 term courses online or by phone starting Wed, Oct 27 at 9:00 am (PDT).

Classroom Locations

Classroom locations are subject to last minute changes. Please check the Part-time Studies Classroom Locations listing at on the first day of any course you are registered for.

Part-time Studies Financial Aid

Will you be studying at BCIT part-time? Do you need assistance funding your studies? Find out if you qualify for Part-time Studies financial aid.