CODE KALEIDOSCOPE

Creative Code. Colourful Thinking.

Design Practice Blog

Weekly research and making journal.

A static version of the weekly design practice blog for the Code Kaleidoscope MSc project. The entries document the development of an inclusive creative coding environment for Key Stage 3 learners.

Week 1

Week 1 – Initial Prototype: Generative Kaleidoscope Tool

Created April 29, 2026 4:26 PM

Focus question: How can interactive visual feedback make abstract programming concepts more engaging for beginners?

Rationale

I am a secondary school Computer Science teacher in the UK, although I originally trained to teach ICT. Following the 2014 National Curriculum reforms, the subject shifted towards Computer Science, with a much stronger focus on programming and computational thinking. This change happened quickly and, in my experience, with limited time for teachers to retrain. It has had a lasting effect on both teaching practice and student engagement.

Since then, I have noticed fewer students choosing Computer Science at GCSE than previously chose ICT, particularly girls. Nationally, girls account for only around 20–25% of GCSE Computer Science entries, showing that a significant gender imbalance remains.

In my experience, disengagement often begins at Key Stage 3. Many students find computational thinking and text-based programming languages such as Python intimidating. This can be a particular barrier for students with SEN or those who lack confidence with reading. In contrast, students often respond positively to visual and creative tools such as Scratch, where they can experiment and receive immediate feedback.

The project is influenced by constructivist approaches, in which understanding develops through active exploration and making. It also draws on Wing’s concept of computational thinking, including abstraction, decomposition and pattern recognition.

The project therefore explores whether a more creative, visual and exploratory approach to coding can reduce these barriers. By combining programming with art and generative design, I hope to create a more inclusive experience that builds confidence and challenges the idea that coding is difficult or inaccessible.

What I Achieved

This week, I began developing a generative visual prototype in Python using Pygame. I created an interactive kaleidoscope-style tool that responds to mouse movement and keyboard input.

The program uses rotation and symmetry to repeat circular patterns based on the mouse position. A variable called *segments* controls the number of repetitions and can be adjusted using the up and down arrow keys. I also added colour variation within the loop so that each segment appears slightly different, making the effect of iteration more visible.

What Went Well

The main success was creating a working interactive prototype. The visual output updates immediately when the mouse moves or the number of segments changes, making the tool feel responsive and enjoyable to explore.

The loop worked particularly well for generating repeated patterns. It demonstrated how a relatively small amount of code can produce complex visual results. Adding colour variation also made the repetition clearer and improved the appearance of the design.

Even Better If

The process would have been smoother if I had understood the event loop structure earlier, particularly how keyboard input is handled. At one stage, the controls did not respond because I had placed them outside the event loop. This reinforced the importance of structure and indentation in Python.

I also initially found variable scope challenging and encountered errors when trying to use variables outside the section in which they were defined. Resolving these problems gave me a clearer understanding of how Python executes code.

What I Learned

This week reinforced my understanding of loops, variables and event handling. It also showed me how iteration can be represented visually through repeated patterns, which is central to the project.

From a design perspective, I saw how powerful immediate visual feedback can be. Changing a value and instantly seeing the result makes abstract programming concepts more tangible and accessible. This showed me how creative coding could help students who find traditional programming harder to access.

Next Steps

Next, I plan to add a live code display that changes alongside the visual output, helping students connect what they see with the underlying programming concepts.

I will also begin exploring how the Python prototype could be developed into a web-based interactive artefact using p5.js. As the project progresses, I will consider how its design can support students who find traditional programming challenging, with a particular focus on creativity, accessibility and inclusion.

Alongside the practical development, I will begin academic reading around computational thinking, educational technology, gender in computing education, physical computing, raising aspirations and teacher professional development.

Week 1

Working on Python

Created May 1, 2026 2:33 PM

Focus question: Understanding Structure in Python

Reflection – Developing Interactivity and Understanding Structure

