
MAD9014
Cross-Platform Web Development
Course Outline
2023-2024
- Pre-requisite(s)
- N/A
- Co-requisite(s)
- MAD9013
- Prepared by
- Steve Griffith
- Approved by
- Jodi Tilley, Acting Chair, Media Studies
- Approval date
- Friday, May 5, 2023
- Normative hours
- 70.00
- Grading system
- A+ Through F
Applicable Program | Level | Core/Elective |
---|---|---|
1515X01FWO - Mobile App. Des. & Dev | 1 | Core |
Course Description
While developing native applications for mobile devices can hold many advantages, not every application runs only on a phone, and not every application requires direct access to native device features. Students gain a strong grasp of modern JavaScript development techniques through hands-on practice using Core JavaScript for both NodeJS and Browser environments. Students use the HTML5 stack with JavaScript to access modern Web APIs and build practical web applications that can use remote data sources and be instantly updated across multiple mobile and desktop platforms. Design skills and tools are leveraged to enhance these web applications.
Vocational Learning Outcomes
This course provides the opportunity for you to achieve the following outcomes:
1515X01FWO - Mobile App. Des. & Dev
VLO 3 | Create effective user interfaces that leverage evolving mobile device capabilities. (T, A) |
---|---|
VLO 5 | Design and develop cross-platform applications built with rich-media and HTML-based technologies. (T, A) |
VLO 7 | Research and apply various software development kits (SDKs), frameworks and toolkits. (T) |
VLO 9 | Build, test, and deploy secure mobile solutions using appropriate network technologies. (T, A) |
Essential Employability Skills
This course contributes to your program by helping you achieve the following Essential Employability Skills:
EES 5 | Use a variety of thinking skills to anticipate and solve problems. (T, A) |
---|---|
EES 10 | Manage the use of time and other resources to complete projects. (T, A) |
Course Learning Outcomes / Elements of Performance
When you have earned credit for this course, you will have demonstrated the ability to:
1. Employ professional web development tools such as Git, Github, and Visual Studio Code, in combination with a variety of SDKs, Toolkits, and Frameworks to create multi-page web apps, Single Page Applications, and JAMStack web apps.
- Use Git from the Command Line Interface to create and manage projects.
- Use Github to host websites and web app projects.
- Create projects and scripts with command line Git and NPM-based modules.
- Use VS Code extensions and features such as linting, code completion, built-in terminal access, and live server previews.
- Use Github to track issues and project development history, plus share work with other developers.
2. Use Core JavaScript features in NodeJS and the browser to create modern web scripts.
- Write functional programming scripts in JavaScript using built-in Array and Object methods.
- Explain the differences between different JavaScript looping statements - for, for...in, for...of, while, and do...while.
- Demonstrate different ways to solve logic problems in JavaScript with if statements, ternary statements, switch case statements, and logical short-circuiting.
- Explain the features and differences between function declarations, function expressions, IIFEs, standard functions, and arrow functions.
- Explain how different scopes are created in JavaScript and how using let, const, and var can impact the ability to access variable values.
- Select and employ appropriate JavaScript data structures for information related to a webpage.
- Demonstrate how to use built-in JavaScript methods such as map, filter, sort, push, pop, slice, and splice to manage Arrays.
- Demonstrate how to create and manage Object literals in JavaScript
3. Utilize remote web servers and APIs with HTTP requests, to provide dynamic content for web sites and web apps.
- Create XML and JSON files to hold data for use in JavaScript.
- Use the XMLHttpRequest and/or Fetch API to retrieve files from a remote API.
- Use Cookies, Headers, and QueryStrings to pass security information to a web server.
- Upload data to a web server or API using the Fetch API.
- Implement Cross-Origin Resource Sharing best practices while fetching data from a remote API.
4. Use event-driven JavaScript to write scripts that allow users to interact with the Document Object Model.
- Write scripts that dynamically add, update, or remove HTML elements based on user interactions.
- Write scripts that move HTML elements to different locations on the page following user interactions.
- Create scripts with JavaScript that run only after the HTML DOM has been parsed by the browser, or as a page is being unloaded.
- Create scripts with JavaScript that are triggered by a user filling out or submitting web forms.
- Create web page transitions and effects with scripts that are driven by events connected to CSS transitions and animations.
5. Employ HTML5 APIs to create interactive web pages that provide mobile device native-like features.
- Build a Single Page Application (SPA) that can simulate the appearance and navigation of multi-page websites.
- Create scripts that determine a user's geolocation with JavaScript from any browser.
- Create a script that uses the WebStorage API to save data locally in the browser.
- Create a script that uses the Cache API to save files in the browser.
- Use the Fetch API to download and upload text and binary files.
- Create a script that uses the History API to handle navigation including the browser back and forward buttons.
6. Use standard web programming techniques to create web sites and web apps that can run across all modern browsers.
- Use JavaScript namespaces, IIFEs, and ES Modules to organize web applications.
- Explain the differences between using the prototype syntax and the class syntax to extend objects in JavaScript.
- Demonstrate scripts in JavaScript with both an Object-Oriented approach and a functional programming approach.
- Explain the differences in JavaScript between iteration and enumeration of Object properties.
Learning Resources
- Online video tutorials
- Magazine articles
- Online wikis and articles
- Tutorials
- Classroom lectures
- BS LMS
- Online course material hosted through GitHub.
- YouTube video tutorials
- Remote lectures from the course instructor
- Help sessions with the Program Assistants
Learning Activities
- Hands-on exercises, assignments and projects
- Self-directed exercises
- In-class discussions
- Online tutorials
- Remote lectures from Professor
- Video tutorials
- Assistance from Faculty and Program Assistants
Pre-defined Evaluation / Earning Credit
The following list provides evidence of this course's learning achievements and the outcomes they validate:
Quiz(zes)/Test(s) (10%)
Validates Outcomes: CLO 2, CLO 6, EES 5, EES 10
Hybrid Assignment(s) (20%)
Validates Outcomes: CLO 1, CLO 2, EES 5, EES 10
Assignment(s) (40%)
Validates Outcomes: CLO 3, CLO 4, CLO 5, CLO 6, EES 5, EES 10
Final Project (30%)
Validates Outcomes: CLO 1, CLO 2, CLO 3, CLO 4, CLO 5, CLO 6, EES 5, EES 10
Prior Learning Assessment and Recognition
Students who wish to apply for Prior Learning Assessment and Recognition (PLAR) need to demonstrate competency at a post-secondary level in all outlined course learning outcomes. Evidence of learning achievement for PLAR candidates includes:
- Portfolio
- Performance Test
- Project/Assignment
Other Information
Grade Scheme
Final Grade | Mark Equivalent | Numeric Value | Final Grade | Mark Equivalent | Numeric Value |
A+ | 90% - 100% | 4.0 | A | 85% - 89% | 3.8 |
A- | 80% - 84% | 3.6 | B+ | 77% - 79% | 3.3 |
B | 73% - 76% | 3.0 | B- | 70% - 72% | 2.7 |
C+ | 67% - 69% | 2.3 | C | 63% - 66% | 2.0 |
C- | 60% - 62% | 1.7 | D+ | 57% - 59% | 1.4 |
D | 53% - 56% | 1.2 | D- | 50% - 52% | 1.0 |
F | 0% - 49% | 0 | FSP | 0 | 0 |
Course Related Information
Please refer to the Course website for specific course-related information, including a weekly break down of topics, as provided by your professor.
Program Information
1515X01FWO - Mobile App. Des. & Dev
If an assignment is still not submitted 10 days after the due date then a grade of zero will be given for the assignment. Students can still submit work for review and feedback after the 10 days but no grade will be given.
Any extensions to due dates must be arranged with the course instructor BEFORE the due date.
Department Information
College Related Information
Students are especially encouraged to be aware of the following College expectations
Academic Integrity
Algonquin College is committed to the highest standards of academic integrity, and students are expected to uphold these standards as part of the learning process. Any academic work submitted by a student is expected to be their own work, unless designated otherwise and all sources must be attributed. All students should be familiar with the Algonquin College policy AA48: Academic Integrity which outlines student’s roles and responsibilities and what represents academic misconduct. In some courses, online proctoring may be used to prevent academic dishonesty. Additional information can be found at Academic Integrity - Student Survival Guide - Subject Guides at Algonquin College (libguides.com) and via Academic Integrity Student Resources. Students with any questions about the course expectations regarding academic integrity are encouraged to speak to their professor and the College’s academic integrity team at acaio@algonquincollege.com
Centre for Accessible Learning
Students with visible and/or non-visible disabilities are encouraged to register with the Centre for Accessible Learning (CAL) in order to be eligible for appropriate learning supports and/or accommodations. Students are strongly encouraged to make an appointment with the Centre for Accessible Learning as early as possible when starting a program. Once your needs are identified, a Letter of Accommodation (LOA) will be issued which you can share with your professors. If you are a returning student, please ensure that professors are given a copy of your LOA each semester.
College Email
Students at Algonquin College are provided with a college email account. This is the address that will be used when the College, your professors, or your fellow students communicate important information about your program or course activities. Your network credentials can be found in the ACSIS portal and you are expected to check your Algonquin email regularly and to use it to send and receive college-related email. Support is available through the college Information Technology Service (ITS) at: https://www.algonquincollege.com/its/
Retroactive Accommodations
Students are expected to meet evaluation and completion deadlines as stated in course outline and course section information documents. In circumstances where evaluation and/or completion deadlines are missed or student performance has been affected by a temporary or permanent disability (including mental health), interim or retroactive accommodations may be considered. In such instances, please consult your course faculty member. For other situations where deferral of evaluations may be warranted, please consult Algonquin College Policy AA21: Deferred Evaluation.
Student Course Feedback
Algonquin College’s invites students to share their course experience by completing a student course feedback survey for each course they take. For further details consult Algonquin College Policy AA25: Student Course Feedback.
Use of Mobile Devices in Class
With the proliferation of small, personal mobile devices used for communications and data storage, Algonquin College believes there is a need to address their use during classes and examinations. During classes, the use of such devices unless authorized by your professor can be disruptive and disrespectful to others. During examinations, the use of such devices is generally prohibited unless authorized by your professor. Otherwise use is considered academic dishonesty in the form of cheating. For further details consult Algonquin CollegePolicy AA32: Use of Mobile Devices in Class
Technology Requirements
Students are required to have access to a computer and to the internet. There may also be additional technology-related resources required to participate in a course that are not included in the course materials fee, such as headphones, webcams, specialized software, etc. Details on these requirements can be found in the Course Section Information of the course outline for each course available on Brightspace.
Transfer of Credit
It is the student’s responsibility to retain course outlines for possible future use to support applications for transfer of credit to other educational institutions.
Safe Harbour
In the event of an unexpected major event (pandemic, etc.), your course may have changes that are not reflected in the Course Outline. Should this happen, the Course Section Information document will have updated information about your course.