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