Today, I extended the prototype by adding a second variable, allowing users to control both the number of segments and the size of the shapes. This makes the tool more interactive and demonstrates more clearly how changing variables affects the visual output. I also added a structured code panel that updates dynamically, helping users connect what they see on screen with the underlying code.

One of the main challenges was organising the program. Small structural mistakes, particularly with indentation and event handling, sometimes prevented it from working. This showed me the importance of understanding how a Python program fits together rather than focusing only on individual lines of code.

Although I still need to strengthen my understanding of Python program structure, working through these problems has increased my confidence and given me a clearer insight into how interactive systems are developed.

https://media.ed.ac.uk/media/vid2.mp4/1_htxxvwqy

Week 2

Week 2 - Developing Interactivity, UX and Educational Structure

Created May 11, 2026 9:59 AM

Focus question: How can visual feedback and interface design help students better understand programming concepts such as variables and iteration?

What I Have Achieved

This week, I focused on developing the educational and interactive aspects of the prototype rather than adding more visual effects. I introduced a second variable, allowing students to control both the number of segments and the size of the generated shapes. This makes the system more interactive and demonstrates how changes to variables affect the visual output.

I also redesigned the interface to separate it into three learning areas:

  • An interactive visual area
  • A live code panel
  • A space for prompts and challenges

A significant development was the live code panel, which updates as the variables change. This helps students connect abstract concepts such as loops and variables with immediate visual results.

Following feedback, I began considering the user experience more carefully, particularly how layout, accessibility, colour and visual hierarchy could support engagement and reduce cognitive overload. I also started developing the project’s visual identity by experimenting with a logo, typography and a consistent teal, pink and purple colour palette.

What Went Well

The main success was moving beyond a simple coding experiment towards something that feels more like an educational tool. The live code panel strengthened the connection between the visual patterns and the underlying program logic.

Separating the interface into distinct areas for interaction, code and guidance also made it clearer and easier to understand. Planning the interface through flow diagrams and sketches helped me consider how students would navigate the tool and highlighted potential accessibility issues before coding.

Even Better If

I still need to strengthen my understanding of Python program structure, so I have started a Python masterclass on Udemy. During development, I sometimes became confused about which parts of the program controlled input, drawing and variable updates. Adding comments has helped me organise the code more clearly.

This process showed me the importance of understanding the overall flow of a program rather than concentrating only on individual lines. Creating labelled diagrams clarified the relationship between loops, event handling and reusable functions.

I also need to continue refining the interface so that it remains visually engaging without becoming cluttered or overwhelming.

What I Learned

This week reinforced the importance of user experience design in educational technology. The project is not simply about creating a functioning program; it is about designing an experience that feels approachable, exploratory and supportive.

I also developed a clearer understanding of Python program structure, particularly the role of the main loop, event handling, variables and reusable functions. Visualising the program flow helped me understand how user interaction, processing and visual output work together.

From an educational perspective, I began to see how visual experimentation combined with simplified code could reduce some of the anxiety students may experience when moving to text-based programming.

Next Steps

Next, I plan to refine the interface and add a dedicated learning panel containing prompts, challenges and explanations linked to Key Stage 3 Computing concepts.

I will also begin translating elements of the prototype into a web-based environment using p5.js, which will support the development of the final interactive artefact.

Alongside the practical work, I will continue reading about computational thinking, creative coding, user experience design, gender inclusion, accessibility, SEN and generative art. This will strengthen the theoretical framework underpinning the project.

Week 2

Logo Design Evaluation

Created May 11, 2026 9:54 AM

Focus question: Logo Design Evaluation

Logo Evaluation – Code Kaleidoscope

Design Process

I initially developed the Code Kaleidoscope logo in Procreate using the radial symmetry tool. This worked well for creating balanced, kaleidoscope-inspired patterns, but it was difficult to produce precise geometric shapes and maintain consistency.

