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

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

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