All Studies

Advanced Programming

Completed

In-depth programming practices for building maintainable, testable, and better-structured software beyond beginner-level coding.

What I Learned

I improved my ability to write cleaner and more maintainable code by focusing on structure, modular design, debugging, and testing. The module pushed me to think beyond 'working code' and towards code quality and readability.

Key Concepts

  • Modular design and abstraction
  • Maintainability and readability
  • Testing and debugging as part of development

Key Topics

  • Object-oriented programming principles
  • Exception handling and error management
  • Working with data structures in code
  • File I/O and program structure
  • Unit testing
  • Refactoring and code quality

Practical Takeaways

  • Greater confidence building larger programming tasks
  • Better habits for structuring code before implementation
  • Improved debugging workflow and troubleshooting discipline

Tools & Technologies

  • Python
  • Java
  • VS Code / IntelliJ
  • Git and GitHub
  • Unit testing frameworks

References & Resources

  • University of York module materials (COM00142M)
  • Official language documentation (Python / Java)
  • Code style and testing best-practice resources

Notes

A very practical module for improving software craftsmanship. It directly supports my portfolio projects because it improved how I organise and maintain code.