Explain and use key programming constructs

Assignment Help C/C++ Programming
Reference no: EM133286131

Object-Oriented Software Development

Assignment: Development Task

Learning Outcome 1: Explain and use key programming constructs to create correct and efficient programs

Learning Outcome 2: Design, and implement Object-Oriented programs

Learning Outcome 3:Develop applications with graphical user-interfaces

Learning Outcome 4:Develop technical software solutions to complex problems


Problem 1 - The Smart Tic Tac Toe game

This game aims to win the game on a 3 x 3 grid with the victory of three identical symbols (X or O) on horizontal, diagonal, or vertical lines. The players will play alternately. This game has two options: player one against player two or human against computer. When a human plays against the computer, there are two options: (a) Random logic, where the computer randomly selects one of the empty boxes on the grid and places a symbol on that box (X if the computer starts the game first, O if human starts the game first). (b) Smart logic that follows the steps below:

1) If the computer can win the game in one move, it makes a move, and the game ends. So, if there is one line with two symbols given by the computer and an empty box, the computer must place a symbol in the empty box.
2) If the computer can block with one move, it makes a move, and the opponent cannot win the game in the next move. So, if there is a line with two symbols given by a human and an empty box, the computer must place a symbol in the box.
3) If there is no possibility of winning or the computer cannot block the opponent, then the movement is carried out in this order: the middlebox, one of the four corner boxes, or one of the four side squares (the order is important)

The game should display a scoreboard with players' names and scores (e.g., [name of human user] vs computer). The scoreboard should be accessible while playing the game so players can keep track of their score. Every time a user wins (get 3 of their symbols in a row (up, down, diagonally)), 1 point should be added to their total score.

Problem 2 - The Preston Athletic Club

The Preston Athletic Club are organising their first international marathon in the spring of next year. A field comprising world-ranking professionals and amateur runners (some in fancy dress) will compete on the 26.2-mile route around Preston. Each amateur runner fundraises for a charity and has a sponsorship form. A sponsorship form has the number of sponsors, a list of the sponsors, and a list of amounts sponsored. You must design a software system to manage all aspects of the race efficiently, including registration and volunteer management. The functional requirements for the system are the following:

1) The system would allow registering participants (runners and volunteers) for the marathon;
2) The system would maintain each runner's number (e.g., "Runner 10", where ten is their number), result status ("Not finished" or "Finished"), and time finished (recorded in hours, minutes, and seconds);
3) For each professional runner, the system must show the world ranking (e.g., Runner 200 (Ranking 6));
4) For each amateur runner, the system must show a list of sponsors and the associated amounts;

5) The system would allow adding a sponsor and associated amounts for each amateur runner;
6) The system would allow printing a collection list for an amateur runner from their sponsorship form;
7) The system must display an amateur runner with a costume (e.g., "Runner 406 (Snow White)")
8) The system must allow creating and listing of different volunteer types (e.g., drink station, marshalling) and their schedules;
9) The system must allow creating and printing personalised certificates for each participant (runners and volunteers).

Problem 3 - Message management system

Giannis owns a small shop close to the University of Central Lancashire, selling a range of stationery, office supplies, and printing and laminating services.

Giannis plans to acquire an LCD message display board mounted above the shopfront to show scrolling text messages. Giannis intends to use this to advertise his products and offers and provide a message display service for fee-paying clients (e.g., local events, staff required, etc.)

Each client is given a unique ID string (e.g., "Andreas4") and has a name, an address, a phone number and an amount of credit in "credit units". A book of clients is maintained to which clients can be added, and we can look up a client by their ID.

Each message is for a specific client and comprises the text to be displayed, the number of days it should be displayed and the cost of that message in units. No duplicate messages (i.e., the same text for the same client) are permitted.

A set of current messages is to be maintained: new messages can be added, the message set can be displayed on the display board, and at the end of each day, a purge is performed - each message has its days remaining decremented and its client's credit reduced by the cost of the message, and any messages which have expired or whose client has no more credit are deleted from the message set.

The software is to be written before the display board is installed. Therefore, the connection to the board should be via a well-defined interface and a dummy display board implemented in software for testing purposes.

Task details:

You will need to analyse, model and program a solution in .NET C# for your selected problem. Specifically, you must:

Task 1: Create a UML Class diagram based on the requirements of your selected problem. Your diagram should show all the potential classes, their associated methods, properties and relationships between classes. You should create your UML diagram electronically and fully annotate it.

Task 2: Implement your class diagram in .NET C#. You should demonstrate using OOP and programming concepts as your selected problem requires.

Task 3: Create a GUI .NET C# application which implements the functionalities defined in your selected problem. You should design your GUI using Windows Forms or WPF.NET (see marking scheme for more details).

