PROGRAM 2- Implementation Specifications

Size: px
Start display at page:

Download "PROGRAM 2- Implementation Specifications"

Transcription

1 PROGRAM 2- Implementation Specifications Program Implementation Due Date: Mar 18, 2019 (folder for next class meeting) You are to complete the following on your own unless otherwise stated. All programs must be written in C++ and be Linux compatible. Make sure you follow the Assignment Guidelines and Program Guidelines posted on my course webpage and use the templates provided. Implementation Deliverables Include the following in your program folder: (Staple in left top corner) UML (revised) make sure proper headings are included on UML two stapled packets: player2.h, player2.cpp blank blue rubric I will provide this in class by the folder due date Submit the following to my testing/grading directory: Submit your electronic files for grading- use the process outlined in Submit Directions p2t use this directory for testing your implementation p2f use this directory for grading your implementation Submit the following to D2L when implementation is complete: Submit Program 2 Work Log and Summary to D2L Assignments dropbox (one file) Create These Items 1. UML revision of the UML as you implement your program 2. player2.h contains the declarations and documentation associated with PlayerClass 3. player2.cpp contains the definitions/implementation associated with PlayerClass Provided Files Files for the program are provided in my directory: ~zimmer/csci330/192/p2/ Documentation: Refer to the GAME document for an overview of the game rules. Work Log and Summary Continue a single Word document from program 2 - design that contains the table of your work hours with your reflection summary below the table. This is due in the D2L Assignments dropbox by midnight on the day you turn in your program folder. Updated: 3/1/2019 1

2 Design, Implement and Test the following C++ Class Make appropriate corrections to your program 1 implementation of PlayerClass so that it meets program 1 specifications before you move forward. You are welcome to submit the revisions of player1 files to p1t for a check of your code (just let me know you would like to take advantage of this option). Modified Requirements (add these to the list from program 1) The Player s name should be a string of more than 1 character but not more than 10. If less than one character in length the constructor should throw the exception INVALID_NAME from GameSpace ExceptionType. More than 10 characters truncate the name to 10 characters. Be sure to trim leading and trailing whitespace and extra whitespace in the string. Constructors should throw exception INVALID_TYPE (from GameSpace ExceptionType) when an invalid PlayerType is passed. Store name and type as instance constants. Encapsulate class constants as named constants. The following is required: o 2D array for Initial stats constructor values should come from this table o 2D array for Impact Table o 2D array for Critical Wound Table Human player s often carry a weapon for battle. This weapon should be stored as a dynamically allocated Weapon (use my Weapon class) o Store the weapon as a pointer to Weapon. When there is no weapon, the pointer should be NULL. The Weapon class UML is provided. Human players should keep track of the weapon skills they possess. Weapon skills should be stored as a map for quick retrieval and update. Use best practices for maps as you process the weapon and skill data. (Only humans have weapon skill data). Modified Public/Private Constructors/Destructor/Operators: Move the default constructor PlayerClass( ) to private. Replace all parameterized constructors but the copy constructor with one constructor taking two parameters using the default parameter value technique. Provide any additional constructors/operators/destructor needed for the class Updated: 3/1/2019 2

3 Additional Public Methods: int Fortify (int boost) If the player is active and boost is greater than zero the boost is added to the defense. Return the defense. int Expose (int decline) If the player is active and decline is greater than zero the decline is deducted from the defense. If the player s defense drops below zero, set it to zero indicating the player cannot defend itself. Return the defense. int WillPowerAdj (int adjustment) If the player is active the adjustment is applied Will Power. Valid will power is between 0 and 12. If will power exceeds 12, reset will power to 12. If the player s will power drops below zero, reset to 0 and the player is dead and no longer active. Returned the will power. int HitScore( ) If the player is active the hit score is rolled and returned, otherwise 0 is returned. int HitDamage( ) If the player is active, the damage inflicted is returned, other wise 0 is returned. Damage is calculated by using the Weapon Skill for the weapon or player s power if no weapon; add the score from the Damage Value of the weapon used or roll the Physical Damage of player if no weapon. int Impact( ) If the player is active, the impact of a critical wound inflicted is returned, otherwise 0 it returned. The return value is determined from the Impact Table using either the weapon power (if the player has a weapon) or the player s power. A player can inflict no critical wound if they are not active or have no weapon and player power is less than 2. Return -1 if the wound is a mortal wound ( w in the strike table). bool CriticalWound( ) Applies the outcome of a critical wound on an active player. The player s health is reduced by 10 points and the current speed is decreased by half (round down). If player is still alive then consult the Critical Wound Table for the damage to the willpower or the life ending damage. Return true if player is still alive and false if player is dead. Updated: 3/1/2019 3

