OOP Project 2014-2015: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
 
(Nu s-a afișat o versiune intermediară efectuată de același utilizator)
Linia 11: Linia 11:
* the server MUST be multi-threaded so it can serve multiple clients at the same time.
* the server MUST be multi-threaded so it can serve multiple clients at the same time.


=== Miscellaneous ===
== Miscellaneous ==


* using an external library is allowed, as long as its behavior is understood and the API thoroughly analyzed;
* using an external library is allowed, as long as its behavior is understood and the API thoroughly analyzed;
Linia 20: Linia 20:
* the possibility to redirect the input stream from the client to the application running on the server;
* the possibility to redirect the input stream from the client to the application running on the server;


== Modalitate de evaluare ==
== Evaluation ==


* Acest proiect valorează 40 de puncte din nota totală la POO. Se cer minim 20 de puncte din 40 pentru promovarea laboratorului și implicit pentru intrarea în examen.
* This project is worth 40 points from the total of 100 points for the OOP course. You are required to obtain 20 of those in order to pass the laboratory and be allowed to take the exam.
* Proiectul va fi prezentat public de către autor și va fi evaluat, acordându-se o notă între 0 și 40.
* The project will be publicly presented by the author and evaluated, and it will be awarded a grade between 0 and 40.
* Autorului i se vor pune 5 întrebări exclusiv din codul scris în cadrul proiectului. Orice întrebare la care se răspunde greșit, sau nu se răspunde, va fi penalizată cu 5 puncte. Rezultatul este că examenul se poate pica și cu un proiect de 40 de puncte.
* The author will be asked 5 questions, exclusively from the code written for the project. Any question answered incorrectly or not answered will deduct 5 points from the author's grade. The result is that the exam can be failed even with a perfectly implemented project.

Versiunea curentă din 21 iulie 2015 15:50

Description

In today's technology, a great deal of effort is put in the development of distributed systems, where a client runs a program or a section of a program on an external server and receives a reply. The advantage is that the server can execute the program faster since it has a larger power and energy budget than a mobile terminal (phone or tablet). The purpose of this project is the development of an application that can transfer, compile and execute a Java class on a remote server.

Requirements

Develop a client-server application with the following specifications:

  • the client MUST contain a graphical user interface (GUI), enabling the user to write a Java program / class (ex: JTextArea).
  • the client MUST transfer the source file to the server, through a TCP socket;
  • the server MUST compile then execute the Java class, returning the results (error message if the compilation of the class failed, exceptions thrown and/ or the strings displayed on the standard output stream and the standard error stream);
  • the server MUST be multi-threaded so it can serve multiple clients at the same time.

Miscellaneous

You may receive a bonus for the following:

  • the edit window has a code highlight feature, meaning that the Java keywords and displayed in bold or with a different color;
  • the possibility to redirect the input stream from the client to the application running on the server;

Evaluation

  • This project is worth 40 points from the total of 100 points for the OOP course. You are required to obtain 20 of those in order to pass the laboratory and be allowed to take the exam.
  • The project will be publicly presented by the author and evaluated, and it will be awarded a grade between 0 and 40.
  • The author will be asked 5 questions, exclusively from the code written for the project. Any question answered incorrectly or not answered will deduct 5 points from the author's grade. The result is that the exam can be failed even with a perfectly implemented project.