CPSC 217: Mini-Assignment 3B

Due at 4 PM. For assignment due dates see the main schedule on the course webpage. The program must be written and run under python version 3.X. Submit the assignment as a python program (.py)

New Concepts to be applied for the assignment

Functional assignment requirements

Write a program that consists of 4 functions, unlike the previous mini-assignment there is no starting program - you will write all the code for this program yourself. Similar to the previous program knowing your terminology is essential before starting this assignment.

1) start(): the starting execution point of the program. All instructions not defined in the other functions (save for the initial call to start) must be contained in the body of this function. (Worth 1 GPA)

2) getInput(): the first function called by start(). It prompts and gets from the user a number (which can include a rational component). This number is then returned back to the caller (the start function). (Worth 1 GPA)

3) double(): the second function called by start(). Its input/parameter is the number returned by getInput() and it returns the doubled number back to start(). (Worth 1 GPA)

3) display(): the third function called by start(). Its input/parameter is the number returned by double() and displays that number to the console (text-based output) with two places of precision. (Worth 1 GPA)

Summary of functions to define:

Function name Inputs/parameters Return values Responsibility of the function
getInput() None Float (numeric assumed) Prompt for and get the user to enter a number, return that number back to the caller of the function
double() Float (numeric assumed) Float (numeric assumed) Take a number as a parameter, return the double of that number
display() Float (numeric assumed) None Take a number as a parameter, display the number to the console (text-output) with 2 places of precision
start() None None Starting execution point of the program, contains the calls to the other 3 functions
 

Non -functional assignment requirements (style and documentation).

You should still practice applying good style in your solution as well as writing documentation. Unlike the full assignments you will be just graded on program functionality for the mini-assignments.

Submitting your work:

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. 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).
  3. 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).
  4. 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].
  5. 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 won't run using Python 3.x then it won't be awarded credit. It's up to you if you wish use the graphical program builder IDLE to write/run your programs but if you do you submit your program in the form of text ".py" file or files.
  6. 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.
  7. Extensions may be granted for reasonable cases by the course instructor with the receipt of the appropriate documentation (e.g., a sworn declaration with a commissioner of oaths). 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 (TAs) will not be able to provide extension on their own and must receive permission from the course instructor first.
  8. Questions about marking: Your Teaching Assistants will be marking the assignments so I will first direct your questions to them regarding the marking

  9. Late submissions (no extension granted):

    Submission received:

    On time

    Hours late : >0 and <=24

    Hours late: >24 and <=48

    Hours late: >48 and <=72

    Hours late: >72 and <=96

    Hours late: >96

    Penalty:

    None

    -1 GPA

    -2 GPA

    -3 GPA

    -4 GPA

    No