Programming and Software Fundamentals
This module is a foundational, designed to introduce and equip us with baseline essential programming skills and knowledge of software development. It covers core concepts such as software development methodologies, analysis and design, testing strategies, and comprehensive documentation practices.
Assignment 1
This assignment consisted of five distinct tasks, each requiring the development and comparison of two different algorithmic solutions. These tasks ranged from sorting arrays and validating input to implementing the classic FizzBuzz problem and handling arrays with and without predefined methods.
Through this assignment, I enhanced my understanding of algorithm implementation, efficiency comparison, and the selection of appropriate methods for different problems. I worked with both built-in methods (like “Array.Sort” and “Array.reverse”) and non-predefined methods such as bubble sort and loop-based validations. This allowed me to explore different approaches to sorting, validation, comparing their performance and readability. This assignment has improved my knowledge of algorithmic problem-solving, mathematical complexities and the trade-offs between using predefined methods and custom logic.
Assignment 2
This next assignment involved creating a software solution for a Gardening compant to manage their gardening equipment rentals. The documentation includes the requirements analysis, UML diagrams, development process using GitHub, comprehensive testing, executable deployment, end-user guides, and an evaluation of the software’s effectiveness.
By completing this assignment I was able to develop my skills by applying the knowlege I have learned about Object Oriented Programming in C# – in this instance using WPF. Doing so gaining me experience in writing and executing more complex code, designing user-friendly interfaces with WPF, and effectively documenting the process via this submission and GitHub.