
Today’s computer science lesson was all about deepening my understanding of programming concepts — especially strings, procedures, and functions — while practicing with some IGCSE past paper questions. It wasn’t just about remembering syntax; it was about truly understanding how these parts of a program work together to make code efficient, clear, and reusable.
We started with strings, which at first seem simple — just text data. But once you start slicing, searching, and combining them in algorithms, they become incredibly powerful. I worked through questions that required reversing strings, counting characters, and validating inputs. Every small operation demanded careful logic, especially when combining multiple string-handling techniques at once.
Then we moved into procedures and functions — the real backbone of structured programming. The focus was on designing programs that are modular, meaning each task is handled by a separate block of code. I learned how to decide when to use a procedure (when no value needs to be returned) versus a function (when something does). This might sound basic, but IGCSE questions can twist these ideas in tricky ways, especially when parameters, local variables, and scope come into play.
What made today’s study session feel advanced was applying everything together. For example, I practiced writing pseudocode that processes strings inside functions, sends data through procedures, and uses return values efficiently — all while sticking to IGCSE formatting and clarity standards.
By the end of the lesson, I could confidently read and write structured pseudocode that handles string data using custom-designed procedures and functions — something that felt confusing at first but now makes total sense.
In conclusion, today’s computer science work wasn’t just a review — it was mastery in progress. Combining string manipulation with modular program design showed me how powerful and elegant programming can be when each part fits perfectly together.
Leave a comment