Skip to main content

Flow2Code: Transforming Hand-Drawn Flowcharts into Executable Code to Enhance Learning

  • Chapter
  • First Online:
Inspiring Students with Digital Ink

Part of the book series: Human–Computer Interaction Series ((HCIS))

Abstract

Flowcharts serve as a great tool for new students learning programming logic in a language-independent fashion. However, current software tools for creating flowcharts on the computer have various shortcomings. UI-based solutions make creating flowcharts difficult through inefficient drag-and-drop menus. Sketching-based solutions take a more intuitive approach but don’t help the students beyond having pseudocode to start with. Flow2Code, on the other hand, enables students to draw flowcharts and translate them into code in a helpful way of bridging the gap between the two languages. Flow2Code can identify and interpret flowcharts drawn on paper using an algorithm for recognizing various shapes used in flowcharts. It fills a gap in the current solutions by converting the flowcharts into executable code and by having an intuitive and interactive interface where the users can edit both their flowchart and its resulting code.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Apache Software Foundation (2004) Apache license version 2.0. https://www.apache.org/licenses/LICENSE-2.0

  • Bangor A, Kortum P, Miller J (2009) Determining what individual SUS scores mean: adding an adjective rating scale. J Usability Stud 4(3):114–123. http://dl.acm.org/citation.cfm?id=2835587.2835589

  • Bennedsen J, Caspersen ME (2007) Failure rates in introductory programming. SIGCSE Bull 39(2):32–36. https://doi.org/10.1145/1272848.1272879

    Article  Google Scholar 

  • Bovik AC (2005) Handbook of image and video processing (Communications, networking and multimedia). Academic Press Inc, Orlando, FL, USA

    Chapter  Google Scholar 

  • Brooke J (1996) SUS: a quick and dirty usability scale

    Google Scholar 

  • Buxton B (2007) Sketching user experiences: getting the design right and the right design. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA

    Google Scholar 

  • Calloni BA, Bagert DJ (1994) Iconic programming in BACCII vs. textual programming: which is a better learning environment? SIGCSE Bull 26(1):188–192. https://doi.org/10.1145/191033.191103. http://doi.acm.org/10.1145/191033.191103

    Article  Google Scholar 

  • Carton C, Lemaitre A, Coüasnon B (2013) Fusion of statistical and structural information for flowchart recognition. In: 12th International conference on document analysis and recognition (ICDAR) (2013). IEEE, Washington, DC, USA, pp 1210–1214

    Google Scholar 

  • Delling D, Sanders P, Schultes D, Wagner D (2009) Engineering route planning algorithms. In: Lerner J, Wagner D, Zweig KA (eds) Algorithmics of large and complex networks. Springer, Berlin, Heidelberg, pp. 117–139. https://doi.org/10.1007/978-3-642-02094-0_7. http://dx.doi.org/10.1007/978-3-642-02094-0_7

    Chapter  Google Scholar 

  • Farrugia PJ, Borg JC, Camilleri KP, Christopher S et al (2005) Experiments with a cameraphone-aided design (CPAD) system. In: ICED 05: 15th international conference on engineering design: engineering design and the global economy. Engineers Australia, Melbourne, Australia, p 737

    Google Scholar 

  • Flick U (2009) An introduction to qualitative research. SAGE Publications, London, UK. https://books.google.com/books?id=sFv1oWX2DoEC

  • Giordano JC, Carlisle M (2006) Toward a more effective visualization tool to teach novice programmers. In: Proceedings of the 7th conference on information technology education, SIGITE ’06. ACM, New York, NY, USA, pp 115–122. https://doi.org/10.1145/1168812.1168841. http://doi.acm.org/10.1145/1168812.1168841

  • Johnston J, Hammond T (2010) Computing confidence values for geometric constraints for use in sketch recognition. In: Proceedings of the seventh sketch-based interfaces and modeling symposium, SBIM ’10. Eurographics Association, Aire-la-Ville, Switzerland, pp 71–78. http://dl.acm.org/citation.cfm?id=1923363.1923376

  • Likert R (1932) A technique for the measurement of attitudes. Arch Psychol 22(140):1–55

    Google Scholar 

  • Novak V, Mockor J, Perfilieva I (1999) Mathematical principles of fuzzy logic. Kluwer international series in engineering and computing science. Kluwer, Boston, MA. https://cds.cern.ch/record/425778

    Book  Google Scholar 

  • Paulson B, Rajan P, Davalos P, Gutierrez-Osuna R, Hammond T (2008) What!?! no Rubine features?: using geometric-based features to produce normalized confidence values for sketch recognition. In: HCC Workshop: sketch tools for diagramming (VL/HCC), p. 57-63. VL/HCC, Herrsching am Ammersee, Germany

    Google Scholar 

  • Powers K, Gross P, Cooper S, McNally M, Goldman KJ, Proulx V, Carlisle M (2006) Tools for teaching introductory programming: what works? In: Proceedings of the 37th SIGCSE technical symposium on computer science education, SIGCSE ’06. ACM, New York, NY, USA, pp 560–561. https://doi.org/10.1145/1121341.1121514. http://doi.acm.org/10.1145/1121341.1121514

  • Rajan P, Taele P, Hammond T (2010) Evaluation of paper-pen based sketching interface. In: Proceedings of the 16th international conference on distributed multimedia systems (DMS). Knowledge Systems Institute, Oak Brook, IL, pp 321–326

    Google Scholar 

  • Rosen LE (2005) Open source licensing: software freedom and intellectual property law. Prentice Hall PTR. https://books.google.com/books?id=HGokAQAAIAAJ

  • Rubine D (1991) Specifying gestures by example. In: Proceeding of the 18th annual conference on computer graphics and interactive techniques, SIGGRAPH 91, pp 329–337

    Google Scholar 

  • Rubine D (1991) Specifying gestures by example. In: Proceedings of the 18th annual conference on computer graphics and interactive techniques, SIGGRAPH ’91. ACM, New York, NY, USA, pp 329–337. https://doi.org/10.1145/122718.122753. http://doi.acm.org/10.1145/122718.122753

  • Smith R (2007) An overview of the Tesseract OCR engine. In: Proceedings of the ninth international conference on document analysis and recognition (ICDAR), vol 2. IEEE, pp 629–633

    Google Scholar 

  • Strauss AL, Corbin J (2008) Basics of qualitative research: techniques and procedures for developing grounded theory. SAGE Publications, Los Angeles, London, New Delhi. http://opac.inria.fr/record=b1133423

  • Wolin A, Eoff B, Hammond T (2008) Shortstraw: a simple and effective corner finder for polylines. In: Proceedings of the fifth eurographics conference on sketch-based interfaces and modeling, SBM’08. Eurographics Association, Aire-la-Ville, Switzerland, pp 33–40. https://doi.org/10.2312/SBM/SBM08/033-040. http://dx.doi.org/10.2312/SBM/SBM08/033-040

  • Wu J, Wang C, Zhang L, Rui Y (2015) Offline sketch parsing via shapeness estimation. In: Proceedings for the 35th international joint conference on artificial intelligence (IJCAI). IJCAI, Buenos Aires, Argentina, pp 1200–1207

    Google Scholar 

  • Zhang TY, Suen CY (1984) A fast parallel algorithm for thinning digital patterns. Commun ACM 27(3):236–239. http://dblp.uni-trier.de/db/journals/cacm/cacm27.html#ZhangS84

    Article  Google Scholar 

Download references

Acknowledgements

The authors thank the Mexican Chamber of Electronics, Telecommunications, and Information Technologies (Spanish: Cámara Nacional de la Industria Electrónica de Telecomunicación) (CANIETI), and Microsoft (Surface Hub Grant) for their support. The conclusions, findings, opinions, and recommendations described in this chapter do not necessarily reflect those of CANIETI nor Microsoft. Additionally, the authors thank the Sketch Recognition Lab for their feedback and support of this project. Special thanks go to Duc Hoang for his part in writing this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Samantha Ray .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ray, S., Herrera-Cámara, J.I., Runyon, M., Hammond, T. (2019). Flow2Code: Transforming Hand-Drawn Flowcharts into Executable Code to Enhance Learning. In: Hammond, T., Prasad, M., Stepanova, A. (eds) Inspiring Students with Digital Ink. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-030-17398-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-17398-2_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-17397-5

  • Online ISBN: 978-3-030-17398-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics