Assignment title: Information
CRICOS Provider No. 00103D ITECH3217 Assig 1 Sem 1 2016 Page 1 of 4
ITECH6401 Enterprise Programming
Assignment 1 – Individual Assignment
Overview
This assignment requires you to analyse a problem and to design and implement a solution, which
the user interacts with, via a GUI. The tasks required of your program will require you to demonstrate
your understanding of the programming concepts covered in Weeks 1-4 of the course: setting the
foundations and a brief introduction to the course and to the Java programming language
Timelines and Expectations
Percentage Value of Task: 20%
Due: Fri, May 6, 2016 - 17:00 (Week 7)
Minimum time expectation: 10 hours
Learning Outcomes Assessed
K1. Describe elements of a common object oriented programming language suitable for web based
application development
S3. Develop applications involving complex component technology
A1. Design and implement technical solutions addressing connectivity between components
Assessment Details
One of the most important practical uses of prime numbers is in cryptography – if you have ever done
any online banking or purchased something online using a credit card then you will have relied
heavily on the use of prime numbers in keeping your transaction secure1.
One of the oldest means of extracting prime numbers is the Sieve of Eratosthenes and this what we
shall be using in this assignment.
You are required to write a Java application that finds all the prime numbers2 in a given range. We
shall only consider the domain of positive integers: 1,2,3,4 and so on. As this can be a long task,
design your program so that it uses threads.
1
Look at Adam Spencer's brief but engaging talk on prime numbers: https://www.youtube.com/watch?v=B4xOFsygwr4
2
A prime number is a number whose factors are only 1 and itself, for example, the number 7; remember, 1 is not
considered a prime number.
CRICOS Provider No. 00103D ITECH6401 Assig 1 Sem 2 2015-17 Page 2 of 4
A suggested approach is to generate an array which corresponds to your chosen range of numbers.
For example, if you were to consider the range of integers from 1 to 1000 then you would have an
array which corresponds to this. The array carries a flag which states whether the corresponding
number is prime or not.
For example:
1 2 3 4 5 6 7 8 9 10 11
False True True False True False False False False False True
So the element in the array corresponding to the number 2 states that it is a prime number and the
element corresponding to the number 4 states that it is not a prime number.
Begin by starting at the number 1 and when you find a prime test all elements that contain it as a
factor and set their label to "False". Thus starting from the number 1, when you proceed to the
number 2, start a thread which divides all the remaining numbers by 2 and which sets their label to
"False". In this example, this will set the numbers 4, 6, 8, and 10 to "False". Similarly for the following
primes.
When all the threads have finished running, print out only the numbers whose label corresponds to
"True".
Task 1
Develop an algorithm in pseudocode.
Task 2
Implement the algorithm in pseudocode Document the code by adding suitable comments and
briefly, but clearly, describe how the code works in your report. You might want to use pseudocode,
UML3, screenshots or even animations.
Task 3
Design a suitable GUI which the user interacts with to run the application and see results.
Explain the layout of your GUI and the reasons behind your design.
Implement & test the GUI.
List and explain any Exceptions that you implemented in your application code.
3
Enterprise Architect is available for this.
CRICOS Provider No. 00103D ITECH6401 Assig 1 Sem 2 2015-17 Page 3 of 4
Submission
Your assignment should be completed according to the General Guidelines for Presentation of
Academic Work.
The following criteria will be used when marking your assignment:
• successful completion of the required tasks
• quality of code that adheres to the programming standards for the course including:
• comments and documentation
• code layout
• meaningful variable names
• use of constants
You are required to provide documentation, contained in an appropriate file, which includes:
• a front page - indicating your name, a statement of what has been completed and
acknowledgement of the names of all people (including other students and people outside of
the university) who have assisted you and details on what parts of the assignment that they
have assisted you with
• details of test data and evidence that the testing was conducted
• list of references used (APA style); please specify if none have been used.
Using the link provided in Moodle, please upload the following in one zip file as directed by your
lecturer.
Feedback
Assessment marks will be made available in fdlMarks, feedback to individual students will be
provided via Moodle or as direct feedback during your tutorial class
Plagiarism:
Plagiarism is the presentation of the expressed thought or work of another person as though it is
one's own without properly acknowledging that person. You must not allow other students to copy
your work and must take care to safeguard against this happening. More information about the
plagiarism policy and procedure for the university can be found at:
http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism.
Your support material must be compiled from reliable sources such as the academic resources in
Federation University library which might include, but not limited to: the main library collection, library
databases and the BONUS+ collection as well as any reputable online resources (you should confirm
this with your tutor).
CRICOS Provider No. 00103D ITECH6401 Assig 1 Sem 2 2015-17 Page 4 of 4
Federation University General Guide to Referencing:
The University has published a style guide to help students correctly reference and cite information
they use in assignments. A copy of the University's citation guides can be found on the university's
web site. It is imperative that students cite all sources of information. The General Guide to
Referencing can be purchased from the University bookshop or accessed online at:
http://federation.edu.au/library/resources/referencing
Marking Criteria/Rubric
Student ID: _______________________ Student name: ________________________________
Tasks Marks
Allocated
Describe how the code works in your report. You might want to use pseudocode,
UML4 and screenshots.
Demonstration of correct working of code.
Demonstration of the correct use of multithreading.
List and explain all the Exceptions that you implemented in your application.
Reporting & Presentation5.
Explain the layout of your GUI and the reasons behind your design.
Demonstration of correct working of GUI
Suggest any improvements that might be made in a later version
10
10
20
10
10
10
10
10
10
Total /100
/20
4
Enterprise Architect is available for this.
5
http://federation.edu.au/current-students/learning-and-study/online-help-with/study-skills-and-writing-guides