Computer Science I for majors by James Tam Return to the course web page

CPSC 231: Mini-Assignment 5

Due at 4 PM. For assignment due dates see the main schedule on the course webpage.

New Concepts to be applied for the assignment

Part I Description:

Modify the existing code in the program 'button_events.py' program to draw the graphic of a rectangle that appears in a new Window when the button is pressed. You need to add a rectangle to the popup window with the following properties:

Part II Description:

Your program must consist of two classes (as described below). Aside from the 'start()' function you are not to define any other functions for this assignment.  If you do implement other functions or methods then you will receive few, if any, marks for features listed below. Make sure you use the same method names specified. Also to make it easier to mark ensure that your method carries out the prescribed tasks exactly as specified (so the the person knows precisely what results should come out at what times).

Details

  • Defines a class 'Adventurer' which MUST be in it's own module file (otherwise no marks for the features below)
 
  • Attributes: name (String), and health (int) (0.4 GPA)
 
  • Methods:
     
  • A no argument constructor that sets the name and health attributes to the following default starting values ("nameless" for the name and -1 for the health (0.4 GPA)
  • A 'gainLevel()' method that displays a message onscreen ("Congratulations!") and increases health by 5. (0.4 GPA)
     
  • Defines a 'start()' function which MUST be a separate module (otherwise no marks for the features below) which will contain the following instructions
 
  • Declares a reference to an Adventurer and calls the default constructor (0.2 GPA)
  • Displays the health and name of the adventurer, the default values appear (0.4 GPA)
  • Sets the name of the adventurer to 'Balin' (0.2 GPA)
  • Calls the 'gainLevel()' method of the adventurer (0.2 GPA)
  • Displays the health and name of the adventurer, the new values should appear 'Balin' and and a non-default value for the health (increased by 5 over the default) (0.4 mark)

D2L configuration:

Marking

Points to keep in mind:

  1. Due time: All assignments are due at 4 PM on the due dates listed on the course web page.  Late assignments or components of assignments will not be accepted for marking without approval for an extension beforehand. Alternate submission mechanisms (non exhaustive list of examples: email, uploads to cloud-based systems such as Google drive, time-stamps, TA memories) cannot be used as alternatives if you have forgotten to submit work or otherwise have not properly submitted into D2L. Only files submitted into D2L by the due date is what will be marked, everything else will be awarded no credit.
  2. Extensions may be granted for reasonable cases by the course instructor with the receipt of the appropriate documentation (e.g., a doctor's note). Typical examples of reasonable cases for an extension include: illness or a death in the family. Example cases where extensions will not be granted include situations that are typical of student life: having multiple due dates, work commitments etc. Tutorial instructors (TA's) will not be able to provide extension on their own and must receive permission from the course instructor first.
  3. Method of submission: You are to submit your assignment using D2L [help link]. Make sure that you [check the contents of your submitted files] (e.g., is the file okay or was it corrupted, is it the correct version etc.). It's your responsibility to do this! (Make sure that you submit your assignment with enough time before it comes due for you to do a check).
  4. Identifying information: All assignments should include contact information (full name, student ID number and tutorial section) at the very top of your program in the class where the 'main()' method resides (starting execution point). (Note other documentation is also required for most assignments). Not necessary graded for mini-assignments but still a good idea to do this.
  5. Collaboration: Assignments must reflect individual work; group work is not allowed in this class nor can you copy the work of others.  For more detailed information as to what constitutes academic misconduct (i.e., cheating) for this course please read the following [link].
  6. Execution: programs must run on the computer science network running Python 3.x. If you write you code in the lab and work remotely using a remote login program such as Putty or SSH then you should be okay (assuming you don't login to a non-Linux computer). If you choose to install Python on your own computer then it is your responsibility to ensure that your program will run properly here. If it's not running in the lab computers using Python 3.x then it won't be awarded credit. It's not recommended that you use an IDE for writing your programs but if you use one then make sure that you submit your program in the form of text ".py" file or files.
  7. Use of pre-created Python libraries: unless otherwise told you are to write the code yourself and not use any pre-created functions. For this assignment the usual acceptable functions include: print(), input() and the 'conversion' functions such as int(), float(), str(). Look at the particular assignment description for a list of other classes that you are allowed to use and still get credit in an assignment submission.