COMP06243 2018 Client Side Scripting
Modern web applications rely on code that runs in a browser to deliver much of the interactivity available to users of websites and this module will enable students to develop scripts at the client end to provide an interactive user experience. The learner will gain a thorough knowledge of JavaScript while understanding the need for client-side scripting and its place in application development. The learner will obtain the relevant knowledge to be able to sit the MTA ‘Introduction to Programming using JavaScript’ Microsoft exam.
Learning Outcomes
On completion of this module the learner will/should be able to;
Describe the need for client side scripting and the fundamentals of the JavaScript language
Debug scripts using browser debugging tools and appraise appropriate IDEs
Dynamically style a webpage employing knowledge of the Document and Browser Object Model
Consume data from an API and employ AJAX to render JSON data from a server
Teaching and Learning Strategies
The lecture will be used to explain key concepts. A flipped learning approach will be used from time to time. The lab classes will be used to code practical examples of tasks, based on worksheets.
Appropriate materials will be available on video for out of class use for learners who find certain concepts difficult.
Module Assessment Strategies
An in-class assessment worth 20% will take place in week 6, with an out of class assignment worth 30% (dynamically manipulate a website) taking place in week 10, over two weeks. The terminal exam will be an open book, lab-based exam.
Repeat Assessments
The repeat exam (open book, lab-based) will cover all learning outcomes
Indicative Syllabus
Describe the need for client-side scripting and the fundamentals of the JavaScript language
- The evolution of the client device and range of devices available
- Lexical structure (literals, identifiers, reserved words etc.)
- Data types, conditional processing, arrays, objects
- Functions and Methods, passing objects, callbacks
- Event listeners and the event-driven model, IIFE
Debug scripts using browser debugging tools and appraise appropriate IDEs
- The Document Object Model and how to manipulate elements and attributes
- Using a browser to debug code (breakpoints, stepping into/over, blackboxing)
- Use tools such as JSHint to analyse code
- Using Chrome Developer Tools and Firebug,
- Installing and configuring small footprint IDEs (e.g. Brackets)
- Adding extensions to IDEs and linting options (e.g. ESLint)
Dynamically style a webpage employing knowledge of the Document and Browser Object Model
- Setting attributes and manipulating CSS with JavaScript methods
- The difference between the DOM and BOM
- The DOM tree, node types and node navigation
- Dynamically adding/removing elements to/from the DOM tree
- JavaScript methods element styling and manipulation
- Functions as arguments and JavaScript callbacks
Consume data from an API and employ AJAX to render JSON data from a server
- Understand the purpose of an API (e.g. Google maps, OMDb)
- Consuming data from an API and rendering to a browser
- Implementing plugins for specific tasks
- AJAX and JSON (the XMLHttpRequest object)
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Evaluation of core JavaScript concepts | Coursework Assessment | Open Book Exam | 20 % | Week 6 | 1 |
2 | Dynamically redesign an existing website | Coursework Assessment | Assignment | 30 % | Week 11 | 2,3,4 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Terminal Exam | Final Exam | Open Book Exam | 50 % | End of Semester | 1,3,4 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Lecture | 1 | Weekly | 1.00 |
Practical / Laboratory | Computer Laboratory | Lab practical work | 3 | Weekly | 3.00 |
Independent Learning | Not Specified | Independent learning | 3 | Weekly | 3.00 |
Required & Recommended Book List
2016-11-04 JAVASCRIPT: Easy JavaScript Programming For Beginners. Your Step-By-Step Guide to Learning JavaScript Programming (JavaScript Series) CreateSpace Independent Publishing Platform
ISBN 1539929183 ISBN-13 9781539929185
2016-09-16 Understanding Ecmascript 6 No Starch Press
ISBN 1593277571 ISBN-13 9781593277574
2017-08-24 Json for Beginners: Your Guide to Easily Learn Json In 7 Days Independently published
ISBN 1549578456 ISBN-13 9781549578458
Module Resources
NA
https://developer.mozilla.org/en-US/
https://www.w3.org/
http://jquery.com/
https://www.npmjs.com/
http://stackoverflow.com/
Virtual machines
NA