4 string WeaponName( ) Return the name of the weapon. Return empty string if there is no weapon. string WeaponNameAndNum( ) Return the name of the weapon name and serial number. Return empty string if there is no weapon. int WeaponSkill( ) Return the weapon skill of the weapon in the player s hand. Return 0 if there is no weapon. Weapon * DropWeapon( ) An active player drops their weapon and leaves the player with no weapon. The method returns the weapon dropped, or NULL if the player is not active or there was no weapon to drop. bool HasWeapon( ) Returns true if player has a weapon, false otherwise. Weapon * GrabWeapon( Weapon* weapon) An active human grabs a new weapon. A human grabs the weapon sent in and returns the weapon they were using or returns NULL if there was not a weapon. If the player is not active or not human, no change is made and the weapon sent in is returned. If the player has skill with that weapon then that weapon skill is used. If the player has never used this weapon before then the skill is set to 1. bool ImprovedSkill( int improvement) An active player that has a weapon improves their skill with that weapon. Return true if the player can update the weapon skill, false otherwise. Improvement should be greater than or equal to zero. The relational operator that compares obj using alphabetic order by name- not case sensitive bool operator==(const PlayerClass& p) const; bool operator!=(const PlayerClass& p) const; bool operator<(const PlayerClass& p) const; bool operator>(const PlayerClass& p) const; bool operator<=(const PlayerClass& p) const; bool operator>=(const PlayerClass& p) const; Updated: 3/1/2019 4

5 Modify Public Methods: void Write(ostream& out) Output the player data in the following format for each player type BUG: ptype#active#name#(row,col,dir)#maxh#health#willpow#power#maxsp#currsp#mom#pdam#defval<lf> HUMAN: ptype#active#name#(row,col,dir)#maxh#health#willpow#power#maxsp#currsp#mom#pdam#defval <lf> <tab> Current_wpnN&N#Current_wpnSkill#wpnName#wpnSkill# <lf> ostream& operator<< (ostream& out, const PlayerClass* p) Output the player data in the same format as the Write( ) method. * ptype should be output as an uppercase string * active should be 1(true) or 0(false) * dir should be output as an uppercase character (N, E, S, W) * physdam should be output using dice notation (3d4) * <lf> is a line feed (endl) * <tab> is a tab stop * The second output line for HUMAN should only print weapons with a skill of 1 or more. Weapons that have not been used have a skill of 0 (zero). The first pair on the second line are the current weapon and current skill if the human has a weapon. If there is no weapon in hand, print just the delimiters. If there are no weapon skills to print then print nothing. Updated: 3/1/2019 5

6 Required Public Methods from Program 1 string Name( ) Return the player s name int Type( ) Return the player s type string TypeStr( ) Return the player s type as a string ( EXPLORER, WARRIOR, HORNET, KILLERANT, SPIDER ) int Row( ) Return the player s cell row int Col( ) Return the player s cell column int Dir( ) Return the direction the player is facing. int MaxHealth( ) Return the player s maximum health int Health( ) Return the player s health int WillPower( ) Return the player s willpower int MaxSpeed( ) Returs the player s maximum speed int CurrentSpeed( ) Return the Player's current speed int Momentum( ) Return the Player's momentum int Power( ) Return the player s power int RollPhysDam( ) Return the player s physical damage int Defense( ) Return the player s defense value bool IsHuman( ) Return true if player is a human, false otherwise. bool IsBug( ) Return true if player is a bug, false otherwise. bool IsAlive( ) Return true if the player is alive, false otherwise. bool IsDead( ) Return true if the player is dead, false otherwise. bool IsActive( ) Return true if the player is active, false otherwise. An active player must be alive and considered in play. bool IsMyEnemy(PlayerClass* p) Return true if the player p is my enemy, false otherwise. Updated: 3/1/2019 6

7 bool MakeActive( ) Sets player to be active unless player is dead. Return true if player is active, false otherwise. bool MakeInActive( ) Sets player to be inactive. Return true indicating player is inactive. (always returns true). bool MakeDead( ) Sets the health, willpower, momentum, and current speed to zero to indicate a player is dead. Player is set to inactive. Return true indicating player is dead. (always returns true). int Wounded(int damage) If the player is active and damage is greater than zero the damage is deducted from the health. If the player s health drops to zero or below then the player is dead and no longer active. Return the health. int Invigorate(int vigor) If the player is active and vigor is greater than zero the add vigor to the health. Health cannot exceed max health. Return the health. bool Heal( ) If the player is active updates the appropriate values to indicate player has healed. Return true unless player could not be healed because the player is not active or dead. int ResetCurrentSpeed( ) If the player is active then current speed is reset to the max speed. Return the current speed. int ResetMomentum( ) If the player is active momentum is reset to the current speed. Return the momentum. int UseMomentum(int amount) If the player is active and amount is greater than zero the amount is deducted from the momentum. The momentum cannot drop below zero. Return the momentum. bool SetCell(int newrow, int newcol) Updates the player s current coordinates regardless of player s state. If both newrow and newcol > -1 then the coordinates are set. If both newrow and newcol are -1 then coordinates are set (indicates player not on board). In all other cases, coordinates should not be set. If coordinates are set, return true. In all other cases, return false. bool SetDir(DirType dir) Updates the player s current direction regardless of player state. If the direction is updated return true, in all other cases, return false. int SlowDown(int hazard) If the player is active and hazard is greater than zero the hazard is deducted from current speed. The current speed cannot drop below zero and momentum should never be above current speed. If necessary, reduce the momentum to the value of current speed. Return the current speed. Updated: 3/1/2019 7

