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, encrypted password, and (for some institutions' students) an institutional student ID. 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. The platform also uses your data to award and verify digital badges upon lesson completion, helping you showcase your programming achievements.
Information Sharing
Your encrypted student ID (where applicable) 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.
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