This syllabus is a work-in-progress. Please consult it weekly to check for updates.

Assignments are likely to undergo revision after posting.


Course Summary

Course Name
Webscripting with JavaScript
Course Number
ICT-4570
Instructor
Michael I Schwartz
Class Meetings
Wednesdays, January 3rd - March 7th 2018
Room
Sturm Hall 435
Dates Instructor is Unavailable
Every Friday from 4PM through Saturday
Course Description
This course presents students with the principles necessary to design and develop client-side scripts used to build dynamic websites and applications.
JavaScript concepts such as data types, control structures, functions and objects are discussed.
Students will learn how to write beginner and intermediate scripts. In addition, students are introduced to advanced JavaScript topics, including module development, distributed computing and security.
Students are presented with real world examples of JavaScript and will build an interactive and dynamic client-side application.
The specific technologies in the course include JavaScript/ECMAScript, JQuery (a JavaScript library), JSON (a JavaScript-friendly data format), JavaScript as the J in AJAX, and use JavaScript in HTML5 form interaction and validation.
Course Prerequisites
Knowledge of HTML
ICT 4505, or previous programming experience.
Course Objectives
At the end of this course, a student will be able to:
  1. Write and debug JavaScript
  2. Interact with the Document Object Model (DOM) using JavaScript
  3. Use JavaScript to enhance user browser experience
  4. Write JavaScript using JQuery
  5. Experience the role of JavaScript in HTML5
Required Materials and Resources
Text & other materials
While no textbook is required, students should have a book handy for reference! Depending on your learning style, you may prefer a reference tome such as JavaScript, The Definitive Guide, or a "right-brain" book like HeadFirst: JavaScript, or Doug Crockord's JavaScript: The Good Parts and John Resig's Secrets of the JavaScript Ninja.
Please feel free to choose from the other books noted, as well.
Select one (or two)--don't overwhelm yourself with reading!
Use the topics listed below to align your reading in your book to the the weekly topics in the course.
Instructor slides are available via Canvas for student convenience.
There are a number of books on each of the topics in the course. The following books provide some material for the topics. Many are available in eBook as well as print format, per your preference.
  • JavaScript: 2nd Edition, Mary Delamater, Murach, 2015, ISBN: 978-1-890774-85-1
  • JavaScript: The Definitive Guide, David Flanagan, O'Reilly, 2011, ISBN: 978-0-596-80552-4
  • JavaScript & JQuery: The Missing Manual, 2nd Edition, David Sawyer McFarland, O'Reilly, 2011, ISBN: 978-1-4493-9902-2
  • Modern JavaScript: Develop and Design, Larry Ullman, Peachpit Press, 2012, ISBN: 978-032181252
  • Head First JavaScript, Eric Freeman & Elisabeth Robson, O'Reilly, 2014, ISBN: 978-1-4493-4013-1
  • JavaScript: The Good Parts, Douglas Crockford, O'Reilly, 2008, ISBN: 978-0-596-51774-8
    Crockford's JavaScript web site: javascript.crockford.com
  • Eloquent JavaScript, Marjin Haverbeke, eloquentjavascript.net
  • Professional JavaScript for Web Developers, Nicholas C. Zakas, Wrox, 2012, ISBN: 978-1118026694
  • Head First JQuery, Ryan Bendetti & Ronan Cranley, O'Reilly, 2012, ISBN: 978-1-449-39321-2

The You Don't Know JS series is also informative, especially if you want to explore all the nooks and corners of the language
  • Getify online drafts: https://github.com/getify/You-Dont-Know-JS
  • You Don't Know JS: Scope & Closures, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: March 2014
  • You Don't Know JS: this & Object Prototypes, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: July 2014
  • You Don't Know JS: Types & Grammar, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: January 2015
  • You Don't Know JS: Async & Performance, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: February 2015
  • You Don't Know JS: Up & Going, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: March 2015
  • You Don't Know JS: ES6 & Beyond, By Kyle Simpson, Publisher: O'Reilly Media, Release Date: April 2015

And there are, of course, the standards:

And other class resources as documented in the course modules.
Electronic Mail
  • Responses can also be received by mailing a description of your problem to mschwart@du.edu
WWW
Appointments
  • Call 303-971-6781 (Day), 303-394-3117 (Eves).

Course Policies and Procedures

Attendance
Course attendance is expected, and forms the class participation portion of your grade.
Assignment Due Dates and Policy
Assignments must be completed before the class marked as their due date on the syllabus.
They must be available for grading by electronically submitting them to Canvas at 6PM on class day (face-to-face classes) or midnight, Mountain Time on the week-ending-day for the course for online courses.
Any exceptions requested to this policy must be made in advance with the instructor.
Late work will receive no credit.
Make advance arrangements with the instructor for any requested exceptions.
Except for the final project, if offered, all assignments may be resubmitted after rework of indicated portions. Resubmitted assignments will receive a maximum credit of 90%
Assignments are available at the beginning of the course, but the instructor reserves the right to clarify, modify, or replace them in advance of their being worked.
Resubmission Policy
Any assignment which was properly attempted and handed in on time may be resubmitted.
Resubmitted assignments must be submitted by the due date of the final exam (last Friday of the course).
Resubmitted assignments may earn up to a score of 90%.
Sample Solutions
Sample solutions for each exercise will be made available after the due date for the assignment has passed.
Sample solutions may be used as examples to draw from for future submissions.
Evaluation & Scoring
Course grades will be based on the Assignment, quiz, participation, and the final project and presentation, if offered, weighted as follows:
  • 25% Exam & Quiz: The exam counts like two quizzes
  • 65% Assignments: A final project counts like two assignments, if offered.
  • 10% Participation: Attendance (face-to-face classes) and discussion group participate
