Category: CS Education
Today, the INIT Lab is proud to announce that PhD student Jeremiah Blanchard defended his dissertation work “Building Bridges: Dual-Modality Instruction and Introductory Programming Coursework” this afternoon! We held the defense virtually due to the ongoing COVID-19 restrictions. Jeremiah’s committee members were myself (chair), Dr. Christina Gardner-McCune (co-chair), Dr. Joseph Wilson, Dr. Kristy Boyer, Dr. Corinne Huggins-Manley (UF College of Education), with special external member Dr. David Weintrop from the University of Maryland’s College of Education. Pending final comments from one committee member who will have to catch up via video, we’d like to say congratulations, Dr. Blanchard!😀
Here is a screenshot of the proud committee to document the occasion:
INIT Lab PhD student (and full-time UF CISE lecturer) Jeremiah Blanchard‘s latest paper on hybrid blocks- and text-based programming environments for introductory computing classes at the college level has been accepted to the ACM Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium 2020. Not only has it been accepted, but it has received the Second Best Paper Award in the CS Education Research track! (1st, 2nd, and 3rd best paper awards were given in each of 3 conference tracks.) Congratulations to Jeremiah!
The paper is called “Dual-Modality Instruction and Learning: A Case Study in CS1″, and here is the abstract:
In college-level introductory computer science courses, students traditionally learn to program using text-based languages which are common in industry and research. This approach means that learners must concurrently master both syntax and semantics. Blocks-based programming environments have become commonplace in introductory computing courses in K-12 schools and some colleges in part to simplify syntax challenges. However, there is evidence that students may face difficulty moving to text-based programming environments when starting with blocks-based environments. Bi-directional dual-modality programming environments provide multiple representations of programming language constructs (in both blocks and text) and allow students to transition between them freely. Prior work has shown that some students who use dual-modality environments to transition from blocks to text have more positive views of text programming compared to students who move directly from blocks to text languages, but it is not yet known if there is any impact on learning. To investigate the impact on learning, we conducted a study at a large public university across two semesters in a CS1 course (N=673). We found that students performed better on typical course exams when they were taught using dual-modality representations in lecture and were provided dual-modality tools. The results of our work support the conclusion that dual-modality instruction can help students learn computational concepts in early college computer science coursework
The camera-ready preprint of the paper is available here. The conference will be held in March in Portland, OR, so Jeremiah will be there to present his work. Stop by and see him!Read More
INIT Lab PhD student Jeremiah Blanchard recently attended the VL/HCC 2019 conference in Memphis, TN, to present his paper: “Effects of Code Representation on Student Perceptions and Attitudes Toward Programming,” which was announced in a previous blog post here. At the conference, he received an “Honorable Mention” award, which represents his hard work and the value the research community found in his work. We are proud of you, Jeremiah!Read More
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