Inspiration
Many students cannot get or afford access to computer hardware. Schools that can afford hardware often lose parts. With Build A Bot, all hardware is simulated, so students don't have to worry about any setup, and can focus on learning.
What it does
Build A Bot has step-by-step tutorials for individuals to program digital hardware. Usual hardware limitations are also implemented. For example, in the music experience, the trumpet cannot produce sound infinitely, it will have to regain the pressure used to blow.
How we built it
The JavaScript frontend is built with Parcel, and uses Google's Blockly. For the Python backend, we use Flask.
Challenges we ran into
- Getting a working "ask" and "wait" blocks was difficult. Unlike other languages, JavaScript isn't synchronous. This makes it hard to "pause" your code. For this reason, we implemented a callback system, often used in real JavaScript code.
- With the music experience, getting the trumpet to sound continuously was difficult. Web browsers have a limit to slowing down audio, so playing a note for a long time wasn't easy. We ended up making this a feature so that the hardware limitations were realistic.
Accomplishments that we're proud of
We're proud of having a functional prototype, and the tutorials so people can engage easily, we're also proud of how simple the website is, making it easy for a new user to get going quickly.
What we learned
We learned a lot about how education can be used with blocks, and what ways of this are more effective. We also improved our general programming knowledge, especially with JS and Blockly.
What's next for Build A Bot
More tutorials, music instruments, game modes, and general improvements.
Built With
- blockly
- css
- html
- javascript
- parcel
- pycharm
- python
Log in or sign up for Devpost to join the conversation.