CPSC 233: Mini-Assignment 5
Due at 4 PM. For
assignment due dates see the main
grid on the course webpage.
New Concepts to be applied for the assignment
-
Implementing a simple graphical user interface with
common GUI controls (JButton,
JFrame) and event
handlers (ActionListener).1
1 Source material: Introduction to Graphical User
Interfaces Part 1 and perhaps the tutorial material from the week of March 28 -
April 3.
Addendum to the video lecture:
Default
behaviour when closing a java
JFrame.
Description
Everyone starts with a grade point of zero for this
assignment. Implementing each of the features below completely and correctly
will award you 1.0 grade points (i.e. implementing all four features will result
in a grade point of 4.0 being awarded).
- When the program runs it will create a
JFrame containing a
JButton the latter
with some default text (Figure 1):
Worth 1 grade point
- When the button is pressed two things will happen:
- The text of the button changes to a
non-default value (Figure 2):
Worth 1 grade point
- Another JFrame
window appears that contains the same non-default text contained in the
button (Figure 3):
Worth 1 grade point
- The close behaviour for both (no credit if you
change one but not the other) JFrames
(triggered when the close window control is clicked: Figure 4) is changed
from just 'hiding' the window to the 'disposal' of the control:
Worth 1 grade point

Figure 1: Program
initially run, JFrame
contains a JButton
with default text

Figure 2: Button
pressed: the text of the button changes to a non-default value

Figure 3: Button
pressed: a new JFrame
popup (containing the same non-default text from the button) appears for each
press

Figure 4:
Clicking on the close window control (top right
of the
JFrame) will 'dispose'
of the control (rather than default 'hide'
behaviour)
Marking:
-
If you have questions about your marking then the
first person to talk to is your marker and that will be the person who
teaches the tutorial in which you are officially registered. [Tutorial
information] If you still have questions after this first step then feel
free to contact your course instructor, just let me know that you talked to
your TA first. Please do not come to the course instructor without taking
the time to consult your TA first.
-
Generally mini-assignments are so
simple that additional marking feedback is often unneeded. In the cases
where feedback is included for this type of assignment look for it in the
D2L Dropbox under the appropriate assignment.
Important points to keep in mind:
- 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.
- 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.
You should mitigate the occurrence of technical problems by submitting
your work early and often and early in D2L as well as performing regular
backups. Do not expect to get an extension if something like this has
occurred. 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.
- 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).
- What to submit: Java
programs should be submitted in the form of .java source
code. Do not submit .class files.
- 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 of the full assignments).
- Collaboration: Assignments must reflect individual work; group work is not allowed in
this class nor can you copy the work of others. Students should not see
each other's graded programs (don't post it, don't email it out, don't
show it in a screen share). For more detailed information as to what
constitutes academic misconduct (i.e., cheating) for this course please
read the following [link].
- Execution: programs must run on the computer science network (if applicable
during that particular semester) running the latest version of Java (this
is what applies for the distance learning version of the course). If there
libraries or classes external to what's included in Java then you must
include clear and complete instructions for your marker as to exactly what
needs to be done to compile and run your submission otherwise you may be
awarded no credit. Also you should be wary of using external
libraries rather than writing the code yourself because you may
not be awarded credit for particular features if you didn't write the code
yourself. 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 Java on your own computer then it is your responsibility to ensure
that your program will run properly here. It's up to you if you wish
use the graphical program builder to write/run your programs but if you do
you submit your program in the form of text ".java" file or files.
- Use of pre-created libraries: unless otherwise told you are to write the code
yourself and not use any pre-created classes. For this assignment the
usual acceptable functions include code in the Scanner class and methods for displaying output such
as: printf(), print(), println().
- Late
submissions will not be accepted for
mini-assignments. Make sure you give yourself enough time to complete the
submission process so you don't get cut off by D2L's deadline (when you
get a zero).
Submitting your work:
- What to submit
-
The
document must be electronically submitted using D2L
-
It's recommended that you submit your work early and often to avoid problems
such as forgetting the due date or problems with your computer (hardware
failures, malicious programs etc.)Reminder: you will not be granted special considerations such
as extensions in these cases!
-
D2L configuration for this course:
-
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. Due dates are strict, only what is in D2L by the
deadline is what will be marked. Other methods of verifying that your work was completed
on time (e.g. checking timestamps, emailed files etc.) will NOT be
accepted. 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.
-
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 your submit your assignment with enough time
before it comes due for you to do a check).