Compare a variety of ADT implementations

Assignment Help JAVA Programming
Reference no: EM132394364

COMP1002 Data Structures and Algorithms Assignment, Semester 2, 2019, Department of Computing, Curtin University, Australia

1. Introduction

In practicals you have implemented and learned about a number of algorithms and ADTs and will be implementing more of these in the remaining practicals. In this assignment, you will be making use of this knowledge to implement a system to explore and compare a variety of ADT implementations. Feel free to re-use the generic ADTs from your practicals. However, remember to self-cite; if you submit work that you have already submitted for a previous assessment (in this unit or any other) you have to specifically state this. Do not use the Java implementations of ADTs - if in doubt, ask.

2. The Problem

This assignment requires the extension of your graph code to apply it to social network analysis. You will be simulating the spread of information (or disease) through a social network. In the network, at each time step, there will be a probability of "liking" a post, which will expose your followers to the information. Liking a post also gives a probability of "following" the original poster - making a direct connection to the original source. Sample input files are available.

Your program should be called SocialSim, and have three starting options:

  • No command line arguments : provides usage information
  • "-i" : interactive testing environment
  • "-s" : simulation mode (usage: SocialSim -s netfile eventfile prob_like prob_foll)

When the program starts in interactive mode, it should show the following main menu:

(1) Load network

(2) Set probabilities

(3) Node operations (find, insert, delete)

(4) Edge operations (like/follow - add, remove)

(5) New post

(6) Display network

(7) Display statistics

(8) Update (run a timestep)

(9) Save network

You can structure the menu/UI differently, just make sure at least those options are included.

When running in simulation mode, you will give the input files and probabilities on the command line, then output (append) the simulation state and statistics for each "timestep" to a file (unique filename per run).

In interactive mode you should be able to display the following statistics/information:

  • Posts in order of popularity
  • People in order of popularity
  • A person's record - #posts, #followers, #following etc.

Once you have a working program, you will investigate the behaviour of social networks, and the impact of their structure on their performance. This investigation will be written up as The Report.

Documentation and Report - You need to submit documentation in docx or pdf format.

Your Documentation will be minimum 2-4 pages (excluding UML and Javadocs) and should include the following:

  • An overview of your code, explaining any questions that the marker may have. This is supplemented by the comments in your code. In general, if the marker is looking at your code and isn't sure why you have done something in that particular way, they will check your documentation to see if they can find an explanation.
  • A UML Class diagram of your code.
  • A description of any classes you have, you need to let us know not only what the purpose of that class is but why you chose to create it. As part of this, also identify and justify any places where it was possibly useful to create a new class but you chose not to, especially when it comes to inheritance.
  • Justification of all major decisions made. In particular, when you choose an ADT, underlying data structure or an algorithm, you need to justify why you chose that one and not one of the alternatives. These decisions are going to be of extreme importance in this assignment.

The Report will follow the structure of a standard academic report or paper. It should be at least 4-6 pages long. Required sections are:

  • Abstract: Explain the purpose of the report and state what you are investigating, and the outcomes/recommendations.
  • Background: Discuss your approach to developing the simulation code, and the aspects of the simulation that you will be investigating.
  • Methodology: Describe how you have chosen to profile and compare multiple runs of the simulation, and why. You should give some prediction of the expected "performance" of the aspects of your code you are investigating - this includes time complexity and/or memory usage. Include the commands, input files, outputs - anything needed to reproduce your results.
  • Results: Present the results of your simulations, and what you discovered.
  • Conclusion and Future Work: Give your conclusions and what further investigations could follow. Do the actual results match your prediction?

Attachment:- Data Structures and Algorithms Assignment File.rar

Reference no: EM132394364

Questions Cloud

Study the phenomena of culture : How statistically can you study the phenomena of culture and decision-making and to identify how these dynamics affects the variations in how
Overseeing the management of probationary employees : Overseeing the management of probationary employees and providing them with feedback until their employment is confirmed or terminated is vital.
How could strategic staffing decisions strategies apply : How could two of these Strategic Staffing Decisions strategies listed below and apply them where you work? answer in 300 words. Acquire or Develop Talent.
Elements as part of job role : The line manager is responsible for a new recruit's induction, but they would not be expected to cover all the elements as part of their job role.
Compare a variety of ADT implementations : COMP1002 Data Structures and Algorithms Assignment Help and Solution, Semester 2, 2019, Curtin University, Australia. Compare a variety of ADT implementations
Role of cyber-security within homeland security enterprise : Examine role of cyber-security within the homeland security enterprise. Specifically address how cyber-security relates to our national critical infrastructure.
Compute the after-tax return on investment : Assuming additional inventory of $35,000 is required to support the additional sales compute the after-tax return on investment?
Analyze issues related to gender and communication : Critically analyze issues related to gender and communication. Describe how male and female leadership styles differ in the workplace.
Anyone can explain what is effective communication : Anyone can explain what is effective communication? Please list the three main types of communication skills.

Reviews

len2394364

10/30/2019 10:01:33 PM

Write in basic java no user defined class whatsoever. I am an undergraduate student and i need a basic code where everything works. You should submit a single file, which should be zipped (.zip) or tarred (.tar.gz).

Write a Review

JAVA Programming Questions & Answers

  Write portions of java class that models a very simple clock

You will be writing portions of a Java class that models a very simple clock. You will also be provided with two different "front ends" that use this same class as a plug-in - a simple program that loops through the time for a full hour of time.

  Write java program that prints asks the user to enter value

Write a Java program that prints asks the user to enter a positive value (1 less than or equal to 200) and print each number up to that line, 1 per line with the following changes (SNAP CRACKLE POP).

  How to get how to get the output

how to get the output of the java program.  Please explain in steps on how to get the output.

  Positive integer number

There is a homework to create a program that takes in a positive integer number from the user and searches for the number with the highest sum of divisors from the 1 to the user imputed number. The program then has to output the number in this range ..

  Describe the equivalence classes

Prove that these relations on the set of all functions from Z to Z are equivalence relations. Describe the equivalence classes.

  Creat a class that saves the grades

Creat a class that saves the grades of students in an array, and contains a few methods that do some statistics on these grades. Your task is to create this class, and create client testing class that does all the necessary tests of its methods.

  Define a new run-time exception named

Dictionary class to include exceptions so that when you run the class DictionaryTest, all tests pass. For example, the method put in the class Dictionary

  Java socket hello i need to this assignment done in net

hello i need to this assignment done in net beans . and i want comment in code .also screen shots of running program

  Calculation or a calendar of some activity.

1. Provide Java code for a simple class of your choice. Be sure to include at least one constructor, two methods and two fields. The fields should be private.Create a test class to construct and call the methods of your class. Describe your class and..

  Declares three arraylist objects referenced by the objects

Write a program called ThreeArrayLists.java that declares three ArrayList objects referenced by the objects named priceList, quantityList, and amountList

  Programming intern at the alumni relations office

Create a Student class representing student records. It will have three data members corresponding to the data contained in the student records file

  Implement methods insert and extract

The abstract class provides methods to add and remove a string from the front or back of the list. You will need to implement two additional methods: insert and extract.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd