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