Task 4: You can meet one or more requirements of your selected problem using external files or a database (e.g., MySQL for Visual Studio). You should include the file(s) or DB in your project to ensure I can run the application.

Task 5: Test your software using a standard technique (e.g., Blackbox, Unit). You must show evidence that you tested your app during the demonstration to your tutor.

Task 6: Demonstrate your work to your tutor. During the demonstration, you should explain how your work meets the requirements of your selected problem. Demos are strictly limited to 10 minutes and will include questions from your tutor. Students must only present materials which communicate how their work satisfies the marking scheme. A PowerPoint may support this if necessary

Assignment: Programming paradigms presentation

Learning Outcome 1: Explain and use key programming constructs to create correct and efficient programs
Learning Outcome 2: Critique and compare different software development approaches

In this assignment, you must create a PowerPoint presentation of no more than ten content slides. Each slide should have a voice-over recording (maximum 30 seconds) and a note (maximum 200 words) explaining the slide. In this presentation, you must:

Task 1 (Research): Research the following programming paradigms:

• Procedural
• Object Oriented
• Aspect Oriented
• Functional programming
• Distributed programming

Task 2 (Presentation): Outline the pros and cons of each paradigm in the context of your chosen computing problem (see part 1 of the assignment). For each approach, you should also explain why it is or it is not a better choice to solve your chosen computational problem.

Structure of the presentation:

You may choose what to include on each slide; a suggested structure is using slides 1-5 to list (using a table) the pros and cons of each programming paradigm. Then use slides 6-10 to explain why each paradigm is or is not a better choice to solve your chosen computational problem. Finally, use as many slides as necessary to provide a complete list of references. You should use IEEE referencing style to cite and reference your resources. Finally, you may want to use code snippets for each paradigm to support your arguments.

Reference no: EM133286131

Questions Cloud

Write a proposal to increase your staff : Adler Theory of Individual Psychology Discussion - Write a proposal to increase your staff in order to accommodate the increased work volume
Which gospel it most reflects in its storyline : Movie 2014 "The Gospel of John" which gospel it most reflects in its storyline?
Education and training services : You are required to research The First Aid and Infection Control WHS policy for the Education and Training services
Describes alcohol addiction among women in canada : Describes Alcohol Addiction among Women in Canada. Describes the importance of using reference lists from previous research in your topic
Explain and use key programming constructs : CO4403 Object-Oriented Software Development - University of Central Lancashire - Explain and use key programming constructs to create correct and efficient prog
What is the observed wavelength of this spectral line : If a spectral line in the star's spectrum has rest wavelength 400.0 nm, what is the observed wavelength of this spectral line when we measure the star spectrum
Which spaces best define your life : How did the "spaces" these two men lived in help shape their lives? Which spaces best define your life?
What are the rules of social interaction on public transit : Funny Cross Cultural Misunderstandings Discussion - What are the rules of social interaction on public transit or in Uber/Lyft
Compare their leading causes of death and dalys : Compare their leading causes of death and DALYs. Suggest 2 social determinants of health that may contribute to the observed trends.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write test driver to test the written methods

write the class specification, constructor, accessors and mutators and write test driver to test the written methods

  Create an abstract class vehicle that has the methods

Create a derived class BoatPlane that inherits from Boat that adds the appropriate fields and overloads the appropriate functions.

  Perimeter of a trapezoid

Write a function in c that will return the perimeter of a trapezoid

  Write a function named caesardecipher

Write a function named caesarDecipher that accepts a key value (the Caesar shift value) as its first command-line parameter, and a string (the ciphertext) for its second parameter. Your caesarDecipher function should look like this:

  Write statements to prompt for and read

Write statements to prompt for and read the user's full name using a Scanner variable.

  Write a c program that displays the given picture

Write a C Program that displays the following picture. (Hint: Write a sequence of printf statements that display lines of asterisks and blanks.)

  Calculation of membership and displays

Assignment – Practical Programming Project - calculate and displays membership fees for N customers who registered for membership from a sport center

  What value will be printed in the code

In the following code snippet, what value will be printed for c and d before the loop is executed

  Current value of the firm

Wolfgang can borrow at 7.1 percent. The company currently has no debt, and the cost of equity is 13.8 percent. The current value of the firm is $595,000.

  Build a table of reynolds numbers at flow velocities

Write a program code to compute and build a table of Reynolds numbers at flow velocities varying from 100 to 1000 ft/sec (at increments of 100)

  What is that print value of b

Consider the program below and what is that print value of b?

  Discuss the properties of an abstract class

Create an abstract class DiscountPolicy. It should have a single abstract method computeDiscount that will return the discount for the purchase.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd