When I started developing the site, I had a number of features in mind that I felt teachers needed. One of the features I felt was really important was the need to be able to automatically generate support and framework structures/code for students and allow the teacher to turn them on or off for particular students.
When teaching previously, I would often have students who were really struggling to get past the basics. Who would benefit from having the solution written out for them but in a ‘fill in the blanks’ style way, or would benefit from a parsons style framework to allow them to get to the solution but still have to work things out for themselves.
The plan would be to allow the website to have an example solution available in the background that could be used to automatically create a parsons problem or even a framework of code (with blank spaces to fill in) allowing a level of support to be given to any student that needed it without the teacher having to go through the enormous amount of work needed to create these from scratch.
I have implemented a first version of these on the site and for my initial small programs that I created, these seemed to work very well. The site already has flexibility built in for the teacher to be able to select which keywords will be filtered out and replaced with blanks and the option to change the symbol that these keywords are replaced with (it currently replaces the words with the * symbol for each letter). This has not yet been provided to teachers as a tool to use yet…but it is in place and being tested in the background.
So what is the problem?
Since implementing the Time2Code problems from the incredible Craig n Dave, I’ve hit a problem. The problem is the way the Time2Code problems and frameworks are structured and the way my own problems and frameworks are structured are quite different. This is playing a little bit of havoc with my ‘autogenerated’ framework and parsons code.
I am currently going back a bit and having a think about this….how do I ensure that the automatic generation works but doesn’t end up in the mess that it currently is when it comes to the large frameworks provided by Craig N Dave in their T2C problems.
Here are examples of larger problems from Time2Code run through my first version of the ‘Parson Generator’. As you can see they aren’t really very helpful to a struggling student!


Here we also have an example of the framework not really helping things for students. When the student loads a T2C problem they are given a helpful template framework in some cases. Here is an example of a problem when it is initially loaded, with some of the program already prepopulated using the template framework.

However, activating the support framework pulls in the solution code correctly, and replaces keywords in the solution with the symbol *, so it works as intended, but as a by product, the existing framework template is also overwritten with the * symbol which is certainly not helpful and not desired.

Solutions – Parsons
I’m thinking about the best way forward. My current thinking for the parsons problems is to ‘group’ the larger parsons problems/solutions into groups. So rather than the blocks being each individual line, I will get my code to analyse the solution and split it into groups. The rules would be something like:
- Look for comments and group sections of comments together – this would involve solutions having an identifiable beginning an end..not a huge problem
- Group together some blocks of statements but at random. So these blocks would consist of blocks of 1,2 or 3 lines of code, grouped together in a single block. I could look at the overall code and manage this so that depending on the size of the solution, more or less of these blocks would be grouped together.
I may over the coming weeks have a play around with this to see what works and what doesn’t.
Solutions – Frameworks
The issue with the frameworks is that is the template code exists then this template code is altered by the framework code meaning that actually the student loses out and the problem is actually made more difficult.
I ‘think’ that the solution here is to simply exclude the template when analysing the solution code to generate the framework. This will result in only the sections of code that are required to be produced by the student, in addition to the template, to have the ‘fill in the blanks’ produced, leaving the rest of the code untouched.
Another solution to this would be to simply ‘disable’ the ability to produce the framework for some problems…I don’t feel this is the right solution to be honest but it is an option.
I think this should be possible without too much redoing of work that has already been done and, as I see this as pretty important, especially for those students who are really struggling with the coding aspect, I’m going to look to do something about this ‘soon’
Thoughts?
What would be helpful to you as a teacher? Get in touch and let me know. I’ll be looking to improve the support tools over the coming months as for me at least these are really very helpful in large classes with a large mix of programming levels.
I’ve been asked to include Flowcharts too so they are on my ‘to do’ list in the future.
Leave a Reply