Help Center
Everything you need to succeed on the HardCoded platform. Browse our knowledge base or contact support.
Join our Discord community to connect with other South African developers.
Getting Started Guide
New to HardCoded? Learn how to set up your account and start your coding journey.
Sign up at /register with your email address. You'll receive a verification email to activate your account. Once verified, you can enroll in any of our free courses.
Browse available courses at /courses. Click on a course to see its curriculum, then click "Enroll for Free" to get started. You'll immediately have access to all course content.
Your dashboard shows enrolled courses, recent progress and quick links to continue learning. The sidebar displays your current course modules and lessons. Green checkmarks indicate completed lessons.
Each lesson contains text explanations or interactive coding challenges. For reading lessons, the Mark Complete button appears after you have had a chance to read through the material — take your time and scroll through the full lesson. Some lessons also require passing an assessment to continue.
How to Submit Code Challenges
Learn how to write, test and submit solutions to coding challenges.
Our code editor supports syntax highlighting for Python, JavaScript, C#, Java, PHP and TypeScript. Write your code in the editor and use Ctrl+Space for autocomplete suggestions.
Click "Run Tests" to execute your code against sample test cases without submitting. This lets you debug and verify your solution before final submission. Test results show expected vs actual output.
When ready, click "Submit Solution" to run your code against all test cases including hidden ones. You'll see your score and whether you passed. Successful submissions earn points for the leaderboard.
Test results show: ✅ Passed (output matches expected), ❌ Failed (output doesn't match), ⏱️ Time Limit Exceeded, or 💾 Memory Limit Exceeded. Read error messages carefully to debug.
Troubleshooting Common Errors
Solutions to frequently encountered problems.
Check for syntax errors, missing semicolons, or incorrect brackets. The error message usually indicates the line number. For Java/C#, ensure your class names match the requirements.
Common causes: division by zero, null/undefined references, index out of bounds. Use console.log() or print() statements to debug. Check edge cases like empty inputs or negative numbers.
Your code took too long to execute (>5-10 seconds). Optimize your algorithm - avoid nested loops where possible, use efficient data structures and check for infinite loops.
Your code runs but produces incorrect output. Read the problem statement carefully, check for off-by-one errors, test with the sample inputs and consider edge cases you might have missed.
Some lessons require passing a previous assessment. Look for 🔒 locked lessons and complete the required assessment with at least 70% to unlock subsequent content.
For reading lessons, the Mark Complete button is intentionally hidden until you've spent enough time on the page. Scroll through the full lesson and give yourself time to read — the button will appear automatically once you've had a chance to go through the material. This cannot be skipped, as it ensures you get the most out of each lesson.
Understanding Assessments & Progression
How our assessment system works and how to progress through courses.
Assessments are coding challenges that verify you've mastered the material before moving forward. Unlike optional practice challenges, you must pass assessments to unlock the next lessons.
You need at least 70% to pass an assessment. This means passing 70% of the test cases. You can retry assessments as many times as needed - there's no penalty for multiple attempts.
If you don't pass on your first try, review the lesson content and try again. Each attempt helps you learn. Your best score is saved and displayed on your progress page.
Complete all lessons and pass all assessments to finish a course. You'll earn a certificate of completion that you can share on LinkedIn or your resume.
Account & Enrollment FAQs
Frequently asked questions about accounts and course enrollment.
Yes! All courses marked as "FREE" are completely free to access. You can enroll, complete lessons and earn certificates at no cost. Premium features may be added in the future.
Absolutely! Enroll in as many courses as you like. Your dashboard will show all enrolled courses and you can learn at your own pace across multiple languages.
Visit your dashboard to see progress for each enrolled course. The course sidebar shows completed lessons with checkmarks. Your profile displays total points earned and leaderboard ranking.
Course content is designed for online learning to ensure you always have the latest version. However, you have lifetime access to re-watch videos and review material anytime.
On the login page, click "Forgot Password". Enter your email address and we'll send a password reset link. Follow the link to create a new password.
Referral Programme
Earn points and achievement badges by inviting others to learn on HardCoded.
Every HardCoded student has a unique referral link on their dashboard. Share this link with friends, classmates or colleagues. When someone registers using your link, you earn 100 referral points automatically. There is no limit to how many people you can refer.
Log in and go to your dashboard. Your referral card displays your unique link (e.g. hardcoded.co.za/register?ref=yourname). Click the copy button to copy it to your clipboard, then share it via WhatsApp, email, social media or anywhere else.
You earn 100 referral points for each person who registers using your link. Points are awarded instantly when the new student completes registration. Your total referral points are displayed on your dashboard referral card.
Reach referral milestones to unlock achievement badges and bonus XP. Your first referral earns the First Referral badge (50 XP). Refer 5 students for the Referral Pro badge (100 XP), 10 for Referral Master (200 XP) and 25 for Referral Legend (500 XP). Badges appear on your profile for everyone to see.
Referral points are tracked on your dashboard and reflect your contribution to the HardCoded community. We are building a redemption system that will let you use points towards certificate credits and other rewards. Stay tuned for updates.
Each person can only be referred once. You cannot refer yourself. If referral processing encounters an issue, the new student will still be registered successfully. Referral points are separate from course XP but both contribute to your profile.
Certificates & Verification
How to earn, share and verify HardCoded course completion certificates.
Complete 100% of all lessons in a course and pass all required assessments. Your certificate is automatically generated and appears in your dashboard. Certificates include your name, course details, completion date and a unique certificate number.
To verify any HardCoded certificate, visit hardcoded.co.za/verify and enter the certificate number (e.g., HC-2026-000001). Our system validates it against our secure database in real-time. You can also click any certificate URL to view and verify it.
Each certificate has a unique public URL like hardcoded.co.za/certificates/HC-2026-000001. Share this URL on LinkedIn, your resume, or with employers. Anyone can view and verify your certificate without logging in.
Every certificate includes a SHA-256 cryptographic hash for authenticity verification. This ensures certificates cannot be forged or tampered with. Our verification system uses blockchain-inspired technology for maximum security.
When employers verify your certificate, they see your full name, course title, completion date, certificate number and a verified badge. The certificate page clearly states the skills demonstrated and includes course level and language.
Certificates are available as web pages with unique URLs for easy sharing and verification. PDF download functionality will be added soon. For now, you can print the certificate page or share the verification URL.
Platform Tools
Personal features built into the platform to support your study sessions.
The notebook icon in the bottom-left corner of every page opens your personal notepad. Use it to jot down commands, concepts, or anything worth remembering as you work through lessons. Your notes are automatically saved to your account as you type — there is no save button. They are synced across all your devices and are visible only to you. No one else, including HardCoded staff, can read your notes.
Your notes are stored securely in the HardCoded database, linked to your account. They are protected by the same authentication that protects the rest of your account — only you can access them when logged in. We do not share, sell, or read your personal notes. If you close your account, your notes are deleted along with your account data.
Click the moon icon in the top navigation bar to switch to dark mode. Click the sun icon to switch back to light mode. Your preference is saved in your browser and will be remembered the next time you visit. If your device or browser is already set to prefer dark mode, HardCoded will match it automatically on your first visit.
The chat bubble icon in the bottom-right corner lets you send feedback directly to the HardCoded team at any time. Use it to report bugs, suggest features, or flag anything that feels off. We read every submission.
Code Execution Limits & Best Practices
Understanding code execution limits and optimization tips.
Python, JavaScript, PHP, TypeScript: 5 seconds. Java, C#: 10 seconds. If your code exceeds these limits, optimize your algorithm or reduce computational complexity.
Python, JavaScript, PHP, TypeScript: 256 MB. Java, C#: 512 MB. Avoid creating unnecessarily large data structures. Use generators/iterators for large datasets when possible.
Read input using: Python (input()), JavaScript (readline()), Java (Scanner), C# (Console.ReadLine()), PHP (fgets(STDIN)). Print output using the standard print/console functions.
Use appropriate data structures (hash maps for lookups, arrays for sequential access). Avoid nested loops when possible. Cache repeated calculations. Consider time complexity: O(n) is better than O(n²).
We support modern, stable versions of Python 3, JavaScript, Java, C#, PHP and TypeScript with all current language features you need for professional development.