IT7374 Programming III
Assignment 2 (Trimester 1 2018) Page 1 of 4
Assessment Guidelines
You are required to submit an electronic copy of your source code and
compiled bytecodes.
Create a project folder called IT7374_Assignment2_yourStudentID where you
will place all your files. Remember to zip this folder before submitting it to
Assignment 2 submission box in the IT7374 Moodle course page.
Submit your work on or before the due date. The submission box will be
closed and will no longer be accessible after the deadline.
Late Work Extension
Handing in the work after the due date without extension is considered late.
Students will be advised of any penalties to be imposed for late submission.
Lecturers reserve the right not to mark work that is handed in late.
Students are encouraged to manage their schedules in order to meet
deadlines. Under exceptional circumstances (e.g. bereavement, illness,
accident) students may be granted an extension of the due date of
Assignment 2.
Extensions are not granted automatically. A request for extension must be
made at least 24 hours before the deadline of Assignment 2. If a student
applies for an extension, a relevant evidence (e.g. medical certificate) must be
presented.
Pass Requirements
Students must attempt all Assignments and Exam.
Students must obtain at least 40% in the examination and a final mark
average of 50%.
Summary of Tasks for Assignment 2
For this assignment, you are required to show your competency in applying the
advanced features of Core Java and J2EE such as:
Building and implementing a distributed application in Java
Designing a multi-tiered application that uses distributed technologies OR
Developing an application using the current trends in development (i.e.,
Android).
School of Information Technology
Bachelor of Information Technology
IT7374 – Programming III
Assignment 2
IT7374 Programming III
Assignment 2 (Trimester 1 2018) Page 2 of 4
Assignment Options
Choose only 1 from the following options.
Option A. Distributed Application in Java
For this assignment, you are required to design and implement a small Java distributed
system. Below are some possible project that you can work on.
a) Online examination system
b) A reservation system (e.g., bus, restaurant, airline)
c) Online Auction System
d) Distributed game
Proceed as follows:
1. Design and code the problem-domain classes in Java.
2. Design and code the user interface in Java.
3. Add persistence and/or distributed capabilities to the system. Possibilities
include:
a. Storing data using a database
b. Storing data as XML
c. Using network sockets, Spaces, RMI, Servlets, or any other
distributed/enterprise Java technology to provide distributed capabilities
4. Integrate the user-interface and problem domain components with the
distributed and/or persistence mechanisms selected and test the application.
Option B. Android Application
This option allows you to develop an Android app. The app could be anything that you
want. Please note that you must discuss this with me first before proceeding with your
design and implementation.
Option C. Build Anything
If none of the above suggestions interests you, you can also build any Java application
that you wish to make. However, you will have to discuss this with me first before you
start your design and implementation.
Compile all your files and documents in
yourStudentID_Assignment2_IT7374 folder.
Assignment 2 Requirements
IT7374 Programming III
Assignment 2 (Trimester 1 2018) Page 3 of 4
Below is your checklist to be completed before submitting Assignment 2.
Option A Distributed Application in Java Completed
Evidence of your design
• A short requirement specification
• Class diagram
• Testing result
Evidence of a working application (i.e., screenshot when you
execute your application)
All source code and documents are placed in one folder
yourStudentID_Assignment2_IT7374
The yourStudentID_Assignment2_IT7374 folder is
zipped and submitted in the Assignment 2 Submission box in
Moodle course page
Option B Android Application
Evidence of your design
• A short requirement specification
• Class diagram
• Testing result
Evidence of a working application (i.e., screenshot when you
execute your application)
All source code and documents are placed in one folder
yourStudentID_Assignment2_IT7374
The yourStudentID_Assignment2_IT7374 folder is
zipped and submitted in the Assignment 2 Submission box in
Moodle course page
Option C Build Anything
Proposal that outlines your project plan
Evidence of your design
• A short requirement specification
• Class diagram
• Testing result
Evidence of a working application (i.e., screenshot when you
execute your application)
All source codes and documents are placed in one folder
yourStudentID_Assignment2_IT7374
The yourStudentID_Assignment2_IT7374 folder is
zipped and submitted in the Assignment 2 Submission box in
Moodle course page
IT7374 Programming III
Assignment 2 (Trimester 1 2018) Page 4 of 4
IT7374 – Programming III
Assignment 2 Marking Scheme
Marking Criteria Marks
Clear implementation of distributed design 10
Elegant implementation of Java code 10
Use of the following Core and Advanced Java concepts:
• Garbage Collection, RTTI, and Reflection
• File I/O
• Object Serialization
• Cloning
• XML
• Threads
• Socket Programming
• Remote Method Invocation (RMI)
• Database Programming
• Shared Memory Models
• Enterprise Java Beans Internationalization
• Java Security
• Android Applications
60
Documentation
• Project description requirement specifications
• Class Diagram
• Testing result/summary
• Evidence of a working program