All Studies
Advanced Programming
CompletedIn-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.