My first design featured a circle of colourful robot heads. Although it was playful, it felt too busy and would not have remained clear at smaller sizes. I therefore simplified the concept to create a cleaner and more flexible design.

I then moved the logo into Adobe Illustrator. The vector tools allowed me to create sharper lines, consistent shapes and a more professional finish. This also ensured the logo could be resized for different uses without losing quality.

Development of Style

Early versions looked too childish for a Key Stage 3 audience. I refined the robot to make it feel more mature while remaining friendly and engaging. Inspired partly by LEGO-style characters, I aimed to balance playfulness with a clean, modern appearance.

I simplified the facial features, removed heavy outlines and reduced the exaggerated cartoon-like proportions. The final robot remains approachable but feels more suitable for secondary school students.

Use of Colour

The colour palette was chosen to represent creativity and technology. Teal suggests innovation, digital technology and calmness, while purple reflects creativity and imagination. Pink adds energy without dominating the design, and dark navy provides contrast and definition.

Together, these colours create a balance between playful and professional. The repeated circles beneath the robot also reinforce the kaleidoscope theme by suggesting pattern, symmetry and variation.

Typography

I used Nunito SemiBold, a clean sans-serif typeface with rounded forms that complement the circular elements of the logo. Using teal for “Code” and purple for “Kaleidoscope” separates the two words and improves readability.

Final Outcome

Overall, the final logo communicates the main ideas behind Code Kaleidoscope by combining technology, creativity and education in a clear and visually appealing design.

Using Adobe Illustrator significantly improved the quality of the outcome. Following online tutorials also helped me overcome my initial hesitation about using the software and develop greater confidence with vector design.

The highlights and shadows could still be refined so that they follow the shapes more accurately. This is an area I would continue to develop.

Future Improvements

With more time, I would explore animating the logo to bring the kaleidoscope concept to life. The coloured circles could rotate or move symmetrically, while the robot could blink or change expression. This could be created in Adobe After Effects or adapted as a lightweight web animation.

-

Week 3

Week 3

Created May 18, 2026 6:08 PM

Refining the UX and Developing the Code Kaleidoscope Prototype

Focus question: How can creative coding and visual interaction help make Python feel less intimidating and more engaging for Year 8 students?

Rationale

This week, I shifted my focus towards the user experience and visual design rather than continuing to add technical features. Reviewing earlier versions made me realise that the interface had become crowded, with too many panels, controls and blocks of text competing for attention.

As the artefact is aimed at Key Stage 3 learners, particularly those who may lack confidence in programming, I wanted it to feel calmer, more accessible and easier to explore. Reducing anxiety around coding is not only about simplifying syntax and programming concepts; it also involves creating an environment that feels welcoming, creative and safe for experimentation. This links closely to inclusive design and cognitive load, as an overly complex interface may overwhelm learners before meaningful learning begins.

I also decided to keep the name *Code Kaleidoscope* rather than changing it to *Year 8 Python Bridge*. The existing name better reflects the creative and exploratory direction of the project, positioning it as a creative coding experience rather than a traditional instructional program.

What I Have Achieved

This week, I redesigned the prototype to create a cleaner and more visually focused experience. I enlarged the generative art area, simplified the surrounding panels and reduced unnecessary text. The revised layout feels more open and encourages exploration rather than instruction-led interaction.

I also added my logo and continued using the teal, pink and purple colour palette to create a consistent visual identity. New features included:

  • Multiple colour themes
  • A trails mode that allows patterns to build over time
  • The option to save generated artwork
  • Simpler controls and clearer layout organisation

I refined the live code panel to highlight the Python concepts the artefact is intended to support at Year 8 level:

  • Variables
  • Input and output
  • Selection
  • Iteration

As the project has grown, I have also organised the code into clearly labelled, modular sections. This has made it easier to understand where functions and event-handling processes belong, while improving readability and making future development more manageable.

Alongside the technical work, I created a user persona and user journey in Miro. This encouraged me to consider the emotional experience of a Year 8 learner, including confidence, curiosity, accessibility and possible frustration points. It also shifted my thinking from technical development towards more learner-centred design decisions.

What Went Well

The interface redesign was the most successful part of this week’s development. The revised version feels calmer, cleaner and more balanced. By placing the generative artwork at the centre, the artefact now presents coding as a creative and expressive activity rather than a rigid technical exercise.

The colour themes and trails mode also made the experience more playful. These features encourage low-risk experimentation by allowing students to explore cause and effect through immediate visual feedback. This reflects constructionist learning, where understanding develops through making and active exploration.

Creating the user persona and journey was particularly valuable because it helped me consider how students might feel while using the software. It showed that confidence and engagement are closely connected to how easily learners can understand and navigate an interface. Viewing the project from their perspective identified areas where simpler interactions could improve accessibility and reduce cognitive overload.

Even Better If

I would have benefited from considering user experience earlier. Initially, I focused too heavily on expanding the functionality, which led to a cluttered interface. Reviewing earlier versions showed me that simplifying the experience can be more valuable than continually adding features.

I also need to improve my confidence in organising larger Python programs. As more features are introduced, readability and maintainability become increasingly important. I still sometimes find it challenging to manage functions, event handling and interactions between multiple visual systems. However, using a more modular structure has already improved my understanding of the program flow.

Direct user feedback would also strengthen the project. My current decisions are mainly informed by research, teaching experience and reflection. Observing students using the prototype would provide more meaningful evidence about its usability, accessibility and potential to support engagement.

What I Learned

This week reinforced the importance of user experience within educational technology. Making programming feel less intimidating is not only about simplifying concepts; it is also about creating an environment that feels approachable, creative and supportive.

I also developed a stronger understanding of how creative coding and immediate visual feedback can support computational thinking. Adjusting variables, changing colours and generating patterns allow students to learn through exploration without being afraid of making mistakes. This connects with constructionist approaches, where learners develop understanding through creative and iterative activity.

Developing the user persona and journey made me think more deeply about the emotional aspects of learning. Curiosity, confidence, frustration and achievement can all influence how students engage with programming.

I also learned that simplifying an interface does not reduce creativity or depth. Instead, it can create more space for learner agency by allowing students to focus on experimentation and discovery.

Next Steps

Next, I plan to continue refining the artefact and explore how it could be translated into a web-based version using p5.js or JavaScript. This would make it more accessible and practical for classroom use.

I also plan to:

  • Develop additional generative art features
  • Improve accessibility for learners with SEN
  • Explore ways for students to edit small sections of code safely
  • Continue researching user experience and creative coding
  • Consider Year 9 extensions involving functions and lists
  • Begin gathering informal feedback and usability observations

My academic research will continue to focus on computational thinking, creative coding, inclusive design, gender participation in computing, generative art, flow and engagement, constructionist learning, and emotional design.

Week 4

Designing Code Kaleidoscope: Creative Coding, Generative Art and Educational UX

Created May 26, 2026 11:36 AM

Focus question: How can an interactive web-based artefact make Python programming feel more accessible and less intimidating for KS3 students?

-

Week of 25–31 May 2026

What Went Well

This week was less about adding new features and more about refining how Code Kaleidoscope might work in a classroom. Testing different layouts and interactions showed that some parts of the interface introduced too much information too quickly. I therefore focused on simplifying the experience, improving clarity and making the platform more appropriate for Year 8 learners.

One of the biggest changes was separating the landing page from the workspace. Previously, everything appeared on one long page, which made the platform feel cluttered and overwhelming. Creating a dedicated landing page gives students a clearer starting point before they enter the drawing environment.

I also improved the navigation. The original “Back to Home” button was easy to miss, particularly for younger learners. I replaced it with a house icon, increased the clickable area and added a clearer visual boundary. This made the route back to the landing page more obvious and intuitive.

