These exercises are some I did while studying for COMP2521, as well as some others which I've found afterwards which I think will be relevant. I've collected these problems mostly from LeetCode and HackerRank, which are excellent sites for practicing your coding abilities. Accounts on both sites will be necessary to do the problems listed.
The difficulty ranking is obviously my opinion, but generally speaking here is what they mean:
- Easy: problems that you should be able to do without too much difficulty
- Intermediate: problems that are a bit harder but doable; may take a little bit of thought and intuition
- Challenges: problems that I think are difficult and/or interesting, if you're up for it; possibly beyond the scope of 2521
If you're able to solve the Easy and Intermediate problems without much difficulty, you're probably very well prepared for any practical exam questions you'll receive (curveballs notwithstanding). You could safely