Our Experience

There are 5 COMP11012 courseworks throught the course length. Below is a summary of the key insights we gained from each courseworks 1-3.

🏥 Kidney Donations

The Kidney Donations coursework taught us how to think about matching problems. We learnt to describe an algorithm precisely enough that anyone could follow it step by step, even without programming knowledge.
We also explored how the problem scales: finding all valid pairs requires checking every combination, and extending that to 3-way chains makes the search space grow much faster. This introduces the idea that how you structure an algorithm directly affects how long it takes to run.

🌍 Graphs Galore

The Graphs Galore coursework introduces graph abstraction, which is one of the most powerful tools in computer science. We learnt to represent real-world problems, such as colouring a map or seating people who dislike each other, as graphs and then design algorithms that operate on that abstract structure.
We also discovered that two seemingly different problems can share the same underlying algorithm, which is a key insight in algorithm design.

⏳ Informal Complexity

The Complexity coursework ties everything together. You revisit algorithms from earlier work and analyse them formally by counting exact steps, identifying patterns as input size grows, and expressing runtime in terms of n.
You also learn to distinguish between loop structures (FOR vs REPEAT...UNTIL) and how they affect how easy or difficult it is to reason about an algorithm's behaviour.

Lets interview and hear from one of the students on their experience with the course.

🎤 Interview with a Student

Q. What skills did you develop from these units?

A. The Computational Thinking Unit and the Project Unit have helped me develop many new skills. I have improved my problem solving skills, especially since the Computational Thinking Unit requires a lot of analysing and solving. I had to break problems down, compare algorithms and also understand them.

Q. How did the Project Unit help you practically?

A. As for the Project Unit, my programming skills have improved as we have been using HTML and CSS, but the main skill I have learnt from this unit was collaborating with a team by using GitLab. My projects in college never required us to use Git, so this project unit has really helped me with understanding how to use Git and how to version control properly.

Q. What challenges did you face in the Computational Thinking Unit?

A. The Computational Thinking Unit includes a lot of analysis of different problems and required me to understand how algorithms behave, their efficiency and different patterns. I found this slightly difficult as this was different to what I have done before, but I found it useful as I was able to learn new concepts.

Q. How was the experience of working on the Project Unit?

A. On the other hand, the Project Unit is more practical and focuses on working in a development environment with a team. There was plenty of planning and designing before jumping into the actual development of the website, and there are also reports to be written alongside it. I found this very fun as I was able to work in a team, and work on and improve our website over a period of time together.

Q. Overall, how have these units impacted you?

A. Overall, the Computational Thinking Unit and the Project Unit have both been very useful to me in improving my knowledge of computer science. I have been able to improve my teamwork, practical and technical skills despite these units being challenging. However, the units are very enjoyable and have made me more interested in computer science.