The workspace layout went through several iterations. The controls at the top initially felt crowded, so I reorganised them according to how frequently they would be used. Drawing and style controls now appear together, while secondary actions such as reset and undo have been moved further down. This creates a clearer visual hierarchy and makes the interface easier to scan.

Accessibility features were also integrated more naturally. The high-contrast option had previously been too prominent within the challenge area. Moving it alongside the other action controls keeps it available without allowing it to compete with the main learning content.

I redesigned the canvas and challenge panels into a cleaner two-column layout. Earlier versions contained awkward spacing and unused areas that distracted from the drawing activity. The new layout keeps the creative workspace visually connected to the instructions. I also increased the size and readability of the challenge panel, which should make it clearer when displayed on a classroom screen.

Replacing the sliders with plus and minus buttons gave learners more precise control over the variables. Each change now feels deliberate, making it easier to observe the relationship between a numerical value and its effect on the artwork.

I also refined the drawing behaviour. In the earlier version, repeated patterns clustered too closely around the centre of the canvas. Adjusting the spacing created clearer geometric repetition and made the mathematical relationships within the designs easier to see. Dot mode was improved by increasing the spacing and definition between marks, preventing them from blending together.

The undo function also needed further development. It previously behaved inconsistently depending on how a stroke had been created. Rebuilding it around complete snapshots of each stroke made it more reliable and created a safer environment for experimentation.

Creative choice expanded through the addition of triangles, diamonds, hexagons and stars, alongside new drawing styles such as dashes and ribbons. These options allow learners to produce a wider range of outcomes while exploring the same underlying computational concepts.

The challenge system became a much stronger part of the learning experience. I introduced a sequence of eight guided challenges, each with a clear goal, setup instructions and reflection prompts. Progress indicators show learners which challenge they are completing and which stages they have finished. This provides more structure and purpose without removing opportunities for creativity.

One of the most important developments was improving the live Python model. Previously, the code display felt disconnected from the actions taking place on the canvas. Dynamic line highlighting now responds to recent interactions, helping learners see how changing a variable affects both the artwork and the underlying logic.

I also began introducing programming concepts more gradually. Instead of displaying full pseudocode from the beginning, the interface reveals more complexity as learners progress through the challenges. This should reduce cognitive overload while still supporting progression.

The main theme this week was clarity. Each change aimed to reduce friction, improve focus or strengthen the connection between interaction and computational thinking. Although the individual adjustments were relatively small, together they made Code Kaleidoscope feel more coherent, accessible and suitable for classroom learning.

Week 5

Code Kaleidoscope: Designing a Better Creative Coding Experience

Created June 4, 2026 8:55 PM

Focus question: How can a creative coding environment balance freedom and experimentation with enough structure to support meaningful computational thinking?

Even Better If

The workspace still needs further testing on smaller screens. Although I improved the tooltip positioning and panel spacing, some areas feel compressed when several interface elements are visible at the same time.

The transition between beginner and more advanced challenges could also be smoother. The progression is structurally clear, but some learners may benefit from additional visual examples before moving towards independent experimentation.

Feedback is another area for development. The platform currently includes reflection prompts, but contextual hints or guidance linked to learners’ actions could make the experience feel more responsive and supportive.

What I Learned

This week reinforced the importance of clarity in educational software. Some of the most successful improvements were not technically complex features but small user experience decisions that reduced friction and cognitive overload.

Most importantly, I learned that the connection between interaction and code must remain visible throughout the experience. Progressive code reveal and dynamic line highlighting helped bridge the gap between creative exploration and computational understanding more effectively than static code examples alone.

Next Steps

Next week, I plan to refine the progression between challenges, improve the responsive layout for tablets and smaller screens, and explore ways to make the live code model more supportive for beginner programmers. I would also like to investigate contextual hints that guide learners without reducing their independence.

Week 6

