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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
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
Bovik AC (2005) Handbook of image and video processing (Communications, networking and multimedia). Academic Press Inc, Orlando, FL, USA
Brooke J (1996) SUS: a quick and dirty usability scale
Buxton B (2007) Sketching user experiences: getting the design right and the right design. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA
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
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
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
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
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
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
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
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
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
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
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
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)