JavaScript

CISC 5040

Professor:Sam Sultan [sam.sultan@fordham.edu]
Class website: [storm.cis.fordham.edu/~sultan/javascript]   (or)   [fh.samsultan.com/javascript]
Course Days: Mondays (Final Exam 12/16)
Course Hours: 5:30pm - 7:45pm
Location: LC - Lowenstein room 504
Announcement(s):

+syllabus
+course outline
+grades & evaluation
+student listing
+examples & demos
+homework submission
+final project
+Web Services
+student evaluation
+student feedback

Prerequisite - html   tables   forms  
Session - 1   2   3   4 / 5   M   7a 7b   8 / 9   10   11   12   13   14  


HTML - CSS - JavaScript - DOM - XML - JSON - AJAX - HTML Validator - JavaScript*Tester©
Site Helpful?

COURSE DESCRIPTION:

JavaScript is a scripting language embedded in webpages to create dynamic, interactive content. In this hands-on course, learn the fundamentals of employing JavaScript for web applications. Use JavaScript to display clocks, slide shows, and dynamic image galleries. Learn how to create reusable components such as form validators. Work with and set cookies to create personalized pages. Understand the Document Object Model (DOM), and learn how to use it with JavaScript to create DHTML components such as hover menus, flyouts, and mouse-over effects. Complete the course by learning about the newest web techniques such as AJAX, JSON, Web Services and Object Oriented JavaScript.


COURSE LEARNING GOALS:

1. Course Objectives:

The objective of this course is to teach you JavaScript as it relates to web page development. The course will discuss JavaScript core language, including JavaScript data types and variables, expressions and operators, functions, arrays and objects. We will also examine the Document Object Model and JavaScript event model, and will explain how you can use these to interact with HTML components to create dynamic web content. The course will also show you how to interact with HTML forms, and how to create, manipulate and save client-side cookies.

In addition the course will also examine Cascading Style Sheet and DHTML, and will teach you how to create dynamic HTML components by creating and manipulating HTML content through their DOM element objects. The course completes with discussions on advanced topics such as AJAX, JSON, Web Services and Object Oriented JavaScript. AJAX, JSON and Web Services allow you to perform dynamic asynchronous communications with the server to obtain and present data more interactively. And OO which stands for object oriented teaches you techniques for writing object oriented JavaScript.

2. Student Learning Outcomes:


BOOKS - (Required / Suggested)

Required Books -

Suggested Books -

GRADE ASSIGNMENT AND EVALUATION:

Your final grade will be based on the following:


Details of Assignment and Evaluation.

Grades are FINAL
Please do not negotiate for a better grade. If you are expecting to receive a grade of an "A" at the end of the semester, then I expect you to attend all sessions (unless you previously notify me), to participate in every class, to turn in your homework on time, and to keep up with the class reading material. If you see yourself falling behind do not hesitate to ask for help. This will ensure that you stay current with the class, and will ensure that you get a good grade on your work.


COURSE OUTLINE:

DATE SESSION TOPIC[s] COVERED
[Week 1] 1
  • Introduction to JavaScript
  • HTML and scripting languages
  • Where to insert JavaScript in HTML
  • The <script> tag
  • JavaScript variables and data types
  • Numeric and String operators
  • Comparison and Logical operators
  • JavaScript Arrays and Objects
  • What is an array?
  • Accessing array elements
  • What is an object?
  • Object properties and methods

  • Reading: Chapters 1, 2
     
    [Week 2] 2
  • Basic JavaScript programming concepts
  • The if statement
  • The else condition
  • The switch and case statements
  • The for and for..in loops
  • The while and do..while loops
  • The break and continue statements
  • The label identifier
  • Defining functions
  • Passing parameters and receiving data from functions
  • Variable scope and the var statement

  • Reading: Chapter 3, 4
     
    [Week 3] 3
  • The Browser Objects
  • The Browser Object Hierarchy
  • The Window object
  • The History object
  • The Location object
  • The Navigator object
  • The Screen object
  • Opening up additional windows
  • Accessing other frames
  • JavaScript events and event handling
  • Setting up timers

  • Reading: Chapters 8, 7 (timers only)
     
    [Week 4 & 5] 4/5
  • The Document Object Model
  • The Document object
  • The Image object
  • Creating an image rollover effect
  • The Form object
  • The elements Input object
  • Common properties and methods
  • The Select and option objects
  • Interacting with HTML form elements
  • Validating data entered in a form

  • Reading: Chapters 9 (first half), 11
     
    [Week 6] M
  • Midterm Exam

  •  
    [Week 7] CSSa







    CSSb
  • CSS - Cascading Style Sheets
  • Structure of a CSS rule
  • Inline, embedded and external CSS
  • Creating style sheets
  • Applying styles to your HTML
  • CSS selectors
  • Class and Id selectors
  • Cascading and Inheritance rules

  • CSS Properties and Values

  • Reading: Online @ www.w3schools.com/css/default.asp
     
    [Week 8 / 9] 8/9
  • Core DOM and DHTML Effects
  • Cross browser challenges
  • Core DOM in modern W3C compliant browsers
  • The HTMLElement Object
  • The element Style Object
  • Accessing HTML elements
  • Altering the content of HTML elements
  • Altering the style of HTML elements
  • Hiding and showing content
  • Dynamically creating HTML elements & attributes
  • Unobstrusive JavaScript

  • Reading: Chapter 9 (second half), 10
     
    [Week 10] 10
  • JavaScript built-in objects
  • The Math object
  • The String object
  • String manipulation
  • The Array object
  • Sorting arrays with additional helper functions
  • The Date object
  • Date manipulation
  • Conversion between data types

  • Reading: Chapters 5, 6, 7
     
    [Week 11] 11
  • What is a cookie?
  • What is the purpose of a cookie?
  • The structure of HTTP cookies
  • Storing data in a cookie
  • Transient vs. permanent cookies
  • Retrieving data from cookies
  • HTML5 Web Storage
  • Working with sessionStorage and localStorage

  • Reading: Chapter 13
     
    [Week 12] 12
  • AJAX - Asynchronous JavaScript and XML
  • Basic client/server web communication
  • The HTTP request/response paradigm
  • Asynchronous server communication
  • Advantages of asynchronous processing
  • The XMLHttpRequest Object
  • XML data streams
  • JSON data streams
  • Ajax examples
  • Full Stack Web Services
  • The role of a Web Server
  • Example of Web Services in Python,PHP,Perl and Java

  • Reading: Chapter 12, 14
     
    [Week 13] 13
  • JavaScript Object Oriented Concepts.
  • Objects vs. Classes.
  • Defining Object Constructors.
  • Defining Properties and Methods.
  • Instantiating Objects.
  • Class vs. Instance properties and methods.
  • The "This" keyword.
  • Defining Object prototype.

  • Reading: Chapter 5
     
    [Week 14] 14
  • Final Exam



  • All contents © Sam Sultan.
    For more information, send e-mail to: ssultan3@fordham.edu