====== Object Oriented Software Design and Development ====== This module equips students with the essential knowledge and skills required to understand core computer science concepts and to construct efficient object-oriented (OO) software systems. Students will explore key object-oriented programming (OOP) techniques, algorithms, data structures, and design principles necessary for modern software development. ==== Educational Aims ==== The module aims to: - Demonstrate an understanding of computer science theory and object-oriented concepts. - Introduce trends in software development and the advantages of object-oriented approaches. - Teach the creation of object-oriented designs using standardized formats such as UML. - Develop efficient and maintainable software solutions based on object-oriented principles. - Ensure programs are tested and meet specified requirements. ==== You will cover: ==== * **Fundamental Computer Science Concepts:** Algorithms, data structures, Big O notation, and complexity analysis. * **Object-Oriented Concepts:** Key principles such as modularity, re-use, abstraction, encapsulation, inheritance, and polymorphism. * **Trends in Software Development:** Focus on the perceived advantages of object-oriented approaches. * **Object-Oriented Design:** Using recognized formats like UML to create object-oriented designs. * **Efficient Software Development:** Writing object-oriented software that adheres to coding standards and meets project specifications. * **Testing and Documentation:** Producing detailed test plans and ensuring code is maintainable and testable. ==== Delivery ==== All resources can be found on Blackboard. ==== Assessment Strategy ==== **Component A:** Practical Portfolio \\ This module is assessed through a single practical portfolio, which requires students to apply object-oriented programming techniques to design, develop, and test a software solution. The portfolio emphasizes creating efficient and maintainable code. The completed solution must adhere to industry best practices and include extensive testing and documentation.