Skip to main content

Back-End Web Development with Node.js COMP 3012

Computer Systems Course

Course details

​This hands-on course follows on from COMP 2132 and replaces COMP 2912. It 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 and COMP 3013​ Front-End Web Development with React.js. 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 FLEX Diploma. Upon completion, successful students will be able to use Node.js to build robust, scalable, data intensive web applications with user authentication.

Prerequisite(s)

Credits

3.0

Cost

$556.04 - $583.15 See individual course offerings below for actual costs.

Course offerings

Fall 2023

Below are two offerings of COMP 3012 for the Fall 2023 term.

CRN 48301

Duration

Tue Sep 12 - Tue Nov 28 (12 weeks)

  • 12 weeks
  • CRN 48301
  • $583.15
Class meeting times
Dates Days Times Locations
Sep 12 - Nov 28 Tue 18:00 - 21:00 Downtown DTC Rm. 471
Instructor

Armaan Dhanji

Course outline

View

Cost

$583.15

Important information
  1. Departmental approval needed
  2. Please email cstflex@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours on campus. This is a BYOD (bring your own device) course, participants must provide their own current model PC with an i5 or higher equivalent processor, 8 GB of RAM minimum, 256 GB minimum storage and high-speed internet access. Late registration is not permitted.
Status

In Progress

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

CRN 50353

Duration

Thu Sep 14 - Thu Nov 30 (12 weeks)

  • 12 weeks
  • CRN 50353
  • $556.04
Class meeting times
Dates Days Times Locations
Sep 14 - Nov 30 Thu 18:30 - 21:30 Online
Instructor

Christian Fenn

Course outline

View

Cost

$556.04

Important information
  1. Internet delivery format.
  2. Departmental approval needed
  3. Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
  4. Please email cstflex@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. Late registration is not permitted.
Status

In Progress and Full

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

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

Back-End Web Development with Node.js (COMP 3012) is offered as a part of the following programs:

School of Computing and Academic Studies

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

Contact Us

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

  • Privacy Notice: The information you provide will be used to respond to your request for BCIT program 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 V5G 3H2, email: privacy@bcit.ca.
  • This field is for validation purposes and should be left unchanged.

Subscribe

Interested in being notified about future offerings of Back-End Web Development with Node.js (COMP 3012)? 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 for 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: privacy@bcit.ca.