Project code



School of Computing

Start dates

October, February and April

Application deadline

Applications accepted all year round

Applications are invited for a self-funded 3-year PhD.

The PhD will be based in the School of Computing, and will be supervised by Dr Matthew Poole.

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
  • Designing and implementing a blocks-based environment which supports novice programmers learning programming using a language such as Python, JavaScript, Java or Haskell
  • 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.

Fees and funding

Visit the research subject area page for fees and funding information for this project.

Funding availability: Self-funded PhD students only. 

PhD full-time and part-time courses are eligible for the UK Government Doctoral Loan (UK and EU students only).

Funding availability: Self-funded PhD students only. 

PhD full-time and part-time courses are eligible for the UK Government Doctoral Loan (UK and EU students only).

Bench fees

Some PhD projects may include additional fees – known as bench fees – for equipment and other consumables, and these will be added to your standard tuition fee. Speak to the supervisory team during your interview about any additional fees you may have to pay. Please note, bench fees are not eligible for discounts and are non-refundable.

Entry requirements

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.

You’ll need to have an interest in computing education research and possess good software development skills; it is likely that the environment would be developed in JavaScript, so skills in this language would be desirable.

How to apply

We’d encourage you to contact Dr Matthew Poole at to discuss your interest before you apply, quoting the project code.

How to apply

When you are ready to apply, please follow the 'Apply now' link on the Computing PhD subject area page and select the link for the relevant intake. 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. Our ‘How to Apply’ page offers further guidance on the PhD application process. 

October start

Apply now

February start

Apply now

When applying please quote project code: COMP5351021