CO650 Advanced Programming
- Subject Code :
CO650
- University :
Buckinghashire New University Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
United Arab Emirates
Module code and title: |
CO650 Advanced Programming |
Module leader: |
Guy Walker |
Assignment No. and type: |
CW 1 |
Assessment weighting: |
100% |
Submission time and date: |
By 14:00 Monday 27th Jan 2025 |
Target feedback time and date: |
21st Feb 2025 |
Assignment task |
Create a C++ Object Oriented system of your own choice. It must contain a minimum of 5 classes and a maximum of 10 classes (MUST be different from the practical examples) and demonstrate the following programming concepts/techniques: 1. Polymorphic Behaviour 2. Overloading 3. Friendship 4. Static Members 5. Constructors 6. Pointers 7. Functional Pointers 8. Memory Management within classes 9. Exception Handling using Exception Classes (Inheriting from Exception) 10. Winsock Client The classes must model a cohesive well-designed system but the functionality they exhibit, can be limited to outputting console messages. Within the main function, create instances of one or more of the classes to demonstrate the systems functionality. Your code should include detailed comments that highlight where and how each of the 10 concepts/techniques above have been implemented. One of the classes must incorporate the functionality of a winsock client, that communicates in some way with a Server. This could simply be sending a message to the Server, which it then echoes to the console. While you can use the practical solution for the Server, the Client code must be encapsulated in a class. Your submission should include a class diagram, this can be generated through Visual Studio. 1. The OO system design. 20% 2. The code makes good use of appropriately named variables, indentation and comments enhance the readers understanding 10%
|
This assignment has been designed to provide you with an opportunity to demonstrate your achievement of the following module learning outcomes: |
LO 1 Interpret, evaluate and implement an object oriented design to complex software systems. |
LO 2 Critically analyse and appreciate the advantages and risks of an object-oriented approach to software development |
LO 3 Interrogate the varied dimensions of a given context in order to determine and develop an advanced programming solution that is fit-for-purpose |
Practicalities: Referencing, presenting and submitting your work |
Please see your programme handbook for information on the standard referencing style, presentational requirements and process for submitting your work. Your TurnItIn electronic submission should include a single word document (NOT Zipped) containing: Screen shots showing the console output for both tasks. Your C++ source code (with comments) (Pasted into the Word document, do not take screen shots of code). Ensure it is at least font size 11. |
Confidentiality |
You are expected to take responsibility for maintaining and managing confidentiality issues in your work. You should maintain and respect confidentiality in relation to the protection of personal, technical and/or commercial information of a sensitive nature in your assessed work, whatever the format. For further information and guidance, please see the relevant section in your programme handbook. |
Academic integrity |
Academic integrity means taking responsibility for your own work. When you submit an assignment, you are making a declaration that it is your own work and that you have acknowledged the contribution of others and their ideas in its development (for example, by referencing them appropriately). For further information and guidance, please see the University website: https://www.bnu.ac.uk/current- |
students/registry-helpdesk-and-academic-advice/academic-integrity-and-misconduct |
Level 5 |
Fail |
Pass |
||||
Grade Band |
0-34% (F) - Fail |
35-39% (E) Marginal Fail |
40-49% (D) Third Class THRESHOLD PASS |
50-59% (C) Lower Second Class 2ii |
60-69% (B) Upper Second Class 2i |
70- |
Grading Categories |
Not successful |
Below required standard |
Satisfactory |
Good |
Very good |
|
Have a limited |
Have an |
Have a basic |
Have a sound |
Have a |
Hav |
|
Knowledge and |
and/or |
insufficient |
understanding of |
understanding of |
sophisticated and |
acc |
understanding |
substantially |
understanding of |
the application of |
the application of |
critically |
syst |
(Key indicators for Knowledge and understanding) (70%) Depth of knowledge and understanding of C++ syntax Depth of knowledge and |
inaccurate understanding of the application of advanced programming techniques |
the application of advanced programming techniques |
advanced programming techniques |
advanced programming techniques |
systematic understanding of the application of advanced programming techniques |
und the adv pro tech |
understanding of |
||||||
the OO paradigm. |
Analysis and criticality (Key indicators for analysis and criticality)(20%) Correct interpretation of a software design. Appropriate Application of OO concepts. |
The work demonstrates limited or no ability to interpret, evaluate an object-oriented design to complex software systems and appreciate the advantages and risks of an object-oriented approach to software development |
The work demonstrates an insufficient ability to interpret, evaluate an object-oriented design to complex software systems and appreciate the advantages and risks of an object-oriented approach to software development |
Demonstrate a sufficient ability to interpret, evaluate an object-oriented design to complex software systems and appreciate the advantages and risks of an object-oriented approach to software development |
Demonstrate a sound ability to interpret, evaluate an object-oriented design to complex software systems and appreciate the advantages and risks of an object-oriented approach to software development |
Demonstrate a sufficient ability to interpret, evaluate an object-oriented design to compl software system and appreciate the advantages and risks of an object-oriented approach to software development |
Application and practice (Key indicators for application and practice) (10%) Accuracy of implementation of design. Code is efficient and maintainable. |
The work demonstrates limited or no ability to implement an object-oriented design to complex software systems. |
The work demonstrates insufficient ability to implement an object-oriented design to complex software systems. |
The work demonstrates sufficient ability to implement an object-oriented design to complex software systems. |
The work demonstrates an ability to implement an object-oriented design to complex software systems. |
The work demonstrates a capable ability t implement an object-oriented design to comp software system |