MCT804 - Javascript

Outline info
Semester
School
Last revision date 2017-11-08 12:20:54.484
Last review date 2017-11-08 12:20:54.486


Subject Title
Javascript

Subject Description
This subject introduces the student to computer programming using the JavaScript programming language. While JavaScript is the language of instruction, the course covers the essential concepts and constructs which are part of most modern programming languages, including sequence, selection, repetition, variables, arrays, and objects. This course leads the student from writing the simplest of programs to creating programs that interact with the elements in a web page. Using only a simple text processor and a browser, the student will write and run programs that utilize variables, calculations, arrays, if statements, loops, objects, and events. In addition to writing programs, the student will also be instructed in the elements of good programming style and their importance.

Credit Status
1 full credit.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

1. Describe the fundamental constructs of procedural programming.
2. Describe the characteristics and benefits of object oriented programming.
3. Define object, property, and method.
4. Employ dot syntax to access properties and methods.
5. Distinguish between native, user defined, and browser objects.
6. Write and run programs that utilize variables, calculations, arrays, if statements, loops, objects, and events.
7. List and apply the elements of good programming style.
8. Identify and correct simple programming errors. 

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Prerequisite(s)
WDC100

Topic Outline
Getting Started with Programming in JavaScript

o   recap basic programming concepts
o   describe JavaScript's characteristics
o   describe how JavaScript programs are added to XHTML file i.e. the script element
o   explain JavaScript's position within the DHTML framework
o   introduce the runtime environment
o   use code comments
o   describe basic object oriented terms
Declaring Variables, Doing Calculations
o   recap the concept of a variable in programming
o   describe variable naming rules
o   explain variable declaration and data types
o   code assignment statements
o   use alert() to output variable values
o   code expressions with arithmetic operators
o   review operator precedence rules
o   describe string concatenation operator
o   use prompt() to get user input
o   explain and apply string to number parsing
o   describe code conventions to use in course
Using Arrays
o   definition, properties, and benefits of arrays
o   array dimension
o   declaring and creating arrays
o   storing and retrieving array values
o   using multidimensional arrays
Making Decisions
o   explain the importance of decision making statements to programming
o   recap boolean variables, comparison operators, and logical expressions
o   describe the structure of decision statements and how they change the flow of control
o   present syntax of the if and switch statements
o   introduce the block statement construct and syntax
o   code if statements with simple and compound comparisons
o   introduce nested if statements and the else if construct
o   code switch statements
o   compare and contrast decision statement options
Coding Loops – for loops
o   explain the importance of repitition statements to programming
o   describe the flow of control in repetition statements
o   present the structure of loop statements
o   introduce the for loop structure
o   explain the importance of the counter and test condition to proper loop execution
o   using loops to do accumulation
o   coding nested for loops
o   creating XHTML tables with for loops
Coding Loops - while loops
o   present the while loop as the most general loop construct in JavaScript
o   explain the syntax and characteristics of the while loop
o   compare and contrast the while and for loops
o   explain how to avoid infinite loops
o   introduce the do … while loop
Writing Functions
o   recap the mathematical concept of a function
o   explain the importance of functions in programming
o   differentiate between core, client side, and user defined functions
o   describe the ways functions can be defined in JavaScript
o   describe the header and body structure of a function
o   code user defined functions
o   provide function naming conventions
o   describe how to call or invoke a function
o   explain parameters and return values
o   introduce the concept of variable scope
o   distinguish between local and global scope
Programming With Objects - the object approach
o   describe the object programming paradigm
o   list the benefits of the object approach
o   define the terms object, property, and method
o   relate objects to variables and arrays
o   explain the 4 key principles of the object approach: abstraction, encapsulation, inheritance, polymorphism
o   describe syntax for declaring and creating objects
o   explain the role of the new operator
o   explain accessing by value versus accessing by reference
o   introduce the dot operator and dot syntax
Programming With Objects - using native objects
o   introduce the concept of native objects
o   list the JavaScript native objects
o   code programs using the String object and its properties and methods
o   code programs using the Math object and its properties and methods
o   code programs using the Array object and its properties and methods
o   code programs using the Date object and its properties and methods
Browser Objects - Document Object Model
o   explain client side scripting and DHTML
o   introduce the Document Object Model
o   identify the DOM hierarchy
o   code programs using the window object
o   code programs using the screen object
o   code programs using the navigator object
o   code programs using the document object Browser Objects - interacting with forms
o   define event and event handlers
o   identify basic browser events
o   code event handlers using functions
o   code an "interactive form"
Programming With Objects - user defined objects
o   describe why user defined objects are required
o   explain the concept of class in the object paradigm
o   introduce the class constructor function
o   explain the role of the this keyword
o   introduce constructor coding conventions
o   describe the JavaScript prototype model
o   compare and contrasts functions and methods
o   code programs with user defined objects

Mode of Instruction
This course is offered online.  This may involve the use of digital materials and/or a text, group discussions, interaction with your instructor and online activities.
Distant Learning students please refer to addendum. 
It is the student's responsibility to save documents, articles and notes that the instructor has provided online or in class. Students will not be able to access anything posted as of the last day of the student’s class.

Prescribed Texts
Effective W16- Beginning JavaScript, 5th edition,
Jeremy McPeak, Wrox Wiley (publishers), ISBN 9781118903339

Required Supplies
Online:
Text Editor such as EditPad Lite, Editplus or PSPad

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
OR
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Modes of Evaluation

Evaluation Criteria:
 
Assignments 60%
Final Project 20%
Quizzes 20%

The passing mark is 60%

Approved by: Denis Gravelle