Refining Code Kaleidoscope This Week

Created June 9, 2026 5:27 PM

Focus question: How can Code Kaleidoscope support students in moving from creative visual experimentation to explicit understanding of programming concepts?

What I Have Achieved

This week, I focused on refining the usability, structure and overall learning experience of Code Kaleidoscope. My aim was to move the project beyond a creative drawing tool and towards a purposeful educational experience that supports both students and teachers.

One of the main developments was Focus Mode, designed to reduce cognitive overload and provide a calmer environment for drawing and experimentation. I initially included the Live Python Model within this mode, but testing showed that the screen felt crowded and overwhelming. Removing it reinforced the purpose of Focus Mode: to prioritise concentration, creativity and flow without too many competing elements.

I also redesigned the challenges to create a clearer learning journey. Activities now follow a cycle of Predict, Test, Observe, Explain and Improve. This gives each task more structure and encourages learners to think about the effect of their decisions rather than simply following instructions.

A Current Learning Aim panel was added to connect each challenge to concepts such as variables, iteration, debugging, input, selection and output. Making these aims visible helps students and teachers understand the purpose of each activity.

Another significant addition was a checkpoint system. After completing a challenge, learners answer a multiple-choice question before progressing. Incorrect answers receive a supportive hint, while correct answers unlock the next challenge. This introduces formative assessment and encourages students to reflect on their understanding before continuing.

The Live Python Model also became more interactive. Learners can now edit values such as `segments` and `shape_size` and change options including `theme`, `drawing_mode` and `shape` directly within the code panel. The visual output updates immediately, strengthening the connection between variables, code and the generated artwork. This creates a more authentic opportunity for experimentation and debugging.

I also made several smaller usability improvements. These included keyboard shortcuts for undo and reset, refinements to the canvas border and Focus Mode layout, and more consistent High Contrast and How It Works controls. I also added a subtle introductory screen to improve the first impression of the platform.

Overall, this week marked an important step forward. Code Kaleidoscope is beginning to feel less like an experimental drawing application and more like a structured creative coding tool with a clear educational purpose.

What Went Well

Focus Mode successfully reduced distractions and created a clearer workspace. Removing the Live Python Model from this view was an important decision because it kept the experience focused on creativity rather than presenting too much information at once.

The revised challenge cycle created a stronger learning journey, while the checkpoint system added opportunities for formative assessment and reflection. Making the Live Python Model editable also improved the connection between programming concepts and visual outcomes.

Together with the smaller interface changes, these developments made the artefact feel more coherent, polished and suitable for classroom use.

Even Better If

The checkpoint questions could become more responsive, with hints linked more closely to common misconceptions. Focus Mode could also offer optional accessibility settings to support different learner needs.

The Live Python Model would benefit from clearer explanations of how each variable affects the artwork. Further testing with students is also needed to determine whether the challenge progression and level of support are appropriate.

What I Learned

This week showed me the importance of removing features when they do not support the purpose of a particular experience. Although the Live Python Model is educationally valuable, including it in Focus Mode created unnecessary visual competition. Simplifying the layout made the feature more effective.

I also learned that creative exploration benefits from clear structure. The challenge cycle, learning aims and checkpoints provide direction while still allowing learners to make their own creative choices.

Most importantly, I saw how immediate visual feedback can make abstract programming concepts more understandable. Allowing students to change values directly and observe the results helps connect code with cause and effect.

Next Steps

Next, I plan to begin user testing and evaluation to gather feedback on the challenge system, Focus Mode and overall usability. I will continue improving accessibility and explore possible ways of recording progress across challenges.

I would also like to develop more advanced creative coding activities that gradually introduce more complex concepts while maintaining the playful and exploratory character of Code Kaleidoscope.

Week 7

Developing the Creative Coding Lessons

Created June 16, 2026 8:39 PM

Focus question: How can the PRIMM framework be used to improve engagement and understanding in creative coding lessons?

