About :bitForge
:bitForge is a free, independent collection of short micro:bit Python practice challenges for teachers working with learners in grades 6–8.
What you will find here
Each challenge includes a complete solution, observable success criteria, teacher notes, extensions, hardware requirements, and a mapping to CSTA standards. Challenges are available at Foundational or Advanced level and use either MakeCode Python or MicroPython.
The published challenge Library is free and requires no account. Optional AI-assisted generation uses a teacher's own provider account and may incur charges from that provider. AI-generated challenges are drafts: they have not been tested on hardware and should be reviewed before classroom use.
No student accounts
:bitForge does not include student profiles, student tracking, or automated assessment.
Teacher-controlled AI
API keys remain in the current browser tab, pass through a stateless proxy, and are not stored by :bitForge.
Complete practice materials
Student prompts, success criteria, extensions, solutions, and teacher notes can be printed when needed.
Clear verification status
Published challenges are labeled as device tested or not tested. Browser-local drafts are kept separately in Saved Work.
Library and Saved Work
The Library contains challenges published by :bitForge. Published does not necessarily mean device tested, so check each challenge's status before classroom use. Saved Work contains complete, unpublished drafts created or imported in the current browser.
Saved Work does not synchronize to another browser or device. Anyone using the same browser profile may be able to access it, and clearing site data removes it. Browser storage is a convenience rather than a backup, so download important challenges.
Tags help you organize both views. :bitForge may publish useful Library tags, while tags you add—and Library tags you hide—are saved only in the current browser. Personal tag edits never change the shared Library. Clearing site data or choosing Restore defaults removes those edits and returns to the current Library tags. Download a tag backup if you want to transfer your organization to another browser.
Choosing an editor
Blocks-friendly challenges use Microsoft MakeCode and can be completed in Blocks or MakeCode Python. Challenges labeled MicroPython use a different Python dialect and should be opened in the micro:bit Python Editor. Copy the challenge's starter code or solution into that editor, then connect or transfer the program to the micro:bit using the editor's instructions.
MakeCode Python and MicroPython are not interchangeable. Their library names and some commands differ, so use the editor named by the challenge rather than pasting MicroPython code into MakeCode.
Ways to create a challenge
Mad Libs creates a complete challenge locally from a reviewed :bitForge blueprint. It generates the prompt, success criteria, starter and solution code, hardware requirements, and teacher notes without calling an AI service. Saving places the result in Saved Work.
You can design a challenge entirely by hand with the planning worksheet and JSON template in Resources. This route gives you full control over the prompt, hardware, success criteria, code, and teacher notes without using an AI service.
You can also use the free chat interface for ChatGPT, Gemini, Claude, or another general-purpose assistant. In Generate, choose the concept, difficulty, editor, hardware, and classroom details. :bitForge builds bounded instructions to copy into the chat tool you already use. Add the downloaded result to :bitForge, or paste the complete AI reply when no file is provided. No developer key or TextEdit is required. Free-chat output may still need correction before :bitForge accepts it. Do not include student personal information.
:bitForge accepts provider-neutral challenge results and checks their structure and Python dialect before adding it to Saved Work. Imported and AI-generated challenges are browser-saved drafts: review the content and test the code on the intended hardware before classroom use.
Advanced direct connection: People with an AI provider's developer account, API billing, and private access key can generate directly inside :bitForge. This option is intentionally separated from the recommended free-chat workflow. See the plain-language AI guide before deciding whether you need it.
Validation and Library consideration
Validation confirms that a challenge has the required structure and uses a supported Python dialect. It does not prove that the instructions are appropriate for a particular classroom or that the code works on physical hardware.
A Saved Work draft may be submitted for Library consideration. Submission does not guarantee publication. :bitForge may review, edit, test, reject, or publish the challenge. Only the Admin workflow can publish a challenge or mark it as device tested. Do not include student personal information in a draft or submission.
How your API key is handled
The optional generator keeps your API key temporarily in the memory of the current browser tab. It is not placed in cookies or browser storage. When you generate a challenge, the key and your generator inputs travel over HTTPS to a stateless :bitForge server route, which sends the request to OpenAI or Anthropic. :bitForge does not save the key or write it to application logs, and generation responses are marked not to be cached.
The key necessarily passes through :bitForge's Vercel-hosted route and is received by the AI provider you select. Provider charges and data-handling terms apply. As with any browser form, a compromised device, malicious browser extension, or someone with access to developer tools may be able to see entered information. Do not include student personal information in the classroom context field.
For additional protection, use a separate project or workspace key with a low spending limit, and rotate or revoke it after your project when appropriate. Closing the generator discards the key from :bitForge's interface.
Why physical computing?
A student can understand what a loop does and still stumble over the syntax Python requires to express it. Removing surface syntax does not remove the underlying conceptual work: conditionals, for example, can remain difficult when their logic is implicit in a block-based representation (Weidmann et al., 2026).
The premise behind :bitForge is that physical computing can shorten part of the feedback loop. A blinking light, changing display, or sounding speaker gives students something concrete to test and revise against. That does not guarantee they understand why the code produced the outcome. Research suggests physical artifacts can support structural and functional comprehension while deeper understanding of program behavior remains difficult (Jayathirtha & Kafai, 2021).
Evidence about engagement is more consistent than evidence about conceptual understanding. Studies commonly report increased interest or preference for physical-computing activities (Vergara, Rossel & Herskovic, 2025; Love, 2023). At least one comparative study found that students preferred the hands-on experience while also describing physical computing as harder for learning computing concepts (Love & Asempapa, 2022).
Why short challenges?
The challenges are short and bounded by design. They are intended for practice after or alongside instruction, giving students a concrete result to work toward and teachers room to decide how much support to provide. This structure comes from my classroom experience rather than from a claim that one format works for every learner or setting.
:bitForge is shaped by that classroom experience and offered as a practical resource, not as a prescribed method for teaching programming.
What this resource is not
:bitForge is not a complete curriculum, an LMS, a student-tracking system, or a replacement for teacher judgment. It does not provide automated assessment, and it makes no claim that every challenge will suit every classroom.
Project and attribution
:bitForge is a free, independent hobby project created by Rucha Gokhale. Copyright © 2026 Rucha Gokhale. Questions and feedback are welcome at letstalk@indyri.se.
Challenges are mapped to identifiers from the 2026 CSTA PK–12 Computer Science Standards, licensed under CC BY-NC-SA 4.0. “Mapped to” does not represent a formal CSTA alignment review or endorsement.
Sources and further reading
- Weidmann et al. (2026), The Elephant in the Syntax: A Comparative Study of Semantics-First, Block-Based, and Textual Programming.
- Jayathirtha & Kafai (2021), Program Comprehension with Physical Computing.
- Love & Asempapa (2022), A screen-based or physical computing unit?.
- Love (2023), Examining middle school students' attitudes toward computing.
- Vergara, Rossel & Herskovic (2025), Understanding the use of physical computing in K-12 education.
- McLaughlin & Farris (2025), A Systems Thinking Perspective on Building and Debugging Physical Computing Projects.
