
MAD9022
FullStack: Frontend Development
Course Outline
2021-2022
- Pre-requisite(s)
- MAD9013 and MAD9014
- Co-requisite(s)
- N/A
- Prepared by
- Steve Griffith
- Approved by
- Dan Pihlainen, Chair, Media Studies
- Approval date
- Friday, November 26, 2021
- Normative hours
- 70.00
- Grading system
- A+ Through F
Applicable Program | Level | Core/Elective |
---|---|---|
1515X01FWO - Mobile App. Des. & Dev | 2 | Core |
Course Description
Students expand on their web development skills from the first semester, while learning how to create a variety of web and mobile projects. Full Stack, JAMStack, Progressive Web Apps, and Hybrid Apps are explored as viable solutions for modern app projects. Maintenance requirements and the limitations of different platforms are also examined.
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 4 | Design and develop websites that deploy to different devices and platforms. (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, 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 9 | Interact with others in groups or teams in ways that contribute to effective working relationships and the achievement of goals. (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. Build Progressive Web Applications and other web-based resources using JavaScript, CSS, and HTML5 APIs
- Create a web page that is optimized to load and run on both a mobile and desktop browser.
- Create web pages that uses multiple techniques, such as cookies, localStorage, and indexedDB, for saving data and identifying users.
- Write JavaScript to access a variety of HTML5 APIs
- Write JavaScript to manage a Progressive Web Application which will use a Service Worker to manage the HTTP Requests for various assets.
- Write JavaScript and HTML based web applications that demonstrate best security practices with Content-Security-Policies and CORS guidelines.
- Create web pages that use the Cache API to manage website resources in a way that follows industry best practices for limiting bandwidth and battery usage.
- Use data from external APIs as content for your web applications.
- Identify the parts of a Full Stack Application that a Full Stack Developer should be familiar with.
2. Plan and design a cross-platform mobile application for both the iOS and Android platforms.
- Outline the differences between various mobile device interfaces and how those differences impose different design challenges within applications.
- Outline the requirements for building different mobile applications taking into account device capabilities, user ability and end purpose.
- Create platform specific mobile application graphical assets like Launcher icons and Splashscreens.
- Contrast and compare the technology differences between a Progressive Web App and a mobile app built with a framework like Flutter.
- Create a colour scheme and select an appropriate group of fonts for your application.
3. Build cross-platform mobile applications for both the Android and iOS platforms using the Dart programming language.
- Use a the Flutter Framework from the command line to create a new mobile project, then build and launch the project.
- Use the Dart language to demonstrate the programming fundamentals already learned with Javascript. These include, variables, data structures, functions, logic operations, flow control, looping, plus creating and controlling interface elements from scripts.
- Use community built Flutter widgets within your application.
- Install and run cross-platform framework-based mobile applications in Emulators, Simulators, as well as physical devices.
4. Use modern development tools to apply best practices for data usage, battery life, and accessibility.
- Test mobile web applications on an iOS Simulator and a physical iOS device.
- Test mobile web applications on an Android Emulator and physical Android devices.
- Use the Lighthouse development tools in the Chrome browser to test web apps for Performance, PWA requirements, best practices, and accessibility.
- Demonstrate how to use the development tools in the Chrome and/or Firefox browser to test and debug web applications.
5. Solve programming problems within a limited time frame using research skills.
- Respond verbally during class to questions about programming topics.
- Complete programming challenges within a limited amount of time.
- Solve development problems related to new technologies with limited direction from faculty.
- Demonstrate the ability to research and solve a problem under a deadline.
Learning Resources
Weekly Activities
In-class lectures, quizzes, coding practice and exercises - 4 hours per week.Asynchronous learning activities - 1 hour per week.
Assigned readings, video tutorials, practice work, and exercises outside of class - minimum 5 hours per week.
Supporting Resources
No required textbook.Course website filled with tutorials, videos, and other links.
Numerous online written and video tutorials.
Required Software
Windows 10MacOS
VS Code IDE for web and mobile development
Android Studio IDE plus Android SDK and APIs
Xcode IDE iOS SDK and APIs
Apple Developer Account
Git
Node JS and NPM
Flutter
Dart
Learning Activities
2. Online quizzes
3. Remote and/or in-class discussions
4. Verbal quizzes
5. Remote and/or in-class lectures
6. Video tutorials
7. Pairs Programming
Pre-defined Evaluation / Earning Credit
The following list provides evidence of this course's learning achievements and the outcomes they validate:
Project(s) (50%)
Validates Outcomes: CLO 1, CLO 2, CLO 3, EES 5, EES 9, EES 10
In-class Work (15%)
Validates Outcomes: CLO 1, CLO 3, CLO 4, EES 5, EES 10
Quiz(zes)/Test(s) (20%)
Validates Outcomes: CLO 5, EES 5, EES 10
Hybrid Assignment(s) (15%)
Validates Outcomes: CLO 1, CLO 3, CLO 5, 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
- 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
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 . In some courses, online proctoring may be used to discourage cheating. Additional information can be found at https://www.algonquincollege.com/studentsupportservices/student-learning-kit/preparing-to-learn-online/. Students with any questions about the course expectations for academic dishonesty and plagiarism are encouraged to speak to their professor.
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 at 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 can be disruptive and disrespectful to others. During examinations, the use of such devices may facilitate cheating. For further details consult Algonquin College Policy AA32: Use of Mobile Devices in Class
Technology Requirements
As Algonquin College continues to respond to public health guidelines, many courses will be offered through remote delivery. As such, students will be 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.