Developing the Creative Coding Lessons

This week, I began expanding Code Kaleidoscope beyond the drawing workspace into a broader creative coding learning platform. The main focus was developing a new Creative Coding Lessons section to support Key Stage 3 students as they move from block-based programming in Scratch to writing Python in Mu Editor using Turtle graphics.

One of the most significant changes was redesigning Lesson 1 around the PRIMM framework: Predict, Run, Investigate, Modify and Make. From my classroom experience, students can become overwhelmed when presented with a large block of unfamiliar code and expected to understand it immediately. PRIMM creates a more manageable learning journey. Students first consider what the code might do, then run and investigate it before making small changes and applying their understanding creatively.

I also redesigned the lesson pages to feel less like traditional worksheets and more like an interactive learning experience. Each lesson now uses clearly defined, colour-coded stages and a simple visual pathway:

Predict → Run → Investigate → Modify → Make

This structure should support more independent learning by helping students see where they are in the lesson, what they have completed and what they need to do next.

Another important development was the addition of side-by-side Scratch and Python examples. Rather than introducing Python as something entirely unfamiliar, this provides a visual bridge between block-based and text-based programming. It helps students recognise that concepts they already understand in Scratch, such as sequence, loops and variables, can also be expressed in Python. I added a click-to-enlarge feature so the examples can be examined more closely.

To build confidence and provide a clear goal, I introduced a WAGOLL (What A Good One Looks Like) section. This shows an example of the Turtle graphic students are working towards. A visual outcome makes the task feel more achievable and reinforces the connection between the code and the image it creates.

I decided to encourage students to type the code themselves rather than copy and paste it. Although this takes longer, it helps them become familiar with Python syntax and develop confidence in identifying and correcting errors. It also encourages more active engagement with the code.

Alongside the lesson development, I refined the main workspace controls for variables such as segments and shape size. Increasing their size and improving their layout made them easier to use on tablets and iPads, supporting accessibility across different devices.

This week felt like an important step forward. What began as a generative art prototype is gradually becoming a more complete educational platform. The new lessons provide a clearer pathway from visual exploration to structured programming, helping learners bridge the gap between Scratch, Python and creative digital making.

Week 8

Creating a Clearer Learning Journey for Creative Coding

Created June 22, 2026 8:14 PM

Focus question: How can the interface be simplified to reduce cognitive load and create a clearer learning experience for KS3 students?

Creating a Clearer Learning Journey for Creative Coding

This week, I focused on refining the overall user experience of Code Kaleidoscope. As the project has developed from a simple drawing tool into a broader creative coding platform, keeping the interface clear and intuitive has become increasingly important. Reducing cognitive overload, particularly for students who are new to programming, has been a recurring theme throughout my research. Many of this week’s changes were therefore intended to make the platform feel calmer and easier to navigate.

One of the main changes was redesigning the Lesson Hub. I had previously introduced locked and completed lesson states to create a sense of progression. However, after reviewing the interface, I felt these features added unnecessary complexity. I replaced them with a simple visual learning journey showing how the unit progresses from variables, input and selection to loops, debugging and the final project. This feels much cleaner and allows students to understand how their learning develops without being distracted by additional controls or status labels.

I also improved the Live Python Model within the drawing workspace. The variable controls displayed both the custom plus and minus buttons and the browser’s default number input arrows. Although this was a small issue, it created visual clutter and made the interface feel unfinished. Removing the browser controls resulted in a cleaner appearance and should make the values easier to adjust, particularly on tablets and smaller screens.

The programming concept tooltips also needed attention. Labels such as Variable, Sequence, Selection and Loop displayed both the custom Code Kaleidoscope tooltip and the browser’s default tooltip. This made the information harder to read and felt inconsistent with the rest of the interface. Removing the default tooltips and retaining the branded versions created a smoother and more consistent experience.

