Assignments are meant to provide meaningful, engaging experiences in constructing interfaces while giving you the opportunity to create applications you will want to share with others. However, the assignments in this course often require a significant amount of time. Do not underestimate the time it takes to code interactive applications!

There are four assignments, and each one is worth 20% (4 x 20% is 80% of your final grade).


All of the assignments require you to design and build an application that meets specific functional requirements. You are expected to use use your own computer (see setup). Specific assignment details are listed below.

# Topic Description Videos Weight Due Date
A1 Input & Interaction (Java) Rename Utility Starting A1 20% Fri June 4 @ 6:00 PM
A2 Graphics & Events(Java/JavaFX) TBD Starting A2 20% Fri June 25 @ 6:00 PM
A3 Widgets & Layouts (Java/JavaFX) TBD Starting A3 20% Fri July 16 @ 6:00 PM
A4 Mobile & Multitouch (Java/Android) TBD Starting A4 20% Wed Aug 4 @ 6:00 PM

Submission Policies

Specific submission policies are listed on each assignment. The following general policies apply to every assignment.

Using Your Git Repo for Submissions

To get a local copy of your Git repository:

  1. git clone assignments (replacing username with your WatID). This will produce a directory named `assignments` with empty subdirectories `A1` though `A4`.
  2. Your assignment should be created in the appropriate subdirectory.

To submit an assignment:

  1. Make sure that your required files are in the appropriate subdirectory, in the repository that you cloned above.
  2. git add all of your files.
  3. git commit to commit them to the repository.
  4. git push to send changes to the server.

Late Assignments

Assignments are due by the date and time listed above. Late submissions will not normally be accepted. If you do not submit by the deadline, you will receive a grade of 0% for the assignment, unless one of the following conditions are met:

Accommodations are almost always in the form of extra time to complete the work. We will not allow you to skip assignments or shift of the weight of the assignments.

Regarding these policies, we recognize that honest mistakes occur. If the TA can easily modify a build, correct an errant character in a source file, or comment out small portions of code so they can build or run your code, they will do so. If you made an error submitting to git, and you can provide substantial proof that you completed your solution on time, we may still accept it. However, in either case, marks will still be deduced based on factors such as the amount of extra effort required by the TA to rectify your mistake, amount of time past the deadline, etc.

Academic Integrity

Assignments are your own individual work:

MOSS (Measure of Software Similarities) is used in this course as a means of comparing students' assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.