All Studies
Software Engineering
CompletedSoftware development as an engineering process — requirements, design, teamwork, testing, iteration, and maintainable delivery.
What I Learned
I learned to think about software development as a full lifecycle, not just coding. The module helped me understand requirements, design decisions, teamwork practices, and how testing and documentation support long-term quality.
Key Concepts
- Software lifecycle and iterative development
- Requirements-driven design
- Collaboration, testing, and maintainability
Key Topics
- Requirements engineering
- System design and architecture
- Agile / iterative development
- Version control and collaboration
- Testing strategies
- Documentation and maintainability
Practical Takeaways
- Stronger ability to break software projects into manageable stages
- Improved habits in version control, testing, and documentation
- Better understanding of how real software teams coordinate development work
Tools & Technologies
- Git and GitHub
- UML / design diagrams
- Issue tracking / Kanban boards
- Testing tools
References & Resources
- University of York module materials (COM00144M)
- Software engineering process and design guidance
- Git / GitHub documentation
Notes
This module was important for building a professional mindset around planning, collaboration, and maintainable delivery — useful both academically and in industry roles.