Although these changes were relatively small, together they made a noticeable difference. The website now feels less like a collection of separate features and more like a coherent learning environment. Navigation is clearer, interactions are more predictable and the educational elements feel more purposeful.

What Went Well

The redesigned Lesson Hub presents a much clearer learning journey without relying on locked or completed states. Simplifying the interface also made the platform feel calmer and more accessible.

Improving the variable controls and tooltip behaviour created greater consistency across the website. These refinements strengthened the overall user experience and supported the project’s aim of reducing unnecessary cognitive load.

Even Better If

The platform still relies heavily on self-guided exploration, so less confident learners may need additional scaffolding. More opportunities for retrieval practice and reflection could also be included within the lessons.

The printable workbook needs further development to support the lesson activities more closely and provide clearer opportunities for assessment.

What I Learned

This week reinforced that adding visible progression features does not always make a learning journey clearer. In this case, removing locked and completed states allowed the sequence of concepts to become more obvious.

I also learned that small interface issues can affect the overall quality of the experience. Duplicate controls and tooltips did not prevent the platform from working, but removing them made it feel calmer, more consistent and more professional.

Next Steps

Next, I will focus on developing the educational resources that support the platform. This will include expanding the Creative Coding lessons, improving the student workbook, creating structured Do Now activities and refining the final project materials.

I also plan to continue testing the website with teachers and students so that future decisions are informed by user feedback rather than assumptions.

Week 9

Refining the Teacher Resources and Lesson Delivery

Created June 28, 2026 7:50 PM

Focus question: How can the website better support teachers delivering the creative coding lessons?

Refining the Teacher Resources

This week, I focused on how teachers would use Code Kaleidoscope in the classroom. My original plan was to remove the separate Teacher Resources page and place everything within the Lesson Hub. However, after testing this structure, I realised it made the student area feel cluttered and did not provide teachers with a clear place to find the materials they needed.

As I began creating PowerPoint presentations for each lesson, the need for a dedicated Teacher Resources page became more obvious. I therefore changed direction and reinstated it as a central location for downloadable teaching materials. This allows the Lesson Hub to remain focused on the student learning journey while giving teachers a separate, clearly organised route through the platform.

I also created a consistent PowerPoint template for the lesson presentations. Each presentation includes:

  • A learning aim
  • A retrieval task
  • Key vocabulary
  • Relevant theory and explanations
  • I Do, We Do and You Do activities
  • Workbook tasks
  • A WAGOLL
  • Success criteria
  • A plenary

My aim was to provide teachers with everything needed to deliver the lessons without requiring them to create additional resources. Using the same structure across the presentations should also make the unit easier for teachers and students to follow.

Alongside this work, I reviewed the website to improve its layout and consistency. I also revised the teacher evaluation questionnaire so that the questions align more closely with my research question. Making the questionnaire available digitally should make it easier for teachers to participate and for me to collect and analyse their responses.

To begin recruiting participants, I shared the evaluation with an online group for Computer Science and ICT teachers and invited practising teachers to review Code Kaleidoscope and provide feedback.

What Went Well

The teacher resources are now more clearly organised, and the lesson presentations make the platform more practical for classroom use. Separating the student and teacher routes also improved the overall structure of the website.

Even Better If

A few smaller interface improvements are still needed. Feedback from practising teachers should help me identify any final usability, accessibility or content changes before completing the artefact.

What I Learned

This week reinforced the importance of being willing to revisit earlier design decisions. Although combining the resources initially seemed simpler, testing the idea showed that students and teachers needed different routes through the platform.

I also recognised that an educational artefact needs to support the teacher as well as the learner. Providing clear, consistent and ready-to-use materials makes Code Kaleidoscope more realistic and practical for classroom use.

Next Steps

Next, I will complete the remaining lesson presentations and begin collecting teacher feedback. I will then analyse the evaluation results and use them to make the final improvements to Code Kaleidoscope before completing the dissertation.