关于 小小程序员
小小程序员是一个完全免费、无广告、无内购、无需注册的儿童编程学习平台, 专为 6–12 岁中文母语孩子 设计。打开浏览器就能用,电脑、平板、手机都支持。
站内目前有三条学习路径: ⌨️ 打字入门 · 13 关 🐍 Python 入门 · 12 关 ⚡ C++ 入门 · 7 关 每一关前面有 4 步小课(概念 → 示例 → 你也来写 → 猜一猜), 通过之后用真实代码或打字挑战拿到 1–3 颗星,星越多积分越多。
为什么做这个?
市面上大部分"儿童编程"网站是英文的,讲解用英文,代码示例用英文, UI 设计也是给英语国家的孩子看的。对一个刚开始学汉字、刚开始学英文单词的 中国小朋友来说,门槛太高。
小小程序员想让一个 6 岁的孩子,用 5 分钟时间,在浏览器里写出人生第一行代码:
print("你好,世界!") — 屏幕立刻显示"你好,世界!"
用他自己的语言。
设计原则
- 用孩子自己的语言写代码 — 第一关就是中文文本输出,不是 Hello World。
- 小步走,每步都拿得到反馈 — 4 步小课 + 1 关挑战,通关立刻得到星星和彩屑。
- 有陪伴,不孤单 — 养一只小宠物(默认叫"小码"),每颗星都变成宠物的经验值。
- 关闭页面不丢进度 — 浏览器本地保存所有进度,无需账号无需登录。
- 家长不用研究怎么用 — 打开网址就行,没有"激活码"没有"加入班级"没有"购买会员"。
技术栈
给好奇的大人:
- 前端:Vite 6 + React 18 + TypeScript 5,使用 BrowserRouter(SEO 友好)
- 样式:Tailwind 3,自定义糖果色系(粉/橙/黄/绿/蓝/紫)
- 代码编辑:CodeMirror 6 (Python 和 C++ 课程)
- Python 运行环境:Pyodide 0.27(在浏览器里直接跑 Python,无需服务器)
- 状态管理:Zustand 5(无 persist 中间件,自管理保存逻辑)
- 本地进度持久化:零依赖 Node http server(开发环境);浏览器 localStorage(生产环境)
- SEO:react-helmet-async + JSON-LD(FAQPage + Course + SoftwareApplication + WebSite)
- 部署:Cloudflare Pages(Connect to Git 自动部署)+ Pages Functions(SPA fallback)
隐私 & 数据
我们不收集任何个人数据。不注册,不邮箱,不手机号,没有第三方追踪脚本, 没有 Google Analytics,没有 Facebook Pixel。孩子的进度、积分、徽章、宠物状态 全部存在他自己的浏览器里(本地存储),关闭浏览器或换电脑不会丢。
父母可以随时在 Profile 页面点"重置所有进度"清空数据。
商业 & 资助
站点目前完全由个人维护,无任何商业化。 服务器成本由个人承担,Cloudflare 的免费额度足够支撑目前的访问量。 如果未来需要扩展(更多服务器资源 / CDN / 存储), 可能会增加一个完全可选的"赞助"按钮,但当前阶段没有这个需要。
路线图
- 📝 已完成:打字(13 关) / Python(12 关) / C++(7 关) 三条学习路径
- 🚧 计划中:Scratch 可视化编程(用 blockly)
- 🚧 计划中:JavaScript 入门
- 🚧 计划中:多设备同步(用 Cloudflare KV 或 D1,孩子换设备也能继续)
- 💡 想法:家长报告(让家长看到孩子本周的进步)
- 💡 想法:多人协作关卡(让两个孩子一起解题)
贡献 & 反馈
这是一个个人项目,在 GitHub 上开源。 欢迎家长、老师、孩子在 Profile 页面留下反馈,或者在仓库提 Issue。 特别欢迎:
- 关卡内容错误(代码跑不通、题意不清、答案有歧义)
- 年龄分级建议(某关卡对 8 岁孩子太难 / 对 12 岁孩子太简单)
- 新关卡创意(如果你是老师/家长,想让孩子学什么具体概念?)
- 无障碍 / 翻译 / 浏览器兼容性 反馈
常见问题
多大孩子适合?
推荐 6–12 岁。打字课从零起步(不需要任何编程基础); Python 课建议 8 岁以上,孩子需要能认识简单的英文字母; C++ 课建议 10 岁以上,需要孩子已经能阅读简单汉字和英文单词。
需要下载 App 吗?
不需要。打开浏览器访问 babycode.online 就能用。
真的是免费的吗?
完全免费,没有内购,没有广告,没有付费墙。
孩子用手机/平板能用吗?
可以。Python 和 C++ 课程在手机上有专门的"移动代码键盘", 体验比桌面略简化但完全可用。打字课在所有设备上体验都很好。
🚀 打开 小小程序员