Grading scale is as follows, to conform to the University College standard:
  • 94-100%: A
  • 90-93%: A-
  • 87-89%: B+
  • 83-86%: B
  • 80-82%: B-
  • 00-79%: C or below
Academic Integrity

University College enforces the University of Denver's Honor Code and the procedures put forth by the Office of Citizenship and Community Standards. Academic dishonesty (including but not limited to plagiarism, cheating, and falsification of data and research) is in violation of the Code and can result in a failing grade and/or expulsion from the University.

The University of Denver defines plagiarism as the presentation of another person's idea or product as the student's own. Plagiarism includes but is not limited to the following:

  • Copying word-for-word all or part of another's written work
  • Using phrases, charts, figures, illustrations, graphics, codes, music, mathematical and scientific solutions without citing the source
  • Paraphrasing ideas, conclusions or research without citing the source
  • Using all or part of a literary plot, poem, film, musical score, Internet website or other artistic product without attributing the work to its creator

As student members of a community committed to academic integrity and honesty, it is your responsibility to become familiar with the DU Honor Code and its procedures. Please visit www.du.edu/honorcode or refer to the University College Student Handbook for more information.

Course Evaluations
As part of being a sustainable and green campus, University College has moved from paper evaluations to online course and faculty evaluations. We hope that the electronic format will be more convenient, as well as allow time for more thoughtful responses. You will receive an email in your DU email account approximately a week before the end of the course with a link to the course evaluation. This allows you to complete the evaluation without having to login to the course shell on Canvas. The online course evaluation will be available for approximately two weeks. The faculty/course evaluation is anonymous and will close prior to grades posting for the quarter. As was the case with paper evaluations, faculty will not receive evaluation data until after grades have been submitted.

Please take the time to complete the course and faculty evaluations thoughtfully. The student responses from each evaluated course provide essential feedback concerning instructors and courses and assist in determining improvements for subsequent quarters. We appreciate your assistance in helping us maintain the quality of our academic programs.

Course Schedule

Note: JTDG6E represents JavaScript, The Definitive Guide, 6th Edition
Note: MBJ represents JavaScript 2nd Edition, Mary Delamater, Murach Books
Note: J&JTMM represents JavaScript & JQuery: The Missing Manual
Let me know if you are looking for reading maps in other texts.

Class / Objectives Weekly Goals Reading Assignments and Assessments

Class 1:
A, E

  • History of JavaScript
  • JavaScript in the context of HTML5
  • An introduction to programming
  • Establish a JavaScript development environment
  • JTDG6E: Introduction, Chapter 1
  • MBJ: Introduction, Chapter 1, 2, 3
  • J&JTMM: Introduction, Chapter 1

The pre-class assignment is an anonymous programming experience survey linked in the Week 1 Module.

Assignment 1 is due by next week's class meeting.

Class 2:
A, B, C

  • The grammar of JavaScript: variables, control structures, and methods
  • Global and other scope
  • Debugging a JavaScript
  • JTDG6E: Chapters 2-5
  • MBJ: Chapter 4, 5, 6
  • J&JTMM: Chapters 2 & 3
Assignment 2 is due by next week

Class 3:
A, C

  • JavaScript functions
  • Functions as first-class objects
  • JTDG6E: Chapters 6-8
  • MBJ: Chapter 7, 8, 10
Assignment 3 is due by next week

Class 4:
A, B, C, E

  • The DOM
  • JavaScript objects intro
  • JavaScript events intro
  • JTDG6E: Chapter 13
  • MBJ: Chapter 9
Assignment 4 is due in two weeks

Class 5:
A, B, C, E

  • JavaScript Objects
  • JavaScript Events
  • JavaScript DOM
  • JavaScript regular expressions
  • JTDG6E: Chapter 13, 14
  • MBJ: Chapter 11, 12
Assignment 4: By this week you need to have all the HTML, CSS, and form created, including a submit button that could have a server do the computation via a POST request

Class 6:
A, B, C

  • JavaScript Events and the DOM (more topics)
  • JavaScript regular expressions
  • JTDG6E: Chapter 14
  • MBJ: Chapter 13
Assignment 5 is due in two weeks

Class 7:
A,B,C,E

  • More JavaScript regular expressions
  • JavaScript Modules
  • JavaScript for AJAX
  • JTDG6E: Chapter 20
  • MBJ: Chapter 14
Assignment 5: By this week you need to have the canvas created, and the drawing working with filling out the form and pressing submit
drawing the rectangle filled with a color of your choice.

Class 8:
A, B, C, E

  • More JavaScript for AJAX
  • JavaScript for XML
  • Client-side storage and other HTML5 topics
  • JTDG6E: Chapter 17-18
  • MBJ: Chapter 8
  • J&JTMM: Chapters 11 & 12

Assignment 6 is due in two weeks.

Class 9:
A, C, D

  • Introduction to JQuery
  • Comparison of JQuery and JavaScript approaches
  • Other JavaScript libraries
  • JTDG6E: Chapter 19
  • MBJ: Chapter 16, 17
  • J&JTMM: Chapter 4
  • J&JTMM: Chapter 13 & 14
Assignment 6: Ask any questions about this assignment this week

Assignment 7 (optional) is due before the end of the course.

Class 10:
A, B, C, D, E

  • Summary and any special topics
  • Visit d3js.org
Final Exam due by the end of the week.