代写辅导接单-CS9053 Java Final Project

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top

Introduction to Java

CS9053

Java Final Project

Proposals Due: April 1st, 2024 (flexible)

File Project Due: May 10th, 2024

 

NOTE: YOU CANNOT IMPLEMENT THE SNAKE GAME OR YAHTZEE. MINE SWEEPER MAY BE ALLOWED WITH SIGNIFICANT VARIATIONS

 

CANNOT BE A SIMPLE THREE-TIER CRUD (Create Read Update Delete) SYSTEM

 

Java Final Project

 

Welcome to the Java Final Project.

 

This will be a final project of your own design. Conceptually, you’ve learned all about Java syntax, data types and structures, and how inheritance and interfaces work. In this part of the course, you’re learning about GUIs, Threads, Networking, and Databases. There are other aspects of Java, like the REST API Servers for Java, and the Spring Framework which allow you to develop other powerful applications.

 

The deadline for the proposal is in April 1st and due on May 10thgiving you almost 6 weeks to complete it. But the intelligent thing to do is put together your proposal thoughts sooner rather than later so you have as much time as possible to dedicate to the final project. Also you will have assignments due, but you’ll still have plenty of time to concentrate entirely on the final project.

 

Requirements

 

The requirement of the final project is that you incorporate at least 3 “advanced concepts”, either from the lectures or from reading on your own, and apply them to your project. For example, an early project was to create a three-tiered data system from scratch:

 

 

This implementation had a UI, network communication between a client and a server, a server that was multi-threaded to receive and handle multiple connections at once, and a DB where results could be stored and retrieved. You need to do more than that, such as accounting for multi-user concurrency and transactional atomicity.

 

A few points:

 

Any UI development should be in Java. People have made previous requests about building a web-based UI in React and making a Java-based back end. With rare exceptions, I will not be allowing this anymore. I want you to concentrate on your Java skills so you can only use a Java-based UI. You are free to use any UI framework you want, but it has to be in Java.

 

You can use the Spring Framework, but it has to complement Java code, not replace it. Spring Boot is great for dependency injection and creating objects and handling settings. However, your database queries and network connections should ultimately be written in Java. I don’t want to put any kind of code-minimum on these projects, but if your project has 10 lines of Java code interfacing with a bunch of SpringBootconfiguration files, you’re doing it wrong.

 

Group Size: You may do this in a group of 2-3 people, but the more people, the larger the project needs to be. The following project examples are suitable for a single person. Group projects will have to double or triple the amount of work, and we will evaluate this based on what you put in your proposal (see below).

 

Other example projects:

 

Yahtzee (NOT ALLOWED TO BE SUBMITTED BUT YOU CAN LOOK AT THIS TO GET AN IDEA)

 

 

 

Yahtzee is a dice game. To implement this, you need to create a UI and graphics to depict the dice (and rolling of the dice). Other additional features can be a network server to save the game and/or maintain top scorers. Alternately you could write a multiplayer game where different players connect to a server and play the same game. This is primarily a UI-based game.

 

 

Graphics-based games: The Snake Game (NOT ACTUALLY ALLOWED BUT YOU MIGHT WANT TO LOOK AT THIS)

 

 

 

 

This is a graphics and animation-oriented game that has to take inputs from a keyboard or mouse to move a “snake” that eats apples or eggs and lengthens with each item it eats. The goal is for the snake to avoid eating itself even as it gets longer and longer. For more info and examples, see here.

 

Online Scheduling/Reservation System

 

Here you have a database that stores calendars and appointments, and the user accesses this scheduling data by connecting to a remote server. You should be able to make an appointment and reserve a time slot. If the time slot is reserved by someone else, it will be unavailable.

 

Data Visualization/Analysis

 

Download sample log data (such as someplace like https://datasetsearch.research.google.com/), such as HTTP to network traffic data and either in files or stored in a database. Have some kind of interface that allows you to select one of several different log files. The user will select one and then Java will do various forms of analytics, such as a traffic histogram or visualization of traffic destinations. This will require good facility with Java graphics as well as Java analytics. In addition, there should be some kind of remote load/save functions. See if you could multithread the analytic process.

 

Multithreaded Web Crawler

 

This would require you to learn a bit about Java’s URL and HTTP classes (see this Oracle tutorial and these explanations on StackOverflow). Then select a starting URL, download the initial page, and get all the http links and download all of those links, and repeat up to a given depth. Each of those links should be sent to a separate thread which does the download. Keep a log of the URLs and information about the data in those links (like how big they are, what the path to that link is, and so on). Create some kind of browsable index of all of the links and associated data.

 

 

Guide to finding ideas:

 

If you have research work you’re already working on, use Java to create an interface to it or solve other problems.

 

Browse the web for other projects or sources of data.

 

Leverage your research interests and see how you can use java to present them in a compelling way. See how you can take repetitious code and parallelize it using Java threads.

 

What you need to do:

First, come up with a proposal and give it to us. This should outline what you plan to do, what Java features it will use, and what your design will be. This is to make sure you’re doing good work and to give you a chance to talk with us about your project and to help put your thoughts together. It shouldn’t need to be more than 2 pages. This will be due November 1st.

 

The project is due May 10th. There are a lot of you and we need the time to grade your project to get your grades in on time.

 

51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468