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.

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.

  • 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.

All resources can be found on Blackboard.

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.

  • oop.txt
  • Last modified: 2024/09/06 11:31
  • by chris