Describe the role of operating systems

Assignment Help Computer Engineering
Reference no: EM132747400

MN404 Fundamentals of Operating Systems and Programming - Melbourne Institute of Technology

Assignment - Nims Modified game

Learning Outcome 1: Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware
Learning Outcome 2: Demonstrate competency in the use of a command line interface to operate and perform simple OS administration
Learning Outcome 3:
Apply principles of abstraction and problem solving in an object-oriented programming language
Learning Outcome 4: Apply knowledge of programming constructs in developing computer programs
Learning Outcome 5: Create programs based on incremental development processes of designing, coding, testing and debugging.

Assignment 2 Specification

Write a detailed algorithm and a program that plays the modified version of the ancient Chinese game of NIM. In this game, the person who runs your program will be one of the two human players, your program will be a simple Artificial Intelligence (AI) that will serve as the other player, as well as provide the narrative for the game and keep score, invite a friend to be the third player. Your program must keep score impartially while participating in the game, but this is not a difficult task for the computer.

Rules of the Game:

• Number of participating Players: 2 students and 1 computer
• The player who goes first shall define the number of stones in the pile. The number must be a random number between 20 to 50. You may use built-in random number generation function
• Each player then removes some number (between 1 to 3) of stones from the pile in turn until one player removes the final stone.
• The player who goes first:
I. Provides the number of stones to be placed in the pile,
ii. Removes the first set of 1 to 3 stones
• Other player removes a set of 1 to 3 stones
• The players then take turns (iteration) until the final stone is removed.
• The player who removes the final stone is the winner (student player 1, student player 2 and the computer).

The program must perform the following:
• To display a brief description of the game when the game commences. Computer shall introduce itself as one of the AI player, and prompt the human players for his or her names along with their MIT Ids. 2 marks

• Interactive program to accept the inputs from the players. 1 mark

• Display a greeting to the human player that incorporates the name provided in response to the prompt: Welcome <user's name> to the game of picking Stones. 4 marks

• The user's name must be output in proper name case (i.e., Sentence case starting with upper case for the first letter) regardless of the case the user types in. 4 marks

• The users shall input the number of stones to be picked either by using a standard random number generator function or may input according to their own strategy but the number should be less than or equal to three (3). 3 marks

• Front end validation - The program must reject and display a valid message if the number of stones to be removed are either less than one (1) or more than three (3) and remind them the game constrains. Prompt that player to re-enter an appropriate number. 2 marks

• The computer as a player shall use the following strategy: Divide the remaining number of stones by three. If the remainder is zero, then two stones are removed, or else one stone is removed. For example, if the remaining number of stones is nine or fifteen, then two stones are removed; if the remaining number of stones is eight or ten, then one stone is removed. 4 marks

• Both the human players shall have their own strategies to play. 3+3 marks

• When one of the player has won a game, the program must output a congratulatory message naming the winner along with ID. 2 marks

• Your program should be menu driven, meaning, that it should allow the users to play additional games of NIM as long as he/she enters a "y" or "yes" (lowercase or uppercase) in response to a "Do you want to play again?" prompt. 2 marks

The assignment report has to include the following sections:

• User Requirements:
o Include all the user (assignment) requirements here.
o For example: display messages, number of players, menu driven front end validation etc.

• Analysis:
Analysis often requires the programmer to learn some things about the problem domain and that information the user will have to provide. Also, it should specify what the program is going to do. In this case, the problem domain would be the logic used to play the modified game. The user shall provide the required inputs.

• Design:
The design phase has to describe how the program is going to do the desired task. This usually involves writing an algorithm or a flow chart in fact, algorithms are more often written in a somewhat stylized version of English called pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode you should strive to describe the essential elements of the program in a clear and concise manner. Note that this pseudocode closely resembles Python code, so the transition to the coding step should be straightforward.

• Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors must be completed. The complete code with proper indentation has to be pasted here along with sample inputs and outputs. This phase to include all the specifications provided above.

• Testing: Only thorough testing can build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer's part. It would be much easier to turn the program in after the first successful run to meet a deadline or to move on to the next assignment.

Once all the errors are debugged, set of all possible inputs are to be provided. Even though the range of the input numbers on a computer is finite, testing all of the possible combinations of inputs would be impractical. So, the challenge is to find a smaller set of validity checks of encryption and decryption.

Attachment:- Operating Systems and Programming.rar

Reference no: EM132747400

Questions Cloud

Determine the dollar amount of your profit or loss : Determine the dollar amount of your profit or loss from buying a futures contract specifying C$100,000. Use a minus sign to enter a loss, if any
What is true about the electron transport chain : What is true about the electron transport chain (ETC)?
Identify legal responsibilities when surveying the public : Identify the legal and ethical responsibilities when surveying the public, referring to the Australian Privacy Principles. What are the purpose
Difference between homologous and analogous traits : Choose an adaptive trait common to more than one species For example, birds and bats both have wings.
Describe the role of operating systems : Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware and Demonstrate competency in the use of a command
Best practices for firewall management : There are many recommendations, guidelines, and best practices for firewall management.
Draw arrows to represent direction of osmosis : Hypothesize what will happen to each baggie in the following figure?
What is the value of the investment : The firm has an opportunity to invest £10 million today and £12 million in one year in real estate. What is the value of the investment
What variables would include in the evaluation of a security : What variables (think of a variable as an outcome of the training) would you include in the evaluation of a security guard training program (in Canada)?

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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