Course

Full Stack Development With Javascript

Faculty
Commerce & Business Administration
Department
Computing Studies & Information Systems
Course Code
CSIS 3380
Credits
3.00
Semester Length
15 Weeks
Max Class Size
35
Method(s) Of Instruction
Lecture
Seminar
Course Designation
None
Industry Designation
None
Typically Offered
To be determined

Overview

Course Description
This course provides the fundamental knowledge necessary to design and develop dynamic web pages using JavaScript. The course will also introduce students to client-side JavaScript frameworks (e.g., React.js) and how client-side scripts interact with server-side programs using Ajax. Furthermore, the course will introduce students to back-end concepts and tools for end-to-end (i.e., full-stack) JavaScript web development, including back-end JavaScript technologies and frameworks (e.g., Node.js, Express), REST concepts and NoSQL databases. Students will learn how to architect, develop, deploy, and manage a RESTful Web Service, and develop a fully functioning full-stack web application. Comprehensive hands-on exercises are integrated throughout the course to reinforce learning and develop real competency.
Course Content

1.  Introduction  

  • ES6
  • Functional programming concepts 

2. Asynchronous JavaScript 

  • Asynchronous JavaScript 
  • Fetch API 
  • Promises 
  • Async-await promise-based framework 

3. JavaScript Front-end Frameworks 

  • JavaScript front-end frameworks (e.g., React.js) 
  • React.js hooks
  • URL routing 

 4. JavaScript Server-side Technologies 

  • Node.js 
  • Express 
  • CRUD operations 
  • Promises and the Fetch API 
  • Async-await promise-based framework
  • Connecting to a database (e.g., MongoDB, Mongoose) using Express/Node.js 
  • RESTful web services and APIs development

 5.  Full-stack JavaScript Web Development 

  • Full-stack JavaScript web development concepts 
  • End-to-end web development using JavaScript frameworks (e.g., MERN, Next.js) 
  • Integrating the front-end with the backend (connecting to a database, managing CRUD operations – e.g., using Axios, Fetch API, etc.) 
Learning Activities

Delivery will be by lecture, lab, assignments, and project(s)

Means of Assessment

Assessment will be in accordance with the Douglas College Evaluation Policy.

Assignments/Project(s)

10% - 30%

Quizzes

5% - 20%

Midterm Examination*

25% - 35%

Final Examination*

30% - 40%

Total

100%

* Minimum 75% of the final exam must be in practical hands-on computer programming format.

To pass the course, students must, in addition to receiving an overall course grade of 50%, also achieve a grade of at least 50% on the combined weighted examination components (including quizzes, tests, exams). 

Students may conduct research as part of their coursework in this class. Instructors for the course are responsible for ensuring that student research projects comply with college policies on ethical conduct for research involving humans, which can require obtaining Informed Consent from participants and getting the approval of the Douglas College Research Ethics Board prior to conducting the research. 

 

                             

Learning Outcomes

At the end of this course, the successful student will be able to:

  • Apply functional programming concepts to develop dynamic web applications. 
  • Use Ajax to fetch information from the server and display it on the web page. 
  • Build and configure a back-end server using JavaScript technologies and frameworks (e.g., Node.js, Express).
  • Build a RESTful API service using Express and Node.js.
  • Develop a CRUD application with Express, Node.js, and a database (e.g., MongoDB).
  • Create and build a web application using JavaScript front-end framework (e.g., React.js).
  • Create and build a full-stack web application using various JavaScript technologies and frameworks (e.g., MERN).  
Textbook Materials

Custom courseware, class notes provided by the instructor, and online resources or other textbooks as approved by the department.

Requisites

Prerequisites

CSIS 1280 with grade C or better

Corequisites

No corequisite courses.

Equivalencies

No equivalent courses.

Course Guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.

Course Transfers

These are for current course guidelines only. For a full list of archived courses please see https://www.bctransferguide.ca

Institution Transfer Details for CSIS 3380
Athabasca University (AU) AU COMP 266 (3)
Coast Mountain College (CMTN) CMTN CPSC 1XX (3)
Coquitlam College (COQU) No credit
Kwantlen Polytechnic University (KPU) No credit
Langara College (LANG) LANG CPSC 1045 (3)
Okanagan College (OC) OC COSC 219 (3)
Simon Fraser University (SFU) SFU CMPT 1XX (3)
Thompson Rivers University (TRU) TRU COMP 3XXX (3)
University Canada West (UCW) No credit
University of British Columbia - Vancouver (UBCV) No credit
University of Northern BC (UNBC) UNBC CPSC 2XX (3)
University of the Fraser Valley (UFV) UFV CIS 3XX (3)
University of Victoria (UVIC) UVIC CSC 2XX (1.5)
Vancouver Community College (VCC) No credit
Vancouver Community College (VCC) VCC CSTP 2107 (4)

Course Offerings

Summer 2024

CRN
Days
Dates
Start Date
End Date
Instructor
Status
CRN
22821
Tue
May 6
- August 7
May 6
August 7
Instructor Last Name
Ghaeli
Instructor First Name
Reza
Course Status
Waitlist
Max
Enrolled
Remaining
Waitlist
Max Seats Count
35
Actual Seats Count
33
2
Actual Wait Count
23
Days
Building
Room
Time
Tue
Building
Anvil Office Tower
Room
808
Start Time
12:30
-
End Time
15:20
CRN
Days
Dates
Start Date
End Date
Instructor
Status
CRN
23018
Wed
May 6
- August 7
May 6
August 7
Instructor Last Name
Ghaeli
Instructor First Name
Reza
Course Status
Waitlist
Max
Enrolled
Remaining
Waitlist
Max Seats Count
35
Actual Seats Count
34
1
Actual Wait Count
23
Days
Building
Room
Time
Wed
Building
New Westminster - North Bldg.
Room
N5107
Start Time
12:30
-
End Time
15:20