8 Programmer: Score: /100 Program 2 - Implementation Rubric Outstanding 4-5 points Developing 2-3 points Needs Improvement 0-1 point UML Proper structure, organized, and complete Small structure issue or a few missing members UML structure incorrect or incomplete or missing Documentation The documentation is well written The documentation consists of and clearly explains what the code some simple header is accomplishing and how. documentation that is somewhat Includes clearly stated pre/post useful in understanding the code. conditions. The documentation is some simple header comments separating routines. Readability The code is exceptionally well The code is mostly easy to read. organized and very easy to follow. The code is readable only by someone who knows what it is supposed to be doing. Implementation Requirements All implementation items done per specifications. Some items do not meet required specifications Many items are not implemented per specifications Memory management Allocation and deallocation is done responsibly. A few problems with memory management. Poor memory management or specifications not followed Reusability The code is created for reusability and code reuses when possible.. Most of the code is created for reusability or uses reusable code when possible. Little attention was paid to reusability. Efficiency The code is extremely efficient The code is mostly efficient The code is brute force and without sacrificing readability and without sacrificing readability and unnecessarily long. understanding. understanding. Outstanding points All methods work and meet all of the specifications. Developing points All observer methods work and most of the transformer methods work and produce the correct results. Needs Improvement 0-25 points Most methods do not work and do not produce correct results. Specifications 3/1/2019 CSCI330 Spring 2019 (192)

Zimmer CSCI 330 Fall 2018 (191) PROGRAM 4- Implementation. Program Implementation... Nov 29, 2018 (printed for class 11/30)

Zimmer CSCI 330 Fall 2018 (191) PROGRAM 4- Implementation. Program Implementation... Nov 29, 2018 (printed for class 11/30) PROGRAM 4- Implementation Program Implementation... Nov 29, 2018 (printed for class 11/30) You are to complete the following on your own unless otherwise stated. All programs must be written in C++ and

More information

PROGRAM 1- Implementation Specifications

PROGRAM 1- Implementation Specifications PROGRAM 1- Implementation Specifications Program Implementation Due Date: Feb 10, 2019 by 11:59pm (folder for next class meeting) You are to complete the following on your own unless otherwise stated.

More information

CS 142 Style Guide Grading and Details

CS 142 Style Guide Grading and Details CS 142 Style Guide Grading and Details In the English language, there are many different ways to convey a message or idea: some ways are acceptable, whereas others are not. Similarly, there are acceptable

More information

Regis University CC&IS CS362 Data Structures

Regis University CC&IS CS362 Data Structures Regis University CC&IS CS362 Data Structures Programming Assignment #5 (covers classes and objects) Due: midnight Sunday of week 6 A college wants to you to write a test program for tracking their course

More information

PIC 10B Lecture 1 Winter 2014 Homework Assignment #3

PIC 10B Lecture 1 Winter 2014 Homework Assignment #3 PIC 10B Lecture 1 Winter 2014 Homework Assignment #3 Due Tuesday, February 4, 2014 by 5:00pm. Objectives: 1. To redefine the Big 3 : Copy constructor, Assignment operator, and Destructor for a class whose

More information

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm 1 CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm Objectives To enhance your experience with designing and implementing your own

More information

EECE.2160: ECE Application Programming Spring 2018 Programming Assignment #6: Using Arrays to Count Letters in Text Due Wednesday, 4/4/18, 11:59:59 PM

EECE.2160: ECE Application Programming Spring 2018 Programming Assignment #6: Using Arrays to Count Letters in Text Due Wednesday, 4/4/18, 11:59:59 PM Spring 2018 Programming Assignment #6: Using Arrays to Count Letters in Text Due Wednesday, 4/4/18, 11:59:59 PM 1. Introduction In this program, you will practice working with arrays. Your program will

More information

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm Assignment 2 Solutions This document contains solutions to assignment 2. It is also the Marking Rubric for Assignment 2 used by the TA as a guideline. The TA also uses his own judgment and discretion during

More information

Page. No. 1/15 CS201 Introduction to Programmming Solved Subjective Questions From spring 2010 Final Term Papers By vuzs Team

Page. No. 1/15 CS201 Introduction to Programmming Solved Subjective Questions From spring 2010 Final Term Papers By vuzs Team Page. No. 1/15 CS201 Introduction to Programmming Solved Subjective Questions From spring 2010 Final Term Papers By vuzs Team Question No: 1 ( Marks: 2 ) Write a declaration statement for an array of 10

More information

Assignment 4 - Vectors, Menus, & Creatures!

Assignment 4 - Vectors, Menus, & Creatures! Assignment 4 - Vectors, Menus, & Creatures! Due Wednesday July 20, 2011 by 11:59pm You may not work on assignments during your lab time. Submit all the deliverables to the Course Management System: https://courses.cs.sfu.ca/

More information

First Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19

First Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19 Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2008 7p-9p, Tuesday, February 19 Name: NetID: Lab Section (Day/Time): This is a closed book and closed

