CPSC 217: Mini-Assignment 4a
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.
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 requirements
To get
credit for this assignment you must use the starting
code in the program '6creatingARandomList_listParameterAndReturn'
(covered in tutorial the week of May 30- June 5). Augment the starting program
by adding two additional functions (you will awarded no credit if you don't
define and use the functions as specified).
-
getFindAndReplaceCharacters(): prompts the user
to enter two characters 'findChar'
,'replaceChar'
(strings of length one) and returns them back to the caller which is the
start() function.
You can assume that the user entered strings of the correct length so your
program doesn't need to verify. (Worth
1.0 GPA)
-
findAndReplace():
Takes the two characters entered by the user and traverses the list and
replaces all instances of the "find character" with the "replacement
character" in the list called 'aList'.(Worth
3.0 GPA) To get credit for this feature the
program must call the display()
function before calling this function as well as immediately afterward so
the marker can quickly verify that your program is correct. [Example output
showing the display of the list before and after the replacement].
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.
-
What to submit: In a typical semester submitted
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. Remote learning version: If it won't run using Python 3.x on any
computer then it won't be awarded credit. It's up to you if you wish use
the graphical program builder IDLE (or another development environment
rather than a simple text editor) to write/run your programs but if you do
you submit your program in the form of text ".py"
file or files.
-
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. The final cut
off date for mini-assignments is the due date because no late submissions
are allowed for these smaller programs.
-
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. If
you request an extension from me let me know the name of your tutorial
instructor and the tutorial number because the markers won't accept
late submissions without directly getting an email from me.
-
How you will be graded for full assignments.
The grading for most mini-assignments is usually quite simple and the
information about mark breakdown is often included right in the assignment
description. You can see in the D2L Dropbox you can not only see your grade
point but also any feedback that your TA will entered (not always needed for
simple assignments or if full marks were awarded).
-
Questions about
grading afterward: Assignments will be marked by your tutorial
instructor (the "Teaching Assistant" or "TA") for your tutorial
section. When you have questions about marking this is the first person
that you should be directing your questions towards. If you still have
question after you have talked to your TA, then you can talk to your course
(lecture) instructor but please indicate in your email that you first
contacted your TA.
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). 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.
-
Multiple submissions are allowed for this assignment (all versions are kept
in D2L): You can (and really should) submit work as many times as you wish
before the due date. However
only the latest version of all the files is what will be marked, everything
else will be ignored (because it is not fair to your marker to sort through
multiple versions of your files).
-
Do
not use compression utilities (such as zip) or archiving utilities (such as
tar) otherwise your submission may not be marked. The space savings in D2L
is not worth the extra time required by the marker to process each
submission.
-
Please make sure you submitted it properly before the deadline (the onus is
on you to do this).
-
If you don't do this:
-
Don't try to email to the marker or myself after the deadline because
bypassing requirements like this won't allow you to be awarded credit.
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.
For more detailed information as to what constitutes academic misconduct (i.e.,
cheating) for this course please read the following [link].
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().
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.