Blocks-based environments for learning programming in text-based languages
Self-funded PhD students only
School of Computing
October and February
Applications accepted all year round
The work on this project will involve:
- Investigating the advantages and challenges involved in learning programming using a blocks-based environment or a hybrid blocks/text environment over learning using a traditional text-based development environment
- Analysing the effectiveness of the environment within an appropriate formal educational setting (e.g. a Computer Science classroom)
Programming is increasingly recognised as a core subject area in schools in many countries. The ability to program is also clearly central to computing subjects in higher education, but programming is also taught more and more within other disciplines including physics, biology, mathematics and engineering. However, learning to program is known to be difficult, with typical failure rates in introductory programming modules in universities of around 30%.
Blocks-based languages such as Scratch have proved successful in getting children interested in programming. These environments scaffold the construction of programs using drag-and-drop interfaces and shaped code blocks. Their main advantages are that all available language features are exposed to learners via a palette of blocks, and that complex syntax issues are avoided.
Many learners, especially in secondary school and universities, need to learn programming using a traditional language such as Python or Java and will thus not have the support that blocks-based environments offer.
This project will aim to bring benefits of block-based programming to learning in a text-based language - it will focus on the direct construction of programmes in a chosen textual language using blocks. The starting point will be the published design ideas developed by the supervisor for representing code in Python and Haskell within blocks; this work focused on the visual representation of types within blocks, and the behaviour of blocks as code is constructed.
The project will investigate related work from the literature, particularly the recent interest in the transition learners need to make from blocks to text and on hybrid blocks/text environments. The core of the project will be the design and implementation, using a used-centered approach, of a blocks-based environment for the chosen language. Experiments measuring the effectiveness and learner perceptions of the environment within appropriate educational settings will be designed, executed and analysed.
You'll need an upper second class honours degree from an internationally recognised university or a Master’s degree in an appropriate subject. In exceptional cases, we may consider equivalent professional experience and/or qualifications. English language proficiency at a minimum of IELTS band 6.5 with no component score below 6.0.
How to apply
We’d encourage you to contact Dr Matthew Poole at firstname.lastname@example.org to discuss your interest before you apply, quoting the project code.
When you are ready to apply, you can use our online application form. Make sure you submit a personal statement, proof of your degrees and grades, details of two referees, proof of your English language proficiency and an up-to-date CV. An extended statement as to how you might address the proposal would be welcomed.
Our ‘How to Apply’ page offers further guidance on the PhD application process.
If you want to be considered for this self-funded PhD opportunity you must quote project code COMP4540220 when applying.