To the faculty page of James Tam Return to the course web page

CPSC 231: Mini-Assignment 2c

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

New Concepts to be applied for the assignment

Only new concepts that need to be applied in the assignment are listed, concepts previously applied in other assignments may need to used in the implementation of your solution.

Functional assignment requirements (along with the report needed)

You must find the logic error in the starting program [mini_a2c_starting_program.py].

Current version:

Tasks needed:

  1. Add a debugging statement: at the very end of the 'changeMood' function after the user is given the option to change the mood that shows the mood. (Worth 0.4 GPA)

  2. Add a debugging statement: in the 'start' function that shows the mood immediately after the changeMood function has been called. (Worth 0.4 GPA)

  3. Add a debugging statement: anywhere in the 'showMood' function that shows current state of the mood. (Worth 0.4 GPA)

  4. Make the necessary modifications to the starting code so the mood is set to the proper state in the 'start' and 'showMood' functions. Your modifications should not change the main purpose of each function i.e. you can't implement an impropriate solution where the function for these three functions has been moved into a single function. (Worth 1.0 GPA - 0.5 for each change)

    • start() should call the other functions.

    • The change should allow the user's change to the mood to persist after the function ends.

    • The show() function only displays the state of the mood after the user option to change it i.e. it doesn't alter the mood.

  5. Write a brief report of the following (Worth 1.8 GPA):

  • what were the logic errors (Worth 0.7 GPA),

  • how they were fixed (Worth 0.7 GPA),

  • and how the debugging statements showed where the problems resided (Worth 0.4 GPA).

This report should take the form of header documentation (located at the very start of the program). Also you should update the authorship and version number of the starting program after you have modified it.

How to do determine 'how you did' on an assignment? (Short answer: you can thoroughly test your program and become familiar with non-functional requirements)

Program functionality (implementing working program features)

  • Test your program: Because the assignment description (along with required features) is posted ahead of time if you test your program thoroughly before submitting the final version then you should get a pretty clear idea of "how you will do".

Style and documentation (non-functional assignment requirements)

  • To keep the marker's workload reasonable and to reduce marking time unless otherwise specified in the description these things will not factor into the grading of mini-assignments.

Non -functional assignment requirements (style and documentation)

Although it won't affect your grade for mini-assignments you should still practice applying good style in your solution as well as writing documentation. It will keep your skills for the full assignments (when you will be graded on these things) and get you used to having good habits.

Marking and grading

Collaboration:

Assignments must reflect individual work; group work is not allowed in this class nor can you copy the work of others. Some "do nots" for your solution: don't publically post it, don't email it out, don't show it to other students; or even verbally discuss solutions to any graded work (i.e. you can't do this in an exam so you can't do this for assignments). And unless otherwise told you should not use program code for other sources (which include but aren't limited to: tutors, artificial intelligence programs such as ChatGPT). For more detailed information as to what constitutes academic misconduct (i.e., cheating) for this course please read the following [link].

Method of submission:

Reminder: You are to submit your assignment using D2L  Here's a UC-IT created [D2L help resource] . 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, it is the correct file 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). If don't check and there were problems with the submission then you should not expect that you can "learn your lesson" and simply resubmit Whatever you submitted into D2L by the final due date (and due time) is what will be marked.

D2L configuration for this course

Late submissions for full assignments  when there is no extension granted: Make sure you give yourself enough time to complete the submission process so you don't get cut off by D2L's deadline (or your submission will be automatically flagged as late by D2L and it will be graded appropriately)..

Submission received:

On time

Hours late : >0 and <=24

Hours late: >24 and <=48

Penalty:

None

-1 GPA

-No credit (not accepted)

General use of pre-created Python libraries:

Unless otherwise told you are to write the code yourself and not use any pre-created functions (or methods). For most assignments the usual acceptable functions include: print()input() and the 'conversion' functions such as int()float()str(). In addition you use functions or methods with text formatting capabilities such as 'format()' or the 'write()' method of the 'sys' library module. You can use any method that you wish (e.g. using format specifiers or the 'format' method) to set the precision for the output. Look at the particular assignment description for a list of other functions/methods that you are allowed to use and still get credit in an assignment submission. If it's not listed then you should assume that you won't be able use the function and still be awarded credit.