Block-C: a block-based programming teaching tool to facilitate introductory C programming coursesBlock-C: a block-based programming teaching tool to facilitate introductory C programming courses Πλήρης Δημοσίευση σε Συνέδριο Conference Full Paper 2018-05-112017enBlock-C is a block-based programming learning tool for C programming language that uses the recognition over recall approach on top of the rigid and complex constructs of C language. It empowers students to learn programming by guiding them to focus on the programming logic rather than the syntax of C language. Novice programmers in introductory programming courses are more productive with the use of Block-C than with regular textual C programming. They can internalize the programming concepts more easily by gradually assigning meaning to the visual models (pertaining to the programming logic) created using the tool. In lab or tutorial sessions, where the presence of facilitators is limited, Block-C can guide the students to complete their assignments easily and effectively. Finally, Block-C promotes the transition to the regular textual C programming by allowing the students to export their code and see how their block-based programs are translated to textual C, but also how textual C is translated to block-based C. http://creativecommons.org/licenses/by/4.0/570-579IEEE Global Engineering Education ConferenceIEEE Global Engineering Education Conference Kyfonidis Charalabos Κυφωνιδης Χαραλαμπος Moumoutzis Nektarios Μουμουτζης Νεκταριος Christodoulakis Stavros Χριστοδουλακης Σταυρος Institute of Electrical and Electronics Engineers Block-based programming C programming language Syntactic error prevention in novice C programming language learning Teaching programming Visual programming