All Studies
Algorithms & Data Structures
CompletedFundamental algorithms and data structures — sorting, searching, graphs, trees, and complexity analysis.
What I Learned
This module strengthened how I think about problem-solving before coding. I learned how to compare different solutions, estimate performance using time and space complexity, and choose data structures that fit the problem instead of defaulting to the first working approach.
Key Concepts
- Time and space complexity trade-offs
- Choosing the right data structure for the problem
- Recursive vs iterative approaches
Key Topics
- Big-O notation
- Sorting algorithms
- Searching algorithms
- Graph traversal
- Trees and heaps
- Dynamic programming
Practical Takeaways
- Ability to analyse algorithm efficiency before implementation
- Confidence solving medium-level coding problems with structured reasoning
- Better understanding of when to use arrays, hash maps, stacks, queues, trees, and graphs
Tools & Technologies
- Python
- Java
- LeetCode / coding practice platforms
References & Resources
- University of York module materials (COM00141M)
- Core algorithms and data structures lecture notes
- Practice problem sets and coding exercises
Notes
A key milestone module for improving technical interview readiness and writing more efficient code in later programming modules and projects.