THE MANCHESTER METROPOLITAN UNIVERSITY
DEPARTMENT OF COMPUTING AND MATHEMATICS
ASSIGNMENT COVER SHEET
COURSE MODULE: CO409 Advanced Object Oriented Programming
LECTURER: Nick Whittaker
ASSIGNMENT NUMBER: 2
ASSIGNMENT TYPE: Individual
ISSUE DATE: 12 March 2001
HAND IN DATE AND TIME: 6 April 2001 by 15:00
All work, including late work, is to be submitted in accordance with the instructions
in the Faculty Student Handbook.
PENALTIES FOR LATE HAND IN OF WORK: See the Student Faculty
MITIGATING CIRCUMSTANCES: See the Faculty Student Handbook.
PROPORTION OF COURSEWORK MARKS AVAILABLE FOR THIS
? Ability to implement non-trivial java programs
? Ability to design and use core OOP concepts within a practical environment
? Understand and implement GUI design using the basic AWT in Java
? Implement internetworking protocols using Java’s facilities
Java Assignment 2 – GUI and Internetworking 1
Assessment 2 : Creating an email client in Java thDue : April 6, 2001, by 3pm to room E228
The purpose of this assignment is to create a GUI interface using awt components to an internet based
application in Java, using some common used internet protocols. You will research into some protocols,
and report on them. You will then implement a Java application or applet which demonstrates the
protocol in action. The Java code will demonstrate your ability to program in Java; your understanding
of the protocol; the ability to create graphical user applications using the AWT toolkit within Java.
The assignment is to be web-based. You will create your application to run from the web, or to be
downloadable as a free-standing application. All documentation is to be presented as a series of web
pages accessible from within MMU. You may choose to make it available on your own disk space at
MMU or on an external web site.
What to submit
You should submit a single web page reference to your tutor. This web page will contain all the details
and links of your assignment. Send an email with the link to your page to
N.Whittaker@mmu.ac.uk and M.McGarvey@doc.mmu.ac.uk (who will record submission
of this assignment) by the deadline. Please give
MSc. Advanced OO Programming (Assignment 2) – [your name]
As the subject line to this email (obviously substituting your real name for [your name])
You should submit (as part of your web page)
? Descriptions of the protocols you have investigated as outlined below
? The Java code itself, suitably commented
? A link to a running version of the code so it can be tested, or instructions on how to download
and run the application.
? Screen shots of the code in action, demonstrating all aspects of it working (Print Screen in
Win NT/9X, “import” under Linux)
? A discussion and critique of the aspects you have implemented, indicating the sections of code
that perform each task
What you have to do
Research into the SMTP protocol for sending email. Give a description of what the protocol is, and
where it is used. You should explain what the main commands used within the protocol are.
Implement an applet or application for a credit card verifier for a range of types of cards. Cards can be
credit or debit, each of which has their own format of user-number. NB This is not a full security
conscious credit card system, merely a vehicle to carry the concepts of GUI design and internetworking.
Both cards have the following details on them:
? Issuing Bank; Card Type; User Name; User-Number; Valid Date From; Valid Date To
? Debit Cards also have a Bank Sort Code, Issue Number and Card Number
Verification should be simple for example, checking that the number is 10 digits, dates are valid,
perhaps the card-number has to be (say) and odd number. Users should be able to fill in the fields
needed when prompted on an on-screen form, the form varying for each type of card. User details ,
Java Assignment 2 – GUI and Internetworking 2
amount date and time can then be transmitted to a verifying address. A good assignment would send an automatic confirmation back.
Create a class that will implement this SMTP protocol, written in Java. The applet should use this class to allow the user to enter details of the message text, the sender, the recipient, the subject line, and the smtp host as a minimum. The applet will then send the email to the recipient. Make good use of the awt and net packages available in the Java Development Kit.
Describe the potential problem of sending binary attachments to email, and how an email client deals with an attachment. What protocols/methods are available for handling attachments? Discuss, but do not implement, how you would amend your code to add this functionality to sending email.
Research into the POP3 protocol for receiving email. Give a brief description of what the protocol is, and where it is used. You should explain what the main commands used within the protocol are. Discuss, but do not implement, how you would amend your code to add the functionality to receive email.
Implement one of the aspects discussed in either Part 3 or Part 4, documenting in a similar way to your code in Part 2. You are only required to demonstrate that the implementation works, and need not incorporate it into the credit-card situation.
In all cases, you should clearly reference your work. Failure to correctly cite references could lead to failure of the assignment. Any web page references you submit must be checked to see they actually work, especially the reference to your assignment itself. The assessor cannot be expected to try to find your work.
You will need access to a mail server for smtp and pop3 protocols. You may use your own Internet Service Provider's server, or use the one available to your student account at MMU.
(40-49): The assignment discusses the SMTP protocol, and an attempt to implement the protocol in Java is given. Some aspects are working, and can be demonstrated. The GUI is implemented and can run, but may not link very well to the smtp class.
(50-59): As for a (40-49) mark, but a much more in-depth explanation of the protocol. GUI is designed better. Most aspects of the program for SMTP are working, and can be demonstrated. Some attempt made at Parts 3 and 4. A critique is made of the work.
(60-69): As for (50-59), but a fully functional program for SMTP, fully documented and working. GUI interface makes very good use of design and available Java classes. Good explanations made of Parts 3 and 4. A good critique made of own work.
(70-100): Parts 1-4 implemented fully, and demonstrated. Excellent critique of work. A working version of part 5 implemented and documented, to varying degrees.
Java Assignment 2 – GUI and Internetworking 3