1 of 1

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

Text

Hybrid Blocks

Blocks

Try-It Question

Grid World

ACKNOWLEDGEMENTS 

  • Dr. Chan
  • Those who help evaluate our project.