Category: CS Education
The INIT Lab is happy to announce that PhD student (and full-time UF CISE lecturer) Jeremiah Blanchard‘s work has been accepted for publication at the upcoming VL/HCC conference: the IEEE Symposium on Visual Languages & Human-Centric Computing. The conference will be held in Memphis, TN, in October. The paper presents findings on how middle school students learning computer programming in hybrid blocks-plus-text environments perceive their experience–does learning in hybrid environments help alleviate problems of perceptions in inauthenticity while still making programming accessible to novice learners?
Here is the abstract:
Text languages are perceived by many computer science students as difficult, intimidating, and/or tedious in nature. Conversely, blocks-based environments are perceived as approachable, but many students see them as inauthentic. Bidirectional hybrid environments provide textual and blocks-based representations of the same code, thereby offering students the opportunity to seamlessly transition between representations to build a conceptual bridge between blocks and text. However, it is not known how use of hybrid environments impacts perceptions of programming. To investigate, we conducted a study in a public middle school with six classes (n=129). We found that students who used hybrid environments perceived text more positively than
those who moved directly from blocks to text. The results of this research suggest that hybrid programming environments can help to transition students from blocks to text-based programming while minimizing negative perceptions of programming.
The camera-ready preprint of the paper is available here. If you’ll be at VL/HCC, come meet Jeremiah and see his presentation about our work!
PS Jeremiah also successfully proposed his dissertation successfully at the end of May!
This summer, I was accepted as a participant in the ICER2017 Doctoral Consortium. It was a fantastic experience! The ACM partially funded my trip through a travel reimbursement, so I was able to attend the ICER2017 conference in Tacoma, WA, where I had the chance to meet and exchange ideas with experts who are passionate about CS education. Here is the abstract from my submission:
Hybrid, dual-modality programming environments provide both blocks-based and text-based interfaces for programming. While previous research investigated the transition from visual to textual environments, few studies considered these hybrid environments. The purpose of this dissertation is to explore how hybrid programming environments impact computer science competency, confidence, and interest in computer science among students when moving from blocks-based environments to text-based languages. Exploring these questions will help us understand which hybrid environments are effective, in which contexts they are effective, and if they can improve on current approaches to CS instruction.
At the doctoral consortium, I had the chance to talk about the work I’ve done extending Pencil Code (by adding Python and working with others to build IDE plugins for Visual Studio and IntelliJ) and get advice from those at the forefront of the discipline. I received lots of great feedback about how to focus my research moving forward. I’m looking forward to applying this in the coming terms!
It’s been a long time since my last update, so there’s lots to cover!
As a recap, I have been investigating hybrid environments, which provide multiple representations of the same code. In particular, I’ve been looking into Pencil Code, which is a bi-directional environment – it lets students go back and forth between blocks and text. We had been planning a study at a middle school in Orlando since January.
In April and May, I ran our planned study in a middle school in an 8th grade technology course. The curriculum for the last several weeks was programming, and we arranged with the instructor to use the instructional period to gather information about how blocks and hybrid environments compare when transitioning from blocks to text.
Running a classroom study of this sort was quite a new experience for me. Logistically, we had to make arrangements for the class schedule (as there were a number of days that were taken up by school events, standardized testing, and field trips). There was also the challenge of addressing a diverse student population – some deeply committed to academics, and others more interested in socializing – while delivering a uniform curriculum across all classes for the course. We also ran into IT challenges, as the school’s filtering mechanism required special permission to access our online materials.
Overall, it was a great experience. I learned a great deal about how to organize such a large study – planning out the schedules, accounting for different levels of aptitude, and realizing just how much advanced preparation is required. We are in the process of analyzing this data for future publication. Stay tuned for updates!
In the last blog post, I wrote about how we completed our study – of a summer camp in which kids learned how to make games in Scratch – and how we were analyzing the data. We’ve completed that analysis and hope to see it published soon. Our analysis focuses on the impact prior programming experience has on students’ perceptions of programming and computer science; we believe our study and analysis will help guide the development of computing curricula in the future.
Since completing the summer camp work, I have been working with the group developing Pencil Code – a hybrid blocks-text environment that allows users to switch back and forth between blocks and text quickly. Hybrid environments hold promise in helping learners move from blocks to text with less frustration than they may currently experience when transitioning between different modes of programming. I spent the summer implementing the Python branch of Pencil Code, and it is now available on the production website for kids to use. You can find a history of the python-specific commits here. Through further investigation of hybrid environments, we hope to see how they can help learners progress for learning environments – like Scratch – to production languages like Python, Java, and C++.
The summer camp study was my first since entering UF’s doctorate program, where I am currently a third year PhD student. Research with people has been very different from other work I’ve done. Besides learning about children’s perceptions of programming, I also gained valuable experience in conducting behavioral research – especially how unpredictable humans can be! Moving forward, I’ll be studying just how effective hybrid environments can be in supporting student confidence, interest, and programming skills.Read More
Over the summer, I ran a study with children ages 7-12 at a gaming summer camp in Winter Park, FL. The aim of this study was to begin to identify programming constructs students find motivating, and those they struggle with, in block-based environments. We ran the 1-week summer camp with three different student groups and interviewed students during the last two camps. In this study we interviewed students three times: At the beginning and end of the camp we asked students about their thoughts on programming. In the middle of the camp week we asked them questions about what they found easy, hard, and fun.
We’re currently analyzing the results of this study and hope to publish our findings soon! Long term, we hope this research will inform how students can most effectively learn languages and eventually transition to production languages. You can see our position paper on the subject here.
The qualitative coding process has been a great challenge for me to work through. In particular, very subtle differences in student responses have begun to emerge as I go over the data again after the first few passes which has informed my coding scheme. However, working through the data over multiple passes has helped me understand the difficulty and value of qualitative analysis.Read More