More information

Sudoku-4: Logical Structure

Sudoku-4: Logical Structure Sudoku-4: Logical Structure CSCI 4526 / 6626 Fall 2016 1 Goals To use an STL vector. To use an enumerated type. To learn about tightly coupled classes. To learn about circular dependencies. To use the

More information

Zimmer CSCI 230 Spring 2019 (192)

Zimmer CSCI 230 Spring 2019 (192) Zimmer CSCI 230 Spring 2019 (192) Summary Program Purpose This program processes an input file of players for a bug game. The program should sort the players by type into separate five files and maintain

More information

Chapter 2: Basic Elements of C++

Chapter 2: Basic Elements of C++ Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

More information

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

More information

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction Chapter 2: Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 1 Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers

More information

CSE 143: Computer Programming II Spring 2015 HW7: 20 Questions (due Thursday, May 28, :30pm)

CSE 143: Computer Programming II Spring 2015 HW7: 20 Questions (due Thursday, May 28, :30pm) CSE 143: Computer Programming II Spring 2015 HW7: 20 Questions (due Thursday, May 28, 2015 11:30pm) This program focuses on binary trees and recursion. Turn in the following files using the link on the

More information

CSE 143: Computer Programming II Summer 2015 HW6: 20 Questions (due Thursday, August 13, :30pm)

CSE 143: Computer Programming II Summer 2015 HW6: 20 Questions (due Thursday, August 13, :30pm) CSE 143: Computer Programming II Summer 2015 HW6: 20 Questions (due Thursday, August 13, 2015 11:30pm) This assignment focuses on binary trees and recursion. Turn in the following files using the link

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer May 4, 2013 OOPP / C++ Lecture 6... 1/34 Initialization: TestInit Disasters Failure: Symptoms, Causes, and Cures End of File and Error Handling

More information

Lab 8: Ordered Search Results

Lab 8: Ordered Search Results Lab 8: Ordered Search Results Due: April 16th at 11:59pm Overview The goal of this lab is to extend your web page index implementation using a priority queue to order the search results. Additionally,

More information

Assignment of Objects

Assignment of Objects Copying Objects 1 Assignment of Objects 2 Slides 1. Table of Contents 2. Assignment of Objects 3. Dynamic Content 4. Shallow Copying 5. Deep Copying 6. this Pointer 7. Improved Deep Copy 8. Passing an

More information

Assignment of Structs

Assignment of Structs Deep Copy 1 Assignment of Structs 2 Slides 1. Table of Contents 2. Assignment of Structs 3. Dynamic Content 4. Shallow Copying 5. Assignment Operator 6. Deep Assignment Copy 7. Assignment Problems 8. Assignment

More information

Quiz Start Time: 09:34 PM Time Left 82 sec(s)

Quiz Start Time: 09:34 PM Time Left 82 sec(s) Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

CS201 Latest Solved MCQs

CS201 Latest Solved MCQs Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

ComS 228 Exam 1. September 27, 2004

ComS 228 Exam 1. September 27, 2004 ComS 228 Exam 1 September 27, 2004 Name: University ID: Section: (10 percent penalty if incorrect) This is a one-hour, closed-book, closed-notes, closed-calculator exam. The exam consists of 9 pages (including

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section

More information

This sheet must be the cover page for every programming assignment. Total

This sheet must be the cover page for every programming assignment. Total This sheet must be the cover page for every programming assignment. Name Joe Student Assignment Title May the Greatest Integer Win (do not write below this line; for grader use only) Validity (up to 70%)

More information

Java Outline (Upto Exam 2)

Java Outline (Upto Exam 2) Java Outline (Upto Exam 2) Part 4 IF s (Branches) and Loops Chapter 12/13 (The if Statement) Hand in Program Assignment#1 (12 marks): Create a program called Ifs that will do the following: 1. Ask the

More information

CS31: Introduction to Computer Science I Spring 2011

CS31: Introduction to Computer Science I Spring 2011 Final Practice TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 1. Assume the following variable declarations: int foo = 0; int *ptr = &foo; Which of the following

More information

Objectives. In this chapter, you will:

Objectives. In this chapter, you will: Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates arithmetic expressions Learn about

More information

OOP- 5 Stacks Individual Assignment 35 Points

OOP- 5 Stacks Individual Assignment 35 Points OOP-5-Stacks-HW.docx CSCI 2320 Initials P a g e 1 If this lab is an Individual assignment, you must do all coded programs on your own. You may ask others for help on the language syntax, but you must organize

More information

Creating a String Data Type in C

Creating a String Data Type in C C Programming Creating a String Data Type in C For this assignment, you will use the struct mechanism in C to implement a data type that models a character string: struct _String { char data; dynamically-allocated

More information

Text. Text Actions. String Contains

Text. Text Actions. String Contains Text The Text Actions are intended to refine the texts acquired during other actions, for example, from web-elements, remove unnecessary blank spaces, check, if the text matches the defined content; and

More information

class Polynomial { public: Polynomial(const string& N = "no name", const vector<int>& C = vector<int>());... };

class Polynomial { public: Polynomial(const string& N = no name, const vector<int>& C = vector<int>());... }; Default Arguments 1 When declaring a C++ function, you may optionally specify a default value for function parameters by listing initializations for them in the declaration: class Polynomial { public:

More information

Soda Machine Laboratory

Soda Machine Laboratory Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine

More information

Binary Trees. For example: Jargon: General Binary Trees. root node. level: internal node. edge. leaf node. Data Structures & File Management

Binary Trees. For example: Jargon: General Binary Trees. root node. level: internal node. edge. leaf node. Data Structures & File Management Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from

More information

Binary Tree Node Relationships. Binary Trees. Quick Application: Expression Trees. Traversals

Binary Tree Node Relationships. Binary Trees. Quick Application: Expression Trees. Traversals Binary Trees 1 Binary Tree Node Relationships 2 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the

More information

l Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)

l Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive) Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between

More information

CS Spring 2018 Homework Assignment 3 Due: 23:59, May 7, 2018

CS Spring 2018 Homework Assignment 3 Due: 23:59, May 7, 2018 CS 201 - Spring 2018 Homework Assignment 3 Due: 23:59, May 7, 2018 In this homework, you will implement an academic conference system (ACS). A conference has a a list of tracks. A track represents a specific

More information

CSE 143: Computer Programming II Summer 2017 HW5: Anagrams (due Thursday, August 3, :30pm)

CSE 143: Computer Programming II Summer 2017 HW5: Anagrams (due Thursday, August 3, :30pm) CSE 143: Computer Programming II Summer 2017 HW5: Anagrams (due Thursday, August 3, 2017 11:30pm) This assignment focuses on recursive backtracking. Turn in the following files using the link on the course

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section

More information

CSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1

CSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1 CSE 143 Linked Lists [Chapter 4; Chapter 6, pp. 265-271] Linked Lists A linked list is a collection of dynamically allocated nodes Each node contains at least one member (field) that points to another

More information

Lab 2: ADT Design & Implementation

Lab 2: ADT Design & Implementation Lab 2: ADT Design & Implementation By Dr. Yingwu Zhu, Seattle University 1. Goals In this lab, you are required to use a dynamic array to design and implement an ADT SortedList that maintains a sorted

More information

As an example using arrays, let s write some code to get started with the Upthrust game. We can use a 2D array to represent the game board.

As an example using arrays, let s write some code to get started with the Upthrust game. We can use a 2D array to represent the game board. Array Example Upthrust Board As an example using arrays, let s write some code to get started with the Upthrust game. We can use a 2D array to represent the game board. First, note that the game board

More information

CMSC 202 Section 010x Spring Justin Martineau, Tuesday 11:30am

CMSC 202 Section 010x Spring Justin Martineau, Tuesday 11:30am CMSC 202 Section 010x Spring 2007 Computer Science II Final Exam Name: Username: Score Max Section: (check one) 0101 - Justin Martineau, Tuesday 11:30am 0102 - Sandeep Balijepalli, Thursday 11:30am 0103

More information

LAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS

LAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS LAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS Questions are based on the Main and Savitch review questions for chapter 5 in the Exam Preparation section of the webct course page. In case you haven t observed

More information

Makefiles Makefiles should begin with a comment section of the following form and with the following information filled in:

Makefiles Makefiles should begin with a comment section of the following form and with the following information filled in: CS 215 Fundamentals of Programming II C++ Programming Style Guideline Most of a programmer's efforts are aimed at the development of correct and efficient programs. But the readability of programs is also

More information

UNIVERSITY OF MASSACHUSETTS LOWELL Department of Electrical and Computer Engineering. Program 8 EECE.3220 Data Structures Fall 2017

UNIVERSITY OF MASSACHUSETTS LOWELL Department of Electrical and Computer Engineering. Program 8 EECE.3220 Data Structures Fall 2017 UNIVERSITY OF MASSACHUSETTS LOWELL Department of Electrical and Computer Engineering Program 8 EECE.3220 Data Structures Fall 2017 Binary Search Trees and Class Templates Word Counter Application The object

More information

struct _Rational { int64_t Top; // numerator int64_t Bottom; // denominator }; typedef struct _Rational Rational;

struct _Rational { int64_t Top; // numerator int64_t Bottom; // denominator }; typedef struct _Rational Rational; Creating a Data Type in C Rational Numbers For this assignment, you will use the struct mechanism in C to implement a data type that represents rational numbers. A set can be modeled using the C struct:

More information

Zimmer/Porter CSCI 130 Fall 2018 (191) PROGRAM 5

Zimmer/Porter CSCI 130 Fall 2018 (191) PROGRAM 5 PROGRAM 5 Sec 01 Sec 02 Design Due Date: Fri, Dec 7 by 10am Fri, Dec 7 by 4:00 NO LATE ITEMS Implementation Due Date: Fri, Dec 7 by 10am Fri, Dec 7 by 4:00 ACCEPTED You are to complete the following on

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer May 13, 2013 OOPP / C++ Lecture 7... 1/27 Construction and Destruction Allocation and Deallocation Move Semantics Template Classes Example:

More information

OOP- 4 Templates & Memory Management Print Only Pages 1-5 Individual Assignment Answers To Questions 10 Points - Program 15 Points

OOP- 4 Templates & Memory Management Print Only Pages 1-5 Individual Assignment Answers To Questions 10 Points - Program 15 Points OOP-4-Templates-Memory-Management-HW.docx CSCI 2320 Initials P a g e 1 If this lab is an Individual assignment, you must do all coded programs on your own. You may ask others for help on the language syntax,

More information

Programming, numerics and optimization

Programming, numerics and optimization Programming, numerics and optimization Lecture A-4: Object-oriented programming Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428

More information

Object oriented programming

Object oriented programming Exercises 12 Version 1.0, 9 May, 2017 Table of Contents 1. Virtual destructor and example problems...................................... 1 1.1. Virtual destructor.......................................................

More information

C++ Review. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

C++ Review. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University C++ Review CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Purpose of Review Review some basic C++ Familiarize us with

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer October 10, 2016 OOPP / C++ Lecture 7... 1/15 Construction and Destruction Kinds of Constructors Move Semantics OOPP / C++ Lecture 7... 2/15

More information

This examination has 11 pages. Check that you have a complete paper.

This examination has 11 pages. Check that you have a complete paper. MARKING KEY The University of British Columbia MARKING KEY Computer Science 252 2nd Midterm Exam 6:30 PM, Monday, November 8, 2004 Instructors: K. Booth & N. Hutchinson Time: 90 minutes Total marks: 90

More information

PRACTICE MIDTERM EXAM #2

PRACTICE MIDTERM EXAM #2 This practice exam is based on the actual midterm exam from Cynthia s Spring 2014 class. It did not include a classes problem (which you should expect this quarter), and the memory/pointers problem covered

More information

Lab Exercise 6: Abstract Classes and Interfaces CS 2334

Lab Exercise 6: Abstract Classes and Interfaces CS 2334 Lab Exercise 6: Abstract Classes and Interfaces CS 2334 September 29, 2016 Introduction In this lab, you will experiment with using inheritance in Java through the use of abstract classes and interfaces.

More information

CS 215 Fundamentals of Programming II Spring 2018 Project 5

CS 215 Fundamentals of Programming II Spring 2018 Project 5 CS 215 Fundamentals of Programming II Spring 2018 Project 5 30 points Out: March 23, 2018 Due: April 9, 2018 (Monday) As explained in Project 3, a line editor is a text editor that operates on lines of

More information

Assignment 2: Temperature Class

Assignment 2: Temperature Class Assigned: September 23, 2016 Due: October 03, 2016, 11:59:59pm Assignment 2: Temperature Class Purpose The purpose of this project is to provide you more practice with implementing classes. Here you will

More information

Midterm Exam. Sample Solutions

Midterm Exam. Sample Solutions Name: CS 410 Introduction to Software Engineering Fall 2016 Instructor: Marc Pomplun Midterm Exam Sample Solutions No books, no notes, and no calculators are allowed. Question 1: out of points Question

More information

CSE 143: Computer Programming II Summer 2017 HW4: Grammar (due Tuesday, July :30pm)

CSE 143: Computer Programming II Summer 2017 HW4: Grammar (due Tuesday, July :30pm) CSE 143: Computer Programming II Summer 2017 HW4: Grammar (due Tuesday, July 25 2017 11:30pm) This assignment focuses on recursive programming, regular expressions, and grammars. It will also give you

More information

C++_ MARKS 40 MIN

C++_ MARKS 40 MIN C++_16.9.2018 40 MARKS 40 MIN https://tinyurl.com/ya62ayzs 1) Declaration of a pointer more than once may cause A. Error B. Abort C. Trap D. Null 2Whice is not a correct variable type in C++? A. float

More information

Today in CS161. Lecture #12 Arrays. Learning about arrays. Examples. Graphical. Being able to store more than one item using a variable

Today in CS161. Lecture #12 Arrays. Learning about arrays. Examples. Graphical. Being able to store more than one item using a variable Today in CS161 Lecture #12 Arrays Learning about arrays Being able to store more than one item using a variable Examples Tic Tac Toe board as an array Graphical User interaction for the tic tac toe program

More information

Abstract Data Types (ADT) and C++ Classes

Abstract Data Types (ADT) and C++ Classes Abstract Data Types (ADT) and C++ Classes 1-15-2013 Abstract Data Types (ADT) & UML C++ Class definition & implementation constructors, accessors & modifiers overloading operators friend functions HW#1

More information

The Program Specification:

The Program Specification: Reading to Input Failure, Decisions, Functions This programming assignment uses many of the ideas presented in sections 3 through 8 of the course notes, so you are advised to read those notes carefully

More information

CS 170 Java Programming 1. Week 12: Creating Your Own Types

CS 170 Java Programming 1. Week 12: Creating Your Own Types CS 170 Java Programming 1 Week 12: Creating Your Own Types What s the Plan? Topic 1: A Little Review Work with loops to process arrays Write functions to process 2D Arrays in various ways Topic 2: Creating

More information

EE 355 PA4 A* Is Born

EE 355 PA4 A* Is Born EE 355 PA4 A* Is Born 1 Introduction In this programming assignment you will implement the game AI for a sliding tile game. You will use an A* search algorithm to suggest a sequence of moves to solve the

More information

Word and Excel Assignment Assessment

Word and Excel Assignment Assessment Word and Excel Assignment Assessment Weight This assignment is worth 2% of your final grade in APSC 100 Module 1. Submission Instructions This assignment is due by Thursday Sept. 6 at 9am. Instructions

More information

CS 115 Exam 3, Spring 2011

CS 115 Exam 3, Spring 2011 CS 115 Exam 3, Spring 2011 Your name: Rules You may use one handwritten 8.5 x 11 cheat sheet (front and back). This is the only resource you may consult during this exam. Explain/show work if you want

More information

CISC 2200 Data Structure Fall, C++ Review:3/3. 1 From last lecture:

CISC 2200 Data Structure Fall, C++ Review:3/3. 1 From last lecture: CISC 2200 Data Structure Fall, 2016 C++ Review:3/3 1 From last lecture: pointer type and pointer variable (stores memory addresses of a variable (of any type, local or global, automatic/static/dynamic)

More information

CS 61B, Spring 1996 Midterm #1 Professor M. Clancy

CS 61B, Spring 1996 Midterm #1 Professor M. Clancy CS 61B, Spring 1996 Midterm #1 Professor M. Clancy Problem 0 (1 point, 1 minute) Put your login name on each page. Also make sure you have provided the information requested on the first page. Problem

More information

CS Fall 2018 Homework Assignment 3 Due: 23:59, Dec 26, 2018

CS Fall 2018 Homework Assignment 3 Due: 23:59, Dec 26, 2018 CS 201 - Fall 2018 Homework Assignment 3 Due: 23:59, Dec 26, 2018 In this homework, you will implement a simple phonebook. A phonebook has a list of people. Each person has a name and a list of phone numbers.

More information

PRACTICE MIDTERM EXAM #1

PRACTICE MIDTERM EXAM #1 CS106B Spring 2016 PRACTICE MIDTERM EXAM #1 Instructor: Cynthia Lee Practice Exam NAME (LAST, FIRST): SUNET ID: @stanford.edu Problem 1 2 3 4 5 Strings Pointers, Topic Recursion Classes Big-O and ADTs

More information

Submit your answers to these questions to the Curator under Quizzes as HW08 by the posted due date and time. No late submissions will be accepted.

Submit your answers to these questions to the Curator under Quizzes as HW08 by the posted due date and time. No late submissions will be accepted. Instructions: For all questions, assume that any necessary header files have been included. Submit your answers to these questions to the Curator under Quizzes as HW08 by the posted due date and time.

More information

EE 352 Lab 3 The Search Is On

EE 352 Lab 3 The Search Is On EE 352 Lab 3 The Search Is On Introduction In this lab you will write a program to find a pathway through a maze using a simple (brute-force) recursive (depth-first) search algorithm. 2 What you will learn

More information

Assignment 1: SmartPointer

Assignment 1: SmartPointer CS106L Winter 2007-2008 Handout #19 Wednesday, February 27 Assignment 1: SmartPointer Due Monday, March 10, 11:59 PM Introduction Several lectures ago we discussed the auto_ptr class, an object that mimics

More information

Name: I. 20 II. 20 III. 20 IV. 40. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1. Instructions: 1. This is a closed-book, closed-notes exam.

Name: I. 20 II. 20 III. 20 IV. 40. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1. Instructions: 1. This is a closed-book, closed-notes exam. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1 Name: Score Max I. 20 II. 20 III. 20 IV. 40 Instructions: 1. This is a closed-book, closed-notes exam. 2. You have 75 minutes for the exam. 3. Calculators,

More information

You can delete the default blank background by clicking on its Delete button.

You can delete the default blank background by clicking on its Delete button. Quiz Project In this project, the application presents the user with an electronic quick made up of five questions. Before you start scripting, you need to have your questions ready. Create 5 trivia questions

More information

Graded Project. Microsoft Word 2016

Graded Project. Microsoft Word 2016 Microsoft Word 2016 PENN FOSTER, INC. 2016 INTRODUCTION CONTENTS OVERVIEW 2 INSTRUCTIONS 2 GRADING CRITERIA 9 SUBMITTING YOUR PROJECT 12 PAGE 1 GRADED PROJECT MICROSOFT WORD 2016 OVERVIEW This project

More information

Questions: ECE551 PRACTICE Final

Questions: ECE551 PRACTICE Final ECE551 PRACTICE Final This is a full length practice midterm exam. If you want to take it at exam pace, give yourself 175 minutes to take the entire test. Just like the real exam, each question has a point

More information

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26 Due before lecture on Wednesday, September 26 Getting Started Before starting this assignment, make sure that you have completed Problem Set 0, which can be found on the assignments page of the course

More information

Programming Project 1

Programming Project 1 Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may

More information

CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM Introduction to the Assignment In this lab, you will finish the program to allow a user to solve Sudoku puzzles.

More information

Exam duration: 3 hours Number of pages: 13 Number of points: 20

Exam duration: 3 hours Number of pages: 13 Number of points: 20 INFOMGEP 2012 Final exam Student name: Student number: Exam duration: 3 hours Number of pages: 13 Number of points: 20 All the answers have to be written in the corresponding boxes. It is allowed to have:

More information

XE Faculty Grade Entry AN ENHANCEMENT REVISED NOVEMBER 10, 2015

XE Faculty Grade Entry AN ENHANCEMENT REVISED NOVEMBER 10, 2015 XE Faculty Grade Entry AN ENHANCEMENT REVISED NOVEMBER 10, 2015 Objective of this training Go over the new steps to access and enter grades Show how to export the grade template using the wizard Show how

More information

CS 3114 Data Structures and Algorithms DRAFT Project 2: BST Generic

CS 3114 Data Structures and Algorithms DRAFT Project 2: BST Generic Binary Search Tree This assignment involves implementing a standard binary search tree as a Java generic. The primary purpose of the assignment is to ensure that you have experience with some of the issues

More information

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make

More information

Lab 4: On Lists and Light Sabers

Lab 4: On Lists and Light Sabers Lab 4: On Lists and Light Sabers Due: March 19th at 11:59pm Overview The goal of this lab is to familiarize yourself with the usage of Lists and their implementations, Array List and Linked. To do so,

More information

CSE 333 Midterm Exam 5/10/13

CSE 333 Midterm Exam 5/10/13 Name There are 5 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

Suppose we find the following function in a file: int Abc::xyz(int z) { return 2 * z + 1; }

Suppose we find the following function in a file: int Abc::xyz(int z) { return 2 * z + 1; } Multiple choice questions, 2 point each: 1. What output is produced by the following program? #include int f (int a, int &b) a = b + 1; b = 2 * b; return a + b; int main( ) int x=1, y=2, z=3;

More information

CSE 143: Computer Programming II Winter 2019 HW6: AnagramSolver (due Thursday, Feb 28, :30pm)

CSE 143: Computer Programming II Winter 2019 HW6: AnagramSolver (due Thursday, Feb 28, :30pm) CSE 143: Computer Programming II Winter 2019 HW6: AnagramSolver (due Thursday, Feb 28, 2019 11:30pm) This assignment focuses on recursive backtracking. Turn in the following files using the link on the

More information

2. List Implementations (a) Class Templates (b) Contiguous (c) Simply Linked (d) Simply Linked with Position Pointer (e) Doubly Linked

2. List Implementations (a) Class Templates (b) Contiguous (c) Simply Linked (d) Simply Linked with Position Pointer (e) Doubly Linked Chapter 6 LISTS AND STRINGS 1. List Specifications 2. List Implementations (a) Class Templates (b) Contiguous (c) Simply Linked (d) Simply Linked with Position Pointer (e) Doubly Linked 3. Strings 4. Application:

More information

CSCI-1200 Data Structures Spring 2018 Lecture 8 Templated Classes & Vector Implementation

CSCI-1200 Data Structures Spring 2018 Lecture 8 Templated Classes & Vector Implementation CSCI-1200 Data Structures Spring 2018 Lecture 8 Templated Classes & Vector Implementation Review from Lectures 7 Algorithm Analysis, Formal Definition of Order Notation Simple recursion, Visualization

More information

EECE.2160: ECE Application Programming

EECE.2160: ECE Application Programming Fall 2017 Programming Assignment #10: Doubly-Linked Lists Due Monday, 12/18/17, 11:59:59 PM (Extra credit ( 5 pts on final average), no late submissions or resubmissions) 1. Introduction This assignment

More information

Classes in C++98 and C++11

Classes in C++98 and C++11 Classes in C++98 and C++11 January 10, 2018 Brian A. Malloy Slide 1 of 38 1. When we refer to C++98, we are referring to C++98 and C++03, since they differ only slightly. C++98 contained 3 types of constructors,

More information

Exercise. Game Programming in C++ Overview. Art vs. Science in Programming. Organising your code. Organising your code

Exercise. Game Programming in C++ Overview. Art vs. Science in Programming. Organising your code. Organising your code Exercise Game Programming in C++ Arjan Egges Lecture #5: The art of programming Write a function that calculates the frequency of a given character in a string, e.g. for string arjan and character a, the

More information

ECE 244 Programming Fundamentals Fall Lab Assignment #5: Binary Search Trees

ECE 244 Programming Fundamentals Fall Lab Assignment #5: Binary Search Trees ECE 244 Programming Fundamentals Fall 2012 1. Objectives Lab Assignment #5: Binary Search Trees The objectives of this assignment are to provide you with more practice on the use of the various C++ concepts/constructs

More information

Programming. C++ Basics

Programming. C++ Basics Programming C++ Basics Introduction to C++ C is a programming language developed in the 1970s with the UNIX operating system C programs are efficient and portable across different hardware platforms C++

More information