JavaScript, the most popular web development language, works with HTML and CSS to add interactivity, special effects, and functionality to web pages.   This introduction to JavaScript focuses on using JavaScript to develop practical front-end web components such as menus, slide shows, accordions, tabs, form validators, and date pickers. The foundation is set with JavaScript coding and syntax basics and quickly moves on to manipulating web page elements.  Students then learn to work with JQuery and jQuery UI, free JavaScript libraries commonly used by web developers to simplify JavaScript programming.  The course includes practical examples and hands-on assignments.

Plan to spend 5-10 hours per week on this class. You must have reliable access to Internet to complete this class. You are expected to check Moodle and email at least twice per week.

2 hours lecture, 3 hours laboratory, 3 units

Section ####
online - see the college Online Success site

 

Course Web Site: check with instructor

Instructor: see schedule

 



Topics/Themes

In this 3-unit course, students will use a text editor to program websites. The course will cover these main topics:

  1. Overview of web development
    1. Web applications and client-side processing
    2. Components of a JavaScript application
    3. HTML and CSS review
    4. Document Object Model (DOM)
    5. Using an Integrated Development Environment (IDE) and a browser to test and debug JavaScript applications
  2. Overview of JavaScript
    1. Including JavaScript in an HTML document
    2. JavaScript syntax for statements, identifiers, comments, objects, methods, and properties
    3. Working with JavaScript data (numeric expressions and variables, string and Boolean variables)
    4. Coding control statements (if statements and loops)
  3. Objects, Functions & Events
    1. Using window, document, Textbox, Number, Date, and String objects
    2. Creating and using anonymous and named functions with local and global variables
    3. Event handling
  4. Testing and Debugging
    1. Common errors
    2. Debugging with browser add-ons, validation, and IDE’s
  5. Arrays
    1. Creating and using arrays
    2. Loops and arrays
    3. Array object methods
  6. Scripting the DOM with JavaScript
    1. DOM scripting properties and methods (Node, Document, and Element interfaces)
    2. DOM scripting for links and images
    3. Practical applications (hide/show content, image swap, slide show)
  7. jQuery overview
    1. Introduction
    2. jQuery basics (coding selectors, calling methods, using event methods)
    3. Useful selectors, methods, and event methods
  8. jQuery effects and animations
    1. Using effects
    2. Using animation
    3. Practical applications (hide/show content, image swap, slide show)
  9. DOM manipulation with jQuery
    1. DOM manipulation methods
    2. Methods for working with styles and positioning
    3. DOM traversal methods
  10. Form validation with jQuery and JavaScript
  11. jQuery UI
    1. Introduction
    2. Building and using a jQuery UI download
    3. jQuery UI widgets

 



Prerequisites

“C” grade or higher or “Pass” in CIS 211 or equivalent or 1 year verifiable HTML and CSS coding experience.
YOU WILL STRUGGLE if you are not proficient in HTML and CSS.

Recommended: “C” grade or higher or “Pass” in CS 119 or any CS class or 1 year programming experience

The prerequisite skills for this class are:

  1. Apply file management best practices to organize, name, backup, and upload files.
  2. Read, write, analyze, and debug HTML and CSS to create standards compliant web pages that include formatted text, internal and external links, images, tables, forms, and lists.
  3. Use CSS to control presentation, including fonts, colors, backgrounds, layout, and list-based navigation.
  4. Demonstrate critical problem-solving skills in the debugging of programs.
  5. Trace the flow of execution and values of all variables through a complex program.

 

Solid skills are especially important for students in the online course.



Learning Outcomes

Students will be able to integrate JavaScript/JQuery with HTML and CSS to create a site that meets 80% of the technical, organizational, structural, and presentation requirements outlined in a detailed scoring rubric based on the course content and objectives.

Objectives

  1. Use an IDE to code and debug JavaScript programs, including statements, expressions, variables, and operators.
  2. Use functions and events to respond to and validate user input.
  3. Use arrays and loops to work with data.
  4. Use DOM properties and methods to manipulate web page elements.
  5. Use JavaScript, jQuery, and  jQuery UI to develop practical front-end web components such as FAQ’s, menus, slide shows, accordions, tabs, and date pickers.

 



Grading and Assignments

You will be graded on assignments, online discussion, and tests.  Moodle will link to complete instructions, including a scoring rubric for each Web page assignment.  You will use Moodle to check your grades, turn in assignments, take quizzes, and participate in class discussion.  Your total grade will include:

TBA Labs Labs are fairly quick ways to reinforce your understanding of a specific concept or skills.
TBA Discussion Participation (50 points) You are expected to post at least one message to the Moodle discussion each week.  These can be questions, comments, responses, interesting Web sites, etc.  Your message will be given 1-5 points based on complexity, appropriateness, and helpfulness. Maximum per week: 10 points.
TBA Quizzes Moodle quizzes will cover handouts, textbook, and online video material. 
TBA Final Exam & Midterm The exams will be cumulative and will include a practical section.
  Extra Credit extra credit is occasionally offered and is used to bump up a borderline grade (1-2% below higher grade). Check Moodle early in the week for extra credit since it is usually only offered for a few days.

Scale

90-100%, awarded for work that meets all requirements and shows effort, skill, and creativity
B 80-89%
C 65-79%
D 55-64%

Assignments and quizzes are usually due to Moodle a week after they are assigned.  Everything is carefully set up in a specific sequence to help you learn, so DON'T SKIP ASSIGNMENTS. Due dates are shown on Moodle. After the due date, you lose 20%. Some assignments must be completed before you can move on in the course, so DON'T GET BEHIND. If you turn in your work on time, you will usually get one chance to fix mistakes, so TURN IN WORK ON TIME! Be sure to SAVE and BACK UP/UPLOAD everything you do. BEGIN ASSIGNMENTS EARLY in the week they are assigned so you will have time for questions and technical glitches. ASSUME you will have technical problems and turn in work BEFORE the due date. I have built in plenty of time to allow for questions and technical difficulties as long as you begin on the date it was assigned.

An incomplete grade is given only when there is an emergency near the end of the semester.

Academic Integrity

When creating Graphics or Web sites, treat Web content as you would treat content from a published article or book. Stealing content is unethical, and students guilty of academic dishonesty will receive a zero for the assignment and may be suspended or expelled. It is acceptable to use brief quotes or clip art. It's not ok to copy entire web pages or style sheets or use someone else's images without permission unless a license permits use.



Attendance

Though any student not participating in class for 2 consecutive weeks may be dropped from the course by the instructor, it is always the student's responsibility to drop any unattended course.  Failure to drop an unattended course will result in a grade of "F" on your transcript.  Participation in an online class means submitting assignments and taking quizzes on time, contributing to discussion regularly, and checking Moodle & email at least twice a week.



Schedule

Date Topics & Reading
Week 1 Intro to Course
Week 2 HTML & CSS Review
Week 3 Chapter 2: Getting Started with JavaScript
Week 4 Chapter 2: Getting Started with JavaScript
Week 5 Chapter 3: How to Work with Objects, Functions, and Events
Week 6 Chapter 3: How to Work with Objects, Functions, and Events
Week 7 Chapter 4: Testing and Debugging
Week 8 Chapter 5: Arrays
Week 9 midterm exam
Week 10 Chapter 6: How to Script the DOM
Week 11 Chapter 6: How to Script the DOM
Week 12 Chapter 7: jQuery Essentials (Introduction)
Week 13 Chapter 8: jQuery Essentials (Animations and Effects)
Week 14 Chapter 9: DOM Manipulation and Traversal Methods with jQuery
Week 15 Chapter 12: jQuery UI
Week 16 Review
Finals Week Final Exam


Textbook - available at the campus bookstore or online

Murach's JavaScript and jQuery

by Zak Ruvalcaba and Mike Murach
18 chapters, 603 pages, 250 illustrations
Published December 2012
ISBN 978-1-890774-70-7
Publisher site

$35 on Amazon

This book is available for 3-hour checkout at the Cuyamaca library refereence desk.

Materials

You cannot complete this class without reliable access to Internet and text editing software. You'll learn more about text editing software in class.

You may use campus computer labs if needed.

You need adequate storage to SAVE and BACK UP your work.  You are responsible for your work in spite of technical problems, so be sure to back up!  Most students use a USB Flash Drive.



Course Communication

Post general questions to the online discussion.  You may also send email to jodi.reed (at) gcccd.edu or stop by during office hours. 

NOTE: I must respond to many questions each day, so my responses tend to be brief. Please don't take this personally. I usually respond the same day or the next day. Please try again if you don't hear back within 2 days. I check email most often followed by Moodle discussion and then voice mail.

ASK AS MANY QUESTIONS AS YOU NEED! Really!

Most times I will wait for you to contact me with a question before you hear from me directly. However, if I notice you are getting behind in the class, or struggling in some way, I may contact you first to see if there is anything I can do to help. On rare occasions, I may suggest a phone call appointment if we both agree it is warranted. I may be able to set up an online web conference that allows us to meet online at the same time and for you to see what I am presenting.

Periodically I may send out an email to the entire class or send you an individual email. I MUST have a valid email id from you at all times to insure proper communication. If you change your email id, please update it on the "Profile" page on the course site. If I send you an email and it "bounces" (i.e. gets returned as undeliverable) I will temporarily remove your access to the class web site until I establish email communication with you again. Also emails can (and do) get lost sometimes. I usually respond within 48 hours (weekends and holidays excepted) so if you do not get a reply from me within 48 hours - email again!

Please avoid specifying an email subject line that says "Hi" or "Hello", etc. These are very common subjects of spam email. I usually delete them without reading them! A good subject line will include either the class name or the college name.

Be as specific as you can be with your questions. Please don't send a questions that says, "I'm having some trouble with this assignment, can you look at the code and tell me what I'm doing wrong?" Try to get some of your program (or SQL statement) to work and then ask me about the part you are struggling with.

The best way to work on your programs is to get a little bit working at a time. Break the problem into steps and solve one step at a time. In general, don't move on to the next step until you have the previous step working.

If you are asking about a question/problem with something you're working on, be sure to send your entire program as an attachment to the post in the discussion board or email you send me. It's very hard to help you debug your code just by your description alone.

Send any code to me as email attachments rather than pasting code into the email message itself. Sometimes the text gets changed in transition and I cannot evaluate your code properly.

Students with disabilities who may need accommodations in this class should notify me and contact Disabled Students Programs and Services (DSPS) early in the semester so that reasonable accommodations may be implemented as soon as possible.



Important Dates

Please mark your calendar!

SPRING 2016  
January 25 Classes begin
February 5 Last day to add semester-length classes
Last day to drop semester-length classes without a W
Last day to receive a refund for semester-length classes
February 8 Census Day
February 12-15 Holiday (President's Day Weekend)
February 26 Last day to apply for Pass/No Pass for semester length classes
March 18 Last day to apply for Spring degree/certificate
March 21-26 Spring Recess
April 22 Last day to drop semester-length classes
May 23-28 Final Examinations
May 30 Holiday (Memorial Day)

 

 

 

This course adheres to the policies outlined in the Cuyamaca College catalogue. For further information, see Academic Policies stated in the catalog.