PyBlocks
Michael Bardin, Bailey Smith, Xinjie Zhuang, Olisemeka Adugwo
Faculty Advisor(s): Dr. Phillip Chan, Department of Computer Engineering and Sciences, Florida Institute of Technology
MOTIVATION
- Many young kids first learn about coding through block based coding languages and activities.
- No quick and easy way to help middle and high-school aged kids transition their block-based knowledge to a higher level text-based programming language.
- Block-based programming is a great learning tool, but it has certain limitations.
- Block-based programming doesn't teach all the proper skills and styles needed to be successful when using text-based languages.
KEY FEATURES
- Tribrid Coding System
- Users can code with just blocks, hybrid blocks, and text code.
- Two different editors, one for blocks and one for text only.
- Editors are both easy to use and switch between.
- Grid world
- Visual area to help the users see what their code is doing.
- Nature Theme provides a pleasant and relaxing atmosphere.
- Flowers, Trees, Snakes are commonly used textures.
- Specially designed code blocks let the user to interact with the grid world.
- Move the character, pick up items, cast a magic spell.
- Tutorials
- Concise tutorials using simple language.
- Try It sections to use the skills being talked about.
- Follows the Why, What, How format to deliver the information.
PROJECT GOAL
- Teach basic skills to help transition from block-based programming to text-based programming.
- Give users code writing skills they need to be successful.
EVALUATION
- Tested system with a group of eleven people split into two groups. Each person completed two coding tasks.
- Group A had to use only normal Blocks in the first task.
- Group B had to use at least one Hybrid Block in the first task
- Both Groups had same second task.
- Group B had ~10% improvement over Group A for the time it took to complete the text-based coding task.
DESIGN OF THE SYSTEM
- Languages and Important Libraries:
- HTML, CSS, JavaScript, Node.js, Express, jQuery, Socket.io, Blockly.
System Architecture Diagram
ACKNOWLEDGEMENTS
- Dr. Chan
- Those who help evaluate our project.