If the issue persists, check your ad blocker: some filters (e.g., EasyList used by Malwarebytes) can mistakenly disable the registration function. Please whitelist this page or disable the specific filter for the LearnCoding domain.
Privacy Policy
LearnCoding Platform - Privacy Notice and Consent
What is LearnCoding?
LearnCoding is a UBC-hosted, interactive, online learning platform that allows you to complete programming exercises, trace code execution, and earn digital badges upon successfully completing lessons. The platform provides an engaging educational experience for learning programming concepts across multiple languages.
Third-Party Services
We use several external and self-hosted services to enhance your learning experience. If you opt-in, Badgr Canada (ca.badgr.com) is used for optional digital badge storage that you can choose to connect to your account. Python Tutor (pythontutor.com) is used for code visualization, receiving only your code with no personal data transmitted. We also use self-hosted services including Judge0 for code execution and Matomo for usage analytics, both of which are hosted entirely on UBC servers and do not transmit data externally.
What Information We Collect
For account creating and identification, LearnCoding requires your name, email address, chosen username, encrypted password, and UBC student ID for UBC students. You can update your profile information, including your email, name, and password, at any time through your account settings.
The platform also collects data related to your learning activities, including quiz scores and assessment results, lesson completion status and progress tracking, and anonymized activity logs such as the number of times you access webpages and time spent on lessons. Additionally, any programming code you submit for evaluation purposes will be temporarily processed through our systems. If you choose to connect your account to external badge services like Badgr Canada, this connection is entirely optional and under your control.
The collection of your personal information by UBC is authorized by section 26(c) of the British Columbia Freedom of Information and Protection of Privacy Act (FIPPA).
How We Use Your Information
Your information is used solely for educational purposes and improving the learning experience. This includes providing feedback on your programming exercises, tracking your progress through lessons and modules, and enabling instructors to assess and export grades for UBC students only. The platform also uses your data to award and verify digital badges upon lesson completion, helping you showcase your programming achievements.
Information Sharing
For UBC students, your encrypted student ID and grades may be shared with your instructor for academic assessment purposes only. If you choose to connect to Badgr Canada, only your earned badges and lesson completion status are shared with Badgr Canada, and no other personal information is transmitted. When using the code visualization feature, only your programming code is sent to Python Tutor for display purposes, with no personal data being shared. Your personal information is never sold or shared with third parties for commercial purposes.
Your information may also be shared as permitted by FIPPA.
Data Security and Storage
All data is securely stored on UBC servers located in Canada. Student IDs are encrypted using one-way hashing before storage, ensuring they cannot be reverse-engineered. The platform uses HTTPS encryption for all data transmission between your device and our servers. Regular security backups are maintained by UBC IT services to ensure data integrity and availability.
Data Retention
Data will be retained and destroyed in accordance with UBC policy TL7100: Teaching and Learning – Online Course Management, which governs the lifecycle of educational data at the university.
UBC students can disconnect their student ID from their account if desired, and you may request deletion of your account by contacting us directly, however, records must be retained in accordance with the UBC Retention Schedules.
Contact
For questions regarding the use of LearnCoding, the personal information collected, its handling, or how to access and correct your data, please contact learn.coding@ubc.ca.
Last updated: 11/23/2025
Instructor Terms of Use
Overview. These Terms of Use explain the rights and responsibilities of instructors who create, upload, or manage instructional materials on LearnCoding. They complement the platform's general Privacy Policy and apply specifically to instructor accounts and instructor-provided content. LearnCoding is an interactive online learning platform hosted and maintained by the University of British Columbia (UBC). By using an instructor account you agree to comply with these Terms of Use.
Instructor Accounts & Renewal
- Instructor accounts are issued to verified instructors and are intended for instructional use, course management, and content creation.
- For security and in accordance with our data retention policy, instructor accounts must be reviewed and renewed every five (5) years. Prior to renewal the platform will notify the account holder and the associated institutional administrator. Failure to complete renewal steps when notified may result in temporary suspension of instructor privileges.
- Account renewal includes verification of identity and continued affiliation with the institution (where applicable). Renewal procedures are set by UBC and may require the submission of documentation or confirmation from an administrator.
Lesson Content & Retention
- Instructors retain copyright and ownership of the lesson materials they create and upload to LearnCoding, subject to the license granted to UBC below.
- The platform stores lesson content to provide continuity of instruction, support grading and analytics, and enable features such as versioning and archival. Lessons created by instructors will be retained by the site unless the instructor requests removal and such removal is compatible with institutional record-keeping policies.
- UBC and the LearnCoding platform reserve the right to retain copies of lesson materials for archival or compliance reasons (for example, academic records or accreditation audits). This may include retaining copies after an instructor leaves the institution or an account is closed, subject to applicable policies and legal requirements.
- If an instructor requests deletion of lesson content, LearnCoding will evaluate the request in accordance with institutional retention policies and any contractual or legal obligations. In some cases, portions of content may be anonymized or archived rather than permanently deleted to preserve academic integrity or grade records.
Acceptable Use & Content Standards
- Instructors must ensure that the content they provide complies with institutional policies, copyright law, and applicable regulations. Prohibited content includes, but is not limited to: copyright-infringing material, defamatory/harassing/discriminatory/illegal content, and material that violates student privacy.
- The platform may remove or restrict access to content that violates these standards or that presents legal risk. LearnCoding will provide notice to the content author where feasible.
Data Collection & Use
- LearnCoding collects data needed to provide the service and to support educational assessment. For instructors this includes account information, course and lesson metadata, grade exports, and anonymized usage analytics.
- Collected data is used to operate and improve the platform, support grading and reporting (including export to institutional systems such as Canvas), provide analytics and aggregated reports, and support research and system monitoring in anonymized or aggregated form.
- The collection and handling of personal information is governed by applicable institutional privacy policies and the British Columbia Freedom of Information and Protection of Privacy Act (FIPPA) where applicable.
Security & Rights
- The platform uses industry-standard technical and organizational measures to protect stored data. Instructors must also follow best practices for account security, including using strong passwords and safeguarding multi-factor authentication where enabled.
- By submitting content to LearnCoding, instructors grant UBC a worldwide, non-exclusive, royalty-free license to store, display, and use the content for the purpose of providing the platform and related educational services. This license is limited to educational and administrative purposes and does not transfer copyright ownership.
- Instructors retain moral and copyright rights in their work. If the instructor elects to use a third-party tool (for example, Badgr for badges), additional terms may apply for the sharing of limited data necessary for that integration.
Third-Party Services
- LearnCoding integrates with third-party services such as Badgr Canada (badges), Judge0 (code execution), Matomo (analytics), and Canvas (LMS interoperability). When instructors enable integrations, LearnCoding will share only the minimum data required for the integration to function.
Termination & Suspension
- UBC may suspend or terminate an instructor account for policy violations, inactivity (including failure to renew), or other institutional reasons. Termination does not necessarily result in immediate deletion of associated lesson content; retention will follow institutional policies and legal obligations as described above.
By maintaining an instructor account and using LearnCoding you acknowledge that you have read and understood these Terms of Use.