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 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.

Prerequisite(s)

Credits

3.0

Cost

$570.23

Course offerings

Fall 2022

Below is one offering of COMP 3012 for the Fall 2022 term.

CRN 48301

Duration

Tue Sep 20 - Tue Dec 06 (12 weeks)

  • 12 weeks
  • CRN 48301
  • $570.23
Class meeting times
Dates Days Times Locations
Sep 20 - Dec 06 Tue 18:00 - 21:00 Downtown DTC Rm. 471
Instructor

Armaan Dhanji

Course outline

View

Cost

$570.23

Important information
  1. Departmental approval needed
  2. Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours on campus. Late registration is not permitted.
Status

In Progress

This course offering is in progress. Please check this page for other currently available offerings, subscribe to receive email updates or contact us with your comments or questions.

Winter 2023

Below is one offering of COMP 3012 for the Winter 2023 term.

CRN 89534

Duration

Tue Jan 10 - Tue Mar 28 (12 weeks)

  • 12 weeks
  • CRN 89534
  • $570.23
Class meeting times
Dates Days Times Locations
Jan 10 - Mar 28 Tue 18:00 - 21:00 Downtown DTC Rm. 471
Instructor

Armaan Dhanji

Course outline

Course outline TBD — see Learning Outcomes in the interim.

Cost

$570.23

Important information
  1. Departmental approval needed
  2. Please email cstpts@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

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. Web Development Fundamentals
    Statement of Completion Part-time
  6. 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.