COP 2803 - Client-Side JavaScript

College of Computer & Information Technology

Credit(s): 3
Contact Hours: 47
Effective Term Fall 2017 (535)

Requisites

Prerequisite COP 2801 with a minimum grade of C and
Prerequisite CGS 1831 with a minimum grade of C

Course Description

This course focuses on advanced concepts and programming skills required to build modern rich internet applications utilizing the JavaScript language. Topics include application architecture, general libraries such as YUI, Prototype, Underscore.js; Building Internet Applications; Animations and Effects; Cryptography and Security; High-Performance JavaScript, and Unit Testing.

Learning Outcomes and Objectives

  1. The student will recognize and explain the different components of the internet that facilitate communications in web applications by:
    1. explaining the basics of HTTP.
    2. explaining how a Client and Server communicate.
    3. identifying how HTTP methods work. and when the different HTTP status codes are returned.
    4. describing the format of an HTTP message.
  2. The student will create interactive graphical user interfaces by:
    1. creating a graphical user interface utilizing HTML.
    2. implementing interactive behavior in the graphical user interface.
    3. interacting with the Browser using JavaScript.
  3. The student will implement JavaScript to respond to events generated in web applications by:
    1. understanding the differences between the imperative programming model and the event driven programming model.
    2. implementing different techniques for handling events in JavaScript.
    3. identifying the different event types available to the DOM.
    4. implementing event handling in web pages.
  4. The student will implement and manipulate graphics, animations and CSS in a web application by:
    1. explaining the fundamental concepts and techniques that are common to all graphics and animations subsystems.
    2. implementing techniques to manipulate the properties of HTML documents via CSS.
    3. implementing animations in HTML and CSS with JavaScript.
  5. The student will choose the appropriate graphics libraries for generating graphics for the web by:
    1. explaining the usage of the canvas element.
    2. describing the usage of SVG and WebGI.
    3. identifying other client-side technologies for graphics.
  6. The student will store and pass data in JavaScript web applications by:
    1. formatting correctly a JSON document.
    2. utilizing localStorage and sessionStorage to store data.
    3. storing user data with cookies.
  7. The student will optimize, test and secure JavaScript code by:
    1. optimizing JavaScript for High Performance.
    2. identifying usage scenarios for different types of tests.
    3. utilizing JavaScript testing frameworks and identify when each is applicable.
    4. explaining common JavaScript vulnerabilities.
  8. The student will use popular JavaScript libraries to enhance web applications by:
    1. utilizing JQuery to enhance JavaScript functionality.
    2. utilizing AngularJS to enhance web application functionality.

Criteria Performance Standard

Upon successful completion of the course the student will, with a minimum of 70% accuracy, demonstrate mastery of each of the above stated objectives through classroom measures developed by individual course instructors.

History of Changes

C&I Approval: , BOT Approval: , Effective Term: Spring 2016 (510). C&I Approval: , BOT Approval: , Effective Term: Spring 2017 (525).
C&I Approval: 02/09/2017, BOT Approval: 03/21/2017, Effective Term: Fall 2017 (535)

Related Programs

  1. Suncoast Developer's Guild: Web Development (SDGOT-AR) (580) (Active)
  2. Technology Development & Management (TMGT-TR) (670) (Active)
  3. Web Development (WEBSDM-AS) (670) (Active)
  4. Web Development (WEBSDM-AS) (640) (Draft)
  5. Web Development Specialist (WEBDS